From gerrit-no-reply at lists.osmocom.org Thu Jul 1 00:03:57 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 1 Jul 2021 00:03:57 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: implement BCCH carrier power reduction mode In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/24776 to look at the new patch set (#7). Change subject: osmo-bts-trx: implement BCCH carrier power reduction mode ...................................................................... osmo-bts-trx: implement BCCH carrier power reduction mode The BCCH carrier (sometimes called C0) of a BTS shall maintain discontinuous Downlink transmission at full power in order to stay 'visible' to the mobile stations. Because of that, early versions of 3GPP TS 45.008 prohibited BS power reduction on C0. However, in the recent 3GPP TS 45.008 there is a feature called 'BCCH carrier power reduction operation'. This is a special mode of operation, where the variation of RF level for some timeslots is relaxed for the purpose of energy saving. In BCCH carrier power reduction operation, for timeslots on the C0 carrier, except timeslots carrying BCCH/CCCH, the output power may be lower than the output power used for timeslots carrying BCCH/CCCH. In this case the maximum allowed difference in output power actually transmitted by the BTS is 6 dB. The power reduction operation can be controlled by the BSC by sending BS POWER CONTROL on the A-bis/RSL with the Channel Number IE set to 0x80 (RSL_CHAN_BCCH). This makes osmo-bts reduce the transmission power on inactive timeslots of the BCCH carrier. This is a non-standard, Osmocom specific extension, so indicate support of this feature to the BSC in the feature vector. Also add a VTY command to allow enabling/disabling the power reduction locally. Add some signalling notes to the A-bis/RSL manual. For more details, see 3GPP TS 45.008, section 7.1. Change-Id: I3dcee6e910ccc61c5c63c728db9ea04327e2fc98 Depends: I69283b3f35988fc7a1a1dcf1a1ad3b67f08ec716 Related: SYS#4919 --- M doc/manuals/abis/rsl.adoc M include/osmo-bts/bts.h M include/osmo-bts/gsm_data.h M src/common/bts.c M src/common/rsl.c M src/common/scheduler.c M src/common/vty.c M src/osmo-bts-trx/main.c M src/osmo-bts-trx/scheduler_trx.c 9 files changed, 148 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/76/24776/7 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24776 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3dcee6e910ccc61c5c63c728db9ea04327e2fc98 Gerrit-Change-Number: 24776 Gerrit-PatchSet: 7 Gerrit-Owner: fixeria 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 Jul 1 00:03:59 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 1 Jul 2021 00:03:59 +0000 Subject: Change in osmo-bts[master]: power_control: constrain BS power reduction on BCCH carrier References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24815 ) Change subject: power_control: constrain BS power reduction on BCCH carrier ...................................................................... power_control: constrain BS power reduction on BCCH carrier BS Power Control is not allowed on the BCCH/CCCH carrier, unless the BTS is operating in the BCCH carrier power reduction mode. Allow constrained BS power reduction (up to 6 dB) on active logical channels iff BCCH carrier power reduction mode is enabled. Change-Id: I3299b6cdd230d3767321c3d6c64d468b7f5e1d02 Related: SYS#4919, SYS#4918 --- M src/common/rsl.c 1 file changed, 16 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/15/24815/1 diff --git a/src/common/rsl.c b/src/common/rsl.c index 5407904..010b9d3 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -1586,8 +1586,16 @@ return rsl_tx_chan_act_nack(lchan, RSL_ERR_SERV_OPT_UNIMPL); } - lchan->bs_power_ctrl.max = BS_POWER2DB(*TLVP_VAL(&tp, RSL_IE_BS_POWER)); - lchan->bs_power_ctrl.current = lchan->bs_power_ctrl.max; + uint8_t red = BS_POWER2DB(*TLVP_VAL(&tp, RSL_IE_BS_POWER)); + + /* BS power reduction is generally not allowed on BCCH/CCCH carrier. + * However, we allow it in the BCCH carrier power reduction operation. + * Constrain BS power value by the maximum reduction for this timeslot. */ + if (ts->trx->bts->c0 == ts->trx) + red = OSMO_MIN(red, ts->c0_power_red_db); + + lchan->bs_power_ctrl.max = red; + lchan->bs_power_ctrl.current = red; LOGPLCHAN(lchan, DRSL, LOGL_DEBUG, "BS Power attenuation %u dB\n", lchan->bs_power_ctrl.current); @@ -2210,6 +2218,12 @@ return 0; } + /* BS power reduction is generally not allowed on BCCH/CCCH carrier. + * However, we allow it in the BCCH carrier power reduction operation. + * Constrain BS power value by the maximum reduction for this timeslot. */ + if (trx->bts->c0 == trx) + new = OSMO_MIN(new, lchan->ts->c0_power_red_db); + /* 9.3.32 (TLV) BS Power Parameters IE (vendor specific) */ if ((ie = TLVP_GET(&tp, RSL_IE_BS_POWER_PARAM)) != NULL) { struct gsm_power_ctrl_params *params = &lchan->bs_dpc_params; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24815 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3299b6cdd230d3767321c3d6c64d468b7f5e1d02 Gerrit-Change-Number: 24815 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 Jul 1 09:05:29 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 1 Jul 2021 09:05:29 +0000 Subject: Change in osmo-bts[master]: allow to configure multiple oml remote-ip addresses In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24513 ) Change subject: allow to configure multiple oml remote-ip addresses ...................................................................... Patch Set 7: > Patch Set 7: > > > Patch Set 7: > > > > Just a general question (not a refactoring request): do we really need to use linux_list for storing the OML addresses in the memory? I don't think on practice anybody would need more than 2 or let's say 8 (in the most paranoid case) entries. So a simple array of pointers might be a better fit here. > > I don't see what's wrong with using linuxlist here. IMHO it fits better than a static array. Let the user put as many addresses as it likes, and we don't care about quick access here. The problem with a static array is always that you never know how much is enough. Yes one could put a pointer array with a size of 10 into the BTS struct, but then you are limited to 10 (arbitrary limit) and when the user edits the list from the VTY one would need logic to allocate/free and possibly re-order the items in that array. I am really happy with the linuxlist implementation we have, it works well for many things. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24513 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I205f68a3a7f35fee4c38a7cfba2b014237df2727 Gerrit-Change-Number: 24513 Gerrit-PatchSet: 7 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 01 Jul 2021 09:05:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 1 10:01:25 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 1 Jul 2021 10:01:25 +0000 Subject: Change in osmo-bsc[master]: power_control: constrain BS power reduction on BCCH carrier In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24804 ) Change subject: power_control: constrain BS power reduction on BCCH carrier ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24804 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2cc6a86731984f586ef35b43a8d3de631f7d8a2f Gerrit-Change-Number: 24804 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 01 Jul 2021 10:01: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 Jul 1 10:02:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 1 Jul 2021 10:02:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC: add a test case for BCCH carrier power reduction mode In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24810 ) Change subject: BSC: add a test case for BCCH carrier power reduction mode ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24810 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I084f7736cd7d09b68ed49f8ba52a14de928d4c01 Gerrit-Change-Number: 24810 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 01 Jul 2021 10:02:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 1 10:08:14 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 1 Jul 2021 10:08:14 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: implement BCCH carrier power reduction mode In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24776 ) Change subject: osmo-bts-trx: implement BCCH carrier power reduction mode ...................................................................... Patch Set 7: I still fail to understand why are you not providing a VTY command which can be used in a VTY config file. You can only temporarily configure it by means of interactive VTY with current status AFAIU. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24776 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3dcee6e910ccc61c5c63c728db9ea04327e2fc98 Gerrit-Change-Number: 24776 Gerrit-PatchSet: 7 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 01 Jul 2021 10:08: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 Thu Jul 1 10:09:35 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 1 Jul 2021 10:09:35 +0000 Subject: Change in osmo-bts[master]: power_control: constrain BS power reduction on BCCH carrier In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24815 ) Change subject: power_control: constrain BS power reduction on BCCH carrier ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24815 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3299b6cdd230d3767321c3d6c64d468b7f5e1d02 Gerrit-Change-Number: 24815 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 01 Jul 2021 10:09: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 Jul 1 10:12:11 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 1 Jul 2021 10:12:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: fix inter-msc ho tests: do not attempt to send "*" References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24816 ) Change subject: msc: fix inter-msc ho tests: do not attempt to send "*" ...................................................................... msc: fix inter-msc ho tests: do not attempt to send "*" Recently, encryption testing was added to the inter-MSC HO test. Instead of sending the chosenEncryptionAlgorithm from the receive-template side forward the actual received one (rx "*" usually means tx is "omit"). Change-Id: Icae084cfd63d666f3b0778fade7ba558bd161a0f --- M msc/MSC_Tests.ttcn 1 file changed, 12 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/16/24816/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index b12fb5e..5c63b63 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -5954,6 +5954,7 @@ private function f_tc_ho_inter_msc_out(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { var CallParameters cpars; + var PDU_BSSAP ho_request; cpars := valueof(t_CallParams('12345'H, 0)); if (pars.use_ipv6) { @@ -6015,13 +6016,18 @@ f_gsup_find_ie(prep_ho_req, OSMO_GSUP_SOURCE_NAME_IE, source_name_ie); var octetstring local_msc_name := source_name_ie.source_name; + /* To forward the actual chosen encryption algorithm, decode the received PDU */ + var GSUP_IeValue an_apdu_ie; + f_gsup_find_ie(prep_ho_req, OSMO_GSUP_AN_APDU_IE, an_apdu_ie); + ho_request := dec_PDU_BSSAP(an_apdu_ie.an_apdu.pdu); + /* Remote MSC has figured out its BSC and signals success */ var PDU_ML3_NW_MS rr_ho_cmd := valueof(ts_RR_HandoverCommand); var octetstring rr_ho_cmd_enc := enc_PDU_ML3_NW_MS(rr_ho_cmd); var PDU_BSSAP ho_req_ack := valueof(ts_BSSMAP_HandoverRequestAcknowledge(rr_ho_cmd_enc, lengthof(rr_ho_cmd_enc), - aoIPTransportLayer := omit, - speechCodec := ts_BSSMAP_IE_SpeechCodec({ts_CodecFR}), - chosenEncryptionAlgorithm := chosenEncryptionAlgorithm)); + aoIPTransportLayer := omit, + speechCodec := ts_BSSMAP_IE_SpeechCodec({ts_CodecFR}), + chosenEncryptionAlgorithm := ho_request.pdu.bssmap.handoverRequest.chosenEncryptionAlgorithm)); GSUP.send(ts_GSUP_E_PrepareHandoverResult( pars.imsi, ho_number, @@ -6159,9 +6165,8 @@ /* MSC asks local BSS to prepare Handover to it */ f_get_expected_encryption(encryptionInformation, chosenEncryptionAlgorithm, kC128, a5_perm_alg); expect_ho_request := tr_BSSMAP_HandoverRequest(encryptionInformation, chosenEncryptionAlgorithm, kC128); - var PDU_BSSAP ho_request; alt { - [] BSSAP.receive(expect_ho_request); + [] BSSAP.receive(expect_ho_request) -> value ho_request; [] BSSAP.receive(tr_BSSMAP_HandoverRequest) -> value ho_request { log("Error: Wrong handoverRequest received. Expected: ", expect_ho_request, " got ", ho_request); @@ -6179,8 +6184,8 @@ var BSSMAP_IE_AoIP_TransportLayerAddress tla := valueof(f_ts_BSSMAP_IE_AoIP_TLA(cpars.bss_rtp_ip, cpars.bss_rtp_port)); BSSAP.send(ts_BSSMAP_HandoverRequestAcknowledge(rr_ho_cmd_enc, lengthof(rr_ho_cmd_enc), - tla, ts_BSSMAP_IE_SpeechCodec({ts_CodecFR}), - chosenEncryptionAlgorithm := chosenEncryptionAlgorithm)); + tla, ts_BSSMAP_IE_SpeechCodec({ts_CodecFR}), + chosenEncryptionAlgorithm := ho_request.pdu.bssmap.handoverRequest.chosenEncryptionAlgorithm)); /* HandoverCommand goes out via remote MSC-I */ var GSUP_PDU prep_subsq_ho_res; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24816 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icae084cfd63d666f3b0778fade7ba558bd161a0f Gerrit-Change-Number: 24816 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 Jul 1 10:21:58 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 1 Jul 2021 10:21:58 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: fix inter-msc ho tests: do not attempt to send "*" In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24816 ) Change subject: msc: fix inter-msc ho tests: do not attempt to send "*" ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24816 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icae084cfd63d666f3b0778fade7ba558bd161a0f Gerrit-Change-Number: 24816 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 01 Jul 2021 10: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 Thu Jul 1 10:21:59 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 1 Jul 2021 10:21:59 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: implement BCCH carrier power reduction mode In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24776 ) Change subject: osmo-bts-trx: implement BCCH carrier power reduction mode ...................................................................... Patch Set 7: > Patch Set 7: > > I still fail to understand why are you not providing a VTY command which can be used in a VTY config file. You can only temporarily configure it by means of interactive VTY with current status AFAIU. This is the point: you temporarily enable it and then disable it by means of some external tool. It's not persistent, so no need to have it in the configuration file. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24776 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3dcee6e910ccc61c5c63c728db9ea04327e2fc98 Gerrit-Change-Number: 24776 Gerrit-PatchSet: 7 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 01 Jul 2021 10:21: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 Thu Jul 1 10:22:50 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 1 Jul 2021 10:22:50 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: implement BCCH carrier power reduction mode In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24776 ) Change subject: osmo-bts-trx: implement BCCH carrier power reduction mode ...................................................................... Patch Set 7: Why isn't it or cannot it be persistent? Why must it be temporary? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24776 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3dcee6e910ccc61c5c63c728db9ea04327e2fc98 Gerrit-Change-Number: 24776 Gerrit-PatchSet: 7 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 01 Jul 2021 10:22: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 Jul 1 10:23:47 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 1 Jul 2021 10:23:47 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: fix inter-msc ho tests: do not attempt to send "*" In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24816 ) Change subject: msc: fix inter-msc ho tests: do not attempt to send "*" ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24816 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icae084cfd63d666f3b0778fade7ba558bd161a0f Gerrit-Change-Number: 24816 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 01 Jul 2021 10:23: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 Jul 1 10:23:51 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 1 Jul 2021 10:23:51 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: fix inter-msc ho tests: do not attempt to send "*" In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24816 ) Change subject: msc: fix inter-msc ho tests: do not attempt to send "*" ...................................................................... msc: fix inter-msc ho tests: do not attempt to send "*" Recently, encryption testing was added to the inter-MSC HO test. Instead of sending the chosenEncryptionAlgorithm from the receive-template side forward the actual received one (rx "*" usually means tx is "omit"). Change-Id: Icae084cfd63d666f3b0778fade7ba558bd161a0f --- M msc/MSC_Tests.ttcn 1 file changed, 12 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve neels: Looks good to me, approved diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index b12fb5e..5c63b63 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -5954,6 +5954,7 @@ private function f_tc_ho_inter_msc_out(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { var CallParameters cpars; + var PDU_BSSAP ho_request; cpars := valueof(t_CallParams('12345'H, 0)); if (pars.use_ipv6) { @@ -6015,13 +6016,18 @@ f_gsup_find_ie(prep_ho_req, OSMO_GSUP_SOURCE_NAME_IE, source_name_ie); var octetstring local_msc_name := source_name_ie.source_name; + /* To forward the actual chosen encryption algorithm, decode the received PDU */ + var GSUP_IeValue an_apdu_ie; + f_gsup_find_ie(prep_ho_req, OSMO_GSUP_AN_APDU_IE, an_apdu_ie); + ho_request := dec_PDU_BSSAP(an_apdu_ie.an_apdu.pdu); + /* Remote MSC has figured out its BSC and signals success */ var PDU_ML3_NW_MS rr_ho_cmd := valueof(ts_RR_HandoverCommand); var octetstring rr_ho_cmd_enc := enc_PDU_ML3_NW_MS(rr_ho_cmd); var PDU_BSSAP ho_req_ack := valueof(ts_BSSMAP_HandoverRequestAcknowledge(rr_ho_cmd_enc, lengthof(rr_ho_cmd_enc), - aoIPTransportLayer := omit, - speechCodec := ts_BSSMAP_IE_SpeechCodec({ts_CodecFR}), - chosenEncryptionAlgorithm := chosenEncryptionAlgorithm)); + aoIPTransportLayer := omit, + speechCodec := ts_BSSMAP_IE_SpeechCodec({ts_CodecFR}), + chosenEncryptionAlgorithm := ho_request.pdu.bssmap.handoverRequest.chosenEncryptionAlgorithm)); GSUP.send(ts_GSUP_E_PrepareHandoverResult( pars.imsi, ho_number, @@ -6159,9 +6165,8 @@ /* MSC asks local BSS to prepare Handover to it */ f_get_expected_encryption(encryptionInformation, chosenEncryptionAlgorithm, kC128, a5_perm_alg); expect_ho_request := tr_BSSMAP_HandoverRequest(encryptionInformation, chosenEncryptionAlgorithm, kC128); - var PDU_BSSAP ho_request; alt { - [] BSSAP.receive(expect_ho_request); + [] BSSAP.receive(expect_ho_request) -> value ho_request; [] BSSAP.receive(tr_BSSMAP_HandoverRequest) -> value ho_request { log("Error: Wrong handoverRequest received. Expected: ", expect_ho_request, " got ", ho_request); @@ -6179,8 +6184,8 @@ var BSSMAP_IE_AoIP_TransportLayerAddress tla := valueof(f_ts_BSSMAP_IE_AoIP_TLA(cpars.bss_rtp_ip, cpars.bss_rtp_port)); BSSAP.send(ts_BSSMAP_HandoverRequestAcknowledge(rr_ho_cmd_enc, lengthof(rr_ho_cmd_enc), - tla, ts_BSSMAP_IE_SpeechCodec({ts_CodecFR}), - chosenEncryptionAlgorithm := chosenEncryptionAlgorithm)); + tla, ts_BSSMAP_IE_SpeechCodec({ts_CodecFR}), + chosenEncryptionAlgorithm := ho_request.pdu.bssmap.handoverRequest.chosenEncryptionAlgorithm)); /* HandoverCommand goes out via remote MSC-I */ var GSUP_PDU prep_subsq_ho_res; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24816 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icae084cfd63d666f3b0778fade7ba558bd161a0f Gerrit-Change-Number: 24816 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 1 10:29:39 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 1 Jul 2021 10:29:39 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: implement BCCH carrier power reduction mode In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24776 ) Change subject: osmo-bts-trx: implement BCCH carrier power reduction mode ...................................................................... Patch Set 7: > Patch Set 7: > > Why isn't it or cannot it be persistent? Why must it be temporary? Because the power saving mode negatively affects performance of a network. The point is that you enable it let's say during the night and then disable in the morning, or alternatively toggle it depending on the cell load - this is up to the network operator. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24776 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3dcee6e910ccc61c5c63c728db9ea04327e2fc98 Gerrit-Change-Number: 24776 Gerrit-PatchSet: 7 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 01 Jul 2021 10:29: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 Jul 1 10:41:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 1 Jul 2021 10:41:06 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: implement BCCH carrier power reduction mode In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24776 ) Change subject: osmo-bts-trx: implement BCCH carrier power reduction mode ...................................................................... Patch Set 7: > Patch Set 7: > Because the power saving mode negatively affects performance of a network. The point is that you enable it let's say during the night and then disable in the morning, or alternatively toggle it depending on the cell load - this is up to the network operator. What if a cell is located in a place seldomly used at any time of the day? You may still want to have this enabled persistently? I fail to see why you are not adding that possibility. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24776 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3dcee6e910ccc61c5c63c728db9ea04327e2fc98 Gerrit-Change-Number: 24776 Gerrit-PatchSet: 7 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 01 Jul 2021 10:41:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 1 11:07:23 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 1 Jul 2021 11:07:23 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: implement BCCH carrier power reduction mode In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24776 ) Change subject: osmo-bts-trx: implement BCCH carrier power reduction mode ...................................................................... Patch Set 7: > Patch Set 7: > > > Patch Set 7: > > Because the power saving mode negatively affects performance of a network. The point is that you enable it let's say during the night and then disable in the morning, or alternatively toggle it depending on the cell load - this is up to the network operator. > > What if a cell is located in a place seldomly used at any time of the day? You may still want to have this enabled persistently? I fail to see why you are not adding that possibility. Sorry, Pau, but I am not going to continue this discussion. What you're describing is probably a rural area, where you would typically have many long-distance subscribers, and power saving on BCCH would most likely make the service quality for them even worse. Please check SYS#4919 to see what the customer actually wants. If somebody wants persistent power saving mode, then I would implement it. Currently there is no such a requirement. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24776 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3dcee6e910ccc61c5c63c728db9ea04327e2fc98 Gerrit-Change-Number: 24776 Gerrit-PatchSet: 7 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 01 Jul 2021 11: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 Thu Jul 1 11:09:14 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 1 Jul 2021 11:09:14 +0000 Subject: Change in osmo-pcu[master]: pdch: Fix heap-use-after-free in pdch->ulc In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/24812 to look at the new patch set (#2). Change subject: pdch: Fix heap-use-after-free in pdch->ulc ...................................................................... pdch: Fix heap-use-after-free in pdch->ulc In existing previous code, pdch->ulc would be freed in gprs_rlcmac_pdch::free_resources() when it became disabled as per PCUIF info_ind (for instance, when a DYN TS is switched PDCH->SDCCH8). However, pdch->ulc was so far only allocated during pdch_init, which is only called during bts_alloc() time. Hence, after first info_ind disabling it, if it became again enabled (again by info_ind re-enabling it after SDCCH8 was not longer in use), the pdch->ulc would be used again but it would point to freed memory. Let's rearrange how/when resources are freed to make it more logical. With this patch, pdch internal resources are freed upon ->disable(), and re-allocated upon ->enable(). Change-Id: Id51f5f6a54ac9f24b784c17bc360ac38f5726fc7 --- M src/osmobts_sock.c M src/pcu_l1_if.cpp M src/pdch.cpp M src/pdch.h M tests/tbf/TbfTest.cpp M tests/ulc/PdchUlcTest.cpp 6 files changed, 36 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/12/24812/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24812 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id51f5f6a54ac9f24b784c17bc360ac38f5726fc7 Gerrit-Change-Number: 24812 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 1 12:11:50 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 1 Jul 2021 12:11:50 +0000 Subject: Change in osmo-pcu[master]: pdch: Fix heap-use-after-free in pdch->ulc In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24812 ) Change subject: pdch: Fix heap-use-after-free in pdch->ulc ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24812 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id51f5f6a54ac9f24b784c17bc360ac38f5726fc7 Gerrit-Change-Number: 24812 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 01 Jul 2021 12:11: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 Jul 1 15:35:13 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 1 Jul 2021 15:35:13 +0000 Subject: Change in libosmocore[master]: Rename osmo dyn ts enums In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24784 ) Change subject: Rename osmo dyn ts enums ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24784 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I56dcfe4d17899630b17f80145c3ced72f1e91e68 Gerrit-Change-Number: 24784 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 01 Jul 2021 15:35: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 Jul 1 16:04:40 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 1 Jul 2021 16:04:40 +0000 Subject: Change in osmo-msc[master]: sgs: Use available APi to set vlr subscr LastUsedEutranPLMNId References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/24817 ) Change subject: sgs: Use available APi to set vlr subscr LastUsedEutranPLMNId ...................................................................... sgs: Use available APi to set vlr subscr LastUsedEutranPLMNId This way it's easier to find out where the vlr subscriber field is set. Change-Id: I203de82accc896c196cb70037af89be6dc826c05 --- M src/libmsc/sgs_iface.c 1 file changed, 8 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/17/24817/1 diff --git a/src/libmsc/sgs_iface.c b/src/libmsc/sgs_iface.c index 04302ae..9d7b6fc 100644 --- a/src/libmsc/sgs_iface.c +++ b/src/libmsc/sgs_iface.c @@ -915,6 +915,8 @@ static int sgs_rx_csfb_ind(struct sgs_connection *sgc, struct msgb *msg, const struct tlv_parsed *tp, char *imsi) { struct vlr_subscr *vsub; + struct osmo_plmn_id last_eutran_plmn_buf; + const struct osmo_plmn_id *last_eutran_plmn = &last_eutran_plmn_buf; /* The MME informs us with this message that the UE has initiated a * service request for MO CS fallback. There is not much we can do with @@ -928,23 +930,23 @@ /* 3GPP TS 23.272 sec 4.3.3 (CSFB): * "During the SGs location update procedure, obtaining the last used LTE PLMN ID via TAI" */ - vsub->sgs.last_eutran_plmn_present = TLVP_PRES_LEN(tp, SGSAP_IE_EUTRAN_CGI, 3); if (TLVP_PRES_LEN(tp, SGSAP_IE_TAI, 3)) { - vsub->sgs.last_eutran_plmn_present = true; - osmo_plmn_from_bcd(TLVP_VAL(tp, SGSAP_IE_TAI), &vsub->sgs.last_eutran_plmn); + osmo_plmn_from_bcd(TLVP_VAL(tp, SGSAP_IE_TAI), &last_eutran_plmn_buf); /* TODO: we could also gather the TAC from here, but we don't need it yet */ } else if (TLVP_PRES_LEN(tp, SGSAP_IE_EUTRAN_CGI, 3)) { /* Since TAI is optional, let's try harder getting Last Used * E-UTRAN PLMN ID by fetching it from E-UTRAN CGI */ - vsub->sgs.last_eutran_plmn_present = true; - osmo_plmn_from_bcd(TLVP_VAL(tp, SGSAP_IE_EUTRAN_CGI), &vsub->sgs.last_eutran_plmn); + osmo_plmn_from_bcd(TLVP_VAL(tp, SGSAP_IE_EUTRAN_CGI), &last_eutran_plmn_buf); /* TODO: we could also gather the ECI from here, but we don't need it yet */ - } else if (!vsub->sgs.last_eutran_plmn_present) { + } else { LOGSGC(sgc, LOGL_INFO, "Receiving SGsAP-MO-CSFB-INDICATION without TAI nor " "E-CGI IEs, and they are not known from previous SGsAP-LOCATION-UPDATE-REQUEST. " "Fast fallback GERAN->EUTRAN won't be possible!\n"); + last_eutran_plmn = NULL; } + vlr_subscr_set_last_used_eutran_plmn_id(vsub, last_eutran_plmn); + /* Check for lingering connections */ subscr_conn_toss(vsub); -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24817 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I203de82accc896c196cb70037af89be6dc826c05 Gerrit-Change-Number: 24817 Gerrit-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 Jul 1 16:12:41 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 1 Jul 2021 16:12:41 +0000 Subject: Change in libosmocore[master]: Rename osmo dyn ts enums In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24784 ) Change subject: Rename osmo dyn ts enums ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24784 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I56dcfe4d17899630b17f80145c3ced72f1e91e68 Gerrit-Change-Number: 24784 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 01 Jul 2021 16:12: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 Jul 1 16:12:44 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 1 Jul 2021 16:12:44 +0000 Subject: Change in libosmocore[master]: Rename osmo dyn ts enums In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24784 ) Change subject: Rename osmo dyn ts enums ...................................................................... Rename osmo dyn ts enums They will gain support to be activated as SDCCH/8 soon too. Since new name would start to be too large, use a more generic naming for it. Related: OS#5309 Change-Id: I56dcfe4d17899630b17f80145c3ced72f1e91e68 --- M include/osmocom/gsm/gsm_utils.h M include/osmocom/gsm/protocol/gsm_12_21.h M src/gsm/abis_nm.c 3 files changed, 7 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve dexter: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/include/osmocom/gsm/gsm_utils.h b/include/osmocom/gsm/gsm_utils.h index 0909006..45af4f2 100644 --- a/include/osmocom/gsm/gsm_utils.h +++ b/include/osmocom/gsm/gsm_utils.h @@ -213,9 +213,11 @@ GSM_PCHAN_UNKNOWN, GSM_PCHAN_CCCH_SDCCH4_CBCH, GSM_PCHAN_SDCCH8_SACCH8C_CBCH, - GSM_PCHAN_TCH_F_TCH_H_PDCH, + GSM_PCHAN_OSMO_DYN, _GSM_PCHAN_MAX }; +/* Backward compatibility with older naming: */ +#define GSM_PCHAN_TCH_F_TCH_H_PDCH GSM_PCHAN_OSMO_DYN /* Osmocom internal, not part of any gsm spec */ enum gsm_chan_t { diff --git a/include/osmocom/gsm/protocol/gsm_12_21.h b/include/osmocom/gsm/protocol/gsm_12_21.h index 6156ce9..542d978 100644 --- a/include/osmocom/gsm/protocol/gsm_12_21.h +++ b/include/osmocom/gsm/protocol/gsm_12_21.h @@ -564,8 +564,10 @@ NM_CHANC_IPAC_TCHFull_PDCH = 0x80, NM_CHANC_IPAC_TCHFull_TCHHalf = 0x81, /* osmocom */ - NM_CHANC_OSMO_TCHFull_TCHHalf_PDCH = 0x90, + NM_CHANC_OSMO_DYN = 0x90, }; +/* Backward compatibility with older naming: */ +#define NM_CHANC_OSMO_TCHFull_TCHHalf_PDCH NM_CHANC_OSMO_DYN /*! Event Type (Section 9.4.16) */ enum abis_nm_event_type { diff --git a/src/gsm/abis_nm.c b/src/gsm/abis_nm.c index f7793d7..38cd194 100644 --- a/src/gsm/abis_nm.c +++ b/src/gsm/abis_nm.c @@ -703,7 +703,7 @@ [GSM_PCHAN_UNKNOWN] = 0xff, [GSM_PCHAN_CCCH_SDCCH4_CBCH] = NM_CHANC_BCCH_CBCH, [GSM_PCHAN_SDCCH8_SACCH8C_CBCH] = NM_CHANC_SDCCH_CBCH, - [GSM_PCHAN_TCH_F_TCH_H_PDCH] = NM_CHANC_OSMO_TCHFull_TCHHalf_PDCH, + [GSM_PCHAN_OSMO_DYN] = NM_CHANC_OSMO_DYN, /* FIXME: bounds check */ }; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24784 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I56dcfe4d17899630b17f80145c3ced72f1e91e68 Gerrit-Change-Number: 24784 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels 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 Jul 1 16:12:45 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 1 Jul 2021 16:12:45 +0000 Subject: Change in libosmocore[master]: bts_feature: Introduce feature to confiure dyn ts as sdcch8 In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24788 ) Change subject: bts_feature: Introduce feature to confiure dyn ts as sdcch8 ...................................................................... bts_feature: Introduce feature to confiure dyn ts as sdcch8 This feature signals support to configure Osmocom Dynamic Timeslot type as SDCCH8, on top of historically supported TCH/H and TCH/F. The idea is that when unneeded, the TS is configured as PDCH, and as soon as there's need for an SDCCH and there's none available, the TS is dynamically reconfigured to SDCCH8. Once all logical channels in the dynamic TS are released and hence becomes free, the BSC will reconfigure it to PDCH. Related: SYS#5309 Change-Id: Ifc0ca8916bd3e93e5a60a7dd7391d2588fdb5532 --- M include/osmocom/gsm/bts_features.h M src/gsm/bts_features.c 2 files changed, 3 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/gsm/bts_features.h b/include/osmocom/gsm/bts_features.h index 5374619..42e1934 100644 --- a/include/osmocom/gsm/bts_features.h +++ b/include/osmocom/gsm/bts_features.h @@ -31,6 +31,7 @@ BTS_FEAT_VAMOS, /* Is the BTS VAMOS capable? */ BTS_FEAT_ABIS_OSMO_PCU, /* BTS supports forwarding data to PCUIF over IPA OML multiplex */ BTS_FEAT_BCCH_POWER_RED, + BTS_FEAT_DYN_TS_SDCCH8, /* Osmo Dynamic TS supports configured as SDCCH8 */ _NUM_BTS_FEAT }; diff --git a/src/gsm/bts_features.c b/src/gsm/bts_features.c index 6671946..ecb5700 100644 --- a/src/gsm/bts_features.c +++ b/src/gsm/bts_features.c @@ -46,6 +46,7 @@ { BTS_FEAT_VAMOS, "VAMOS (Voice services over Adaptive Multi-user channels on One Slot)" }, { BTS_FEAT_ABIS_OSMO_PCU, "OsmoPCU over OML link IPA multiplex" }, { BTS_FEAT_BCCH_POWER_RED, "BCCH carrier power reduction mode" }, + { BTS_FEAT_DYN_TS_SDCCH8, "Dynamic Timeslot configuration as SDCCH8" }, { 0, NULL } }; @@ -79,5 +80,6 @@ { BTS_FEAT_VAMOS, "VAMOS" }, { BTS_FEAT_ABIS_OSMO_PCU, "ABIS_OSMO_PCU" }, { BTS_FEAT_BCCH_POWER_RED, "BCCH_PWR_RED" }, + { BTS_FEAT_DYN_TS_SDCCH8, "DYN_TS_SDCCH8" }, {} }; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24788 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ifc0ca8916bd3e93e5a60a7dd7391d2588fdb5532 Gerrit-Change-Number: 24788 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 1 16:14:46 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 1 Jul 2021 16:14:46 +0000 Subject: Change in osmo-msc[master]: sgs: Use available API to set vlr subscr LastUsedEutranPLMNId 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/+/24817 to look at the new patch set (#2). Change subject: sgs: Use available API to set vlr subscr LastUsedEutranPLMNId ...................................................................... sgs: Use available API to set vlr subscr LastUsedEutranPLMNId This way it's easier to find out where the vlr subscriber field is set. Change-Id: I203de82accc896c196cb70037af89be6dc826c05 --- M src/libmsc/sgs_iface.c 1 file changed, 8 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/17/24817/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24817 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I203de82accc896c196cb70037af89be6dc826c05 Gerrit-Change-Number: 24817 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 Jul 1 21:29:15 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 1 Jul 2021 21:29:15 +0000 Subject: Change in simtrace2[master]: board_gpio.gnumeric: Add ngff-cardem pin-out References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/24818 ) Change subject: board_gpio.gnumeric: Add ngff-cardem pin-out ...................................................................... board_gpio.gnumeric: Add ngff-cardem pin-out Change-Id: Ie1a7be85200e331232ad52aa0468c748ff053142 --- M hardware/board_gpio.gnumeric 1 file changed, 0 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/18/24818/1 diff --git a/hardware/board_gpio.gnumeric b/hardware/board_gpio.gnumeric index 0e4893d..17cc60f 100644 --- a/hardware/board_gpio.gnumeric +++ b/hardware/board_gpio.gnumeric Binary files differ -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24818 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ie1a7be85200e331232ad52aa0468c748ff053142 Gerrit-Change-Number: 24818 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 Jul 2 00:12:50 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 2 Jul 2021 00:12:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: rather not use decmatch in f_tc_ho_inter_msc_out() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24819 ) Change subject: msc: rather not use decmatch in f_tc_ho_inter_msc_out() ...................................................................... msc: rather not use decmatch in f_tc_ho_inter_msc_out() TC_ho_inter_msc_out fails on jenkins in a way that i cannot reproduce. A possible source is the decmatch for the Handover Request message. The jenkins logs show: MSC_Tests.ttcn:6005 Warning: Decoded content matching failed, because the buffer was not empty after decoding. Remaining octets: 22. Change-Id: I20b5594c7e083af791525231f24d3ed089c18910 --- M msc/MSC_Tests.ttcn 1 file changed, 6 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/19/24819/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 5c63b63..e548c5c 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -6005,7 +6005,7 @@ alt { [] GSUP.receive(tr_GSUP_E_AN_APDU(OSMO_GSUP_MSGT_E_PREPARE_HANDOVER_REQUEST, pars.imsi, destination_name := remote_msc_name, - an_apdu := t_GSUP_AN_APDU(OSMO_GSUP_AN_PROTO_48006, decmatch expect_ho_request))) -> value prep_ho_req; + an_apdu := t_GSUP_AN_APDU(OSMO_GSUP_AN_PROTO_48006, pdu := ?))) -> value prep_ho_req; [] GSUP.receive(tr_GSUP_E_AN_APDU(OSMO_GSUP_MSGT_E_PREPARE_HANDOVER_REQUEST)) { setverdict(fail, "Wrong OSMO_GSUP_MSGT_E_PREPARE_HANDOVER_REQUEST message received"); mtc.stop; @@ -6016,10 +6016,14 @@ f_gsup_find_ie(prep_ho_req, OSMO_GSUP_SOURCE_NAME_IE, source_name_ie); var octetstring local_msc_name := source_name_ie.source_name; - /* To forward the actual chosen encryption algorithm, decode the received PDU */ + /* Decode PDU to 1) match with expect_ho_request and 2) to forward the actual chosen encryption algorithm. */ var GSUP_IeValue an_apdu_ie; f_gsup_find_ie(prep_ho_req, OSMO_GSUP_AN_APDU_IE, an_apdu_ie); ho_request := dec_PDU_BSSAP(an_apdu_ie.an_apdu.pdu); + if (not match(ho_request, expect_ho_request)) { + setverdict(fail, "Wrong PDU in OSMO_GSUP_MSGT_E_PREPARE_HANDOVER_REQUEST message received"); + mtc.stop; + } /* Remote MSC has figured out its BSC and signals success */ var PDU_ML3_NW_MS rr_ho_cmd := valueof(ts_RR_HandoverCommand); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24819 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I20b5594c7e083af791525231f24d3ed089c18910 Gerrit-Change-Number: 24819 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 00:14:08 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 2 Jul 2021 00:14:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: rather not use decmatch in f_tc_ho_inter_msc_out() In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24819 ) Change subject: msc: rather not use decmatch in f_tc_ho_inter_msc_out() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24819 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I20b5594c7e083af791525231f24d3ed089c18910 Gerrit-Change-Number: 24819 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Fri, 02 Jul 2021 00:14: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 Jul 2 00:14:14 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 2 Jul 2021 00:14:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: rather not use decmatch in f_tc_ho_inter_msc_out() In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24819 ) Change subject: msc: rather not use decmatch in f_tc_ho_inter_msc_out() ...................................................................... msc: rather not use decmatch in f_tc_ho_inter_msc_out() TC_ho_inter_msc_out fails on jenkins in a way that i cannot reproduce. A possible source is the decmatch for the Handover Request message. The jenkins logs show: MSC_Tests.ttcn:6005 Warning: Decoded content matching failed, because the buffer was not empty after decoding. Remaining octets: 22. Change-Id: I20b5594c7e083af791525231f24d3ed089c18910 --- M msc/MSC_Tests.ttcn 1 file changed, 6 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified neels: Looks good to me, approved diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 5c63b63..e548c5c 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -6005,7 +6005,7 @@ alt { [] GSUP.receive(tr_GSUP_E_AN_APDU(OSMO_GSUP_MSGT_E_PREPARE_HANDOVER_REQUEST, pars.imsi, destination_name := remote_msc_name, - an_apdu := t_GSUP_AN_APDU(OSMO_GSUP_AN_PROTO_48006, decmatch expect_ho_request))) -> value prep_ho_req; + an_apdu := t_GSUP_AN_APDU(OSMO_GSUP_AN_PROTO_48006, pdu := ?))) -> value prep_ho_req; [] GSUP.receive(tr_GSUP_E_AN_APDU(OSMO_GSUP_MSGT_E_PREPARE_HANDOVER_REQUEST)) { setverdict(fail, "Wrong OSMO_GSUP_MSGT_E_PREPARE_HANDOVER_REQUEST message received"); mtc.stop; @@ -6016,10 +6016,14 @@ f_gsup_find_ie(prep_ho_req, OSMO_GSUP_SOURCE_NAME_IE, source_name_ie); var octetstring local_msc_name := source_name_ie.source_name; - /* To forward the actual chosen encryption algorithm, decode the received PDU */ + /* Decode PDU to 1) match with expect_ho_request and 2) to forward the actual chosen encryption algorithm. */ var GSUP_IeValue an_apdu_ie; f_gsup_find_ie(prep_ho_req, OSMO_GSUP_AN_APDU_IE, an_apdu_ie); ho_request := dec_PDU_BSSAP(an_apdu_ie.an_apdu.pdu); + if (not match(ho_request, expect_ho_request)) { + setverdict(fail, "Wrong PDU in OSMO_GSUP_MSGT_E_PREPARE_HANDOVER_REQUEST message received"); + mtc.stop; + } /* Remote MSC has figured out its BSC and signals success */ var PDU_ML3_NW_MS rr_ho_cmd := valueof(ts_RR_HandoverCommand); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24819 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I20b5594c7e083af791525231f24d3ed089c18910 Gerrit-Change-Number: 24819 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 11:07:08 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 2 Jul 2021 11:07:08 +0000 Subject: Change in osmo-msc[master]: sgs: Use available API to set vlr subscr LastUsedEutranPLMNId In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24817 ) Change subject: sgs: Use available API to set vlr subscr LastUsedEutranPLMNId ...................................................................... Patch Set 2: TBH, I don't see how this making the code easier to read. To me it's somehow the opposite. -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24817 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I203de82accc896c196cb70037af89be6dc826c05 Gerrit-Change-Number: 24817 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 02 Jul 2021 11: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 Fri Jul 2 11:28:44 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 2 Jul 2021 11:28:44 +0000 Subject: Change in osmo-msc[master]: sgs: Use available API to set vlr subscr LastUsedEutranPLMNId In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24817 ) Change subject: sgs: Use available API to set vlr subscr LastUsedEutranPLMNId ...................................................................... Patch Set 2: Because then setting/storing the Last EUTRAN PLMN is centralized in 1 place (1 API) and logged the same way. I was looking for exactly this kind of thing in the code, and I find it far more easy to track it this way. I wrote the initial code setting it, and I'm also the one now improving it after having need up in that situation :) -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24817 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I203de82accc896c196cb70037af89be6dc826c05 Gerrit-Change-Number: 24817 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 02 Jul 2021 11:28:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 11:41:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 2 Jul 2021 11:41:03 +0000 Subject: Change in osmo-msc[master]: sgs: Use available API to set vlr subscr LastUsedEutranPLMNId In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24817 ) Change subject: sgs: Use available API to set vlr subscr LastUsedEutranPLMNId ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24817 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I203de82accc896c196cb70037af89be6dc826c05 Gerrit-Change-Number: 24817 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 02 Jul 2021 11:41: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 Jul 2 11:41:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 2 Jul 2021 11:41:10 +0000 Subject: Change in simtrace2[master]: board_gpio.gnumeric: Add ngff-cardem pin-out In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24818 ) Change subject: board_gpio.gnumeric: Add ngff-cardem pin-out ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24818 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ie1a7be85200e331232ad52aa0468c748ff053142 Gerrit-Change-Number: 24818 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 02 Jul 2021 11:41:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 11:41:13 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 2 Jul 2021 11:41:13 +0000 Subject: Change in simtrace2[master]: board_gpio.gnumeric: Add ngff-cardem pin-out In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24818 ) Change subject: board_gpio.gnumeric: Add ngff-cardem pin-out ...................................................................... board_gpio.gnumeric: Add ngff-cardem pin-out Change-Id: Ie1a7be85200e331232ad52aa0468c748ff053142 --- M hardware/board_gpio.gnumeric 1 file changed, 0 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/hardware/board_gpio.gnumeric b/hardware/board_gpio.gnumeric index 0e4893d..17cc60f 100644 --- a/hardware/board_gpio.gnumeric +++ b/hardware/board_gpio.gnumeric Binary files differ -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24818 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ie1a7be85200e331232ad52aa0468c748ff053142 Gerrit-Change-Number: 24818 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 Jul 2 11:41:35 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 2 Jul 2021 11:41:35 +0000 Subject: Change in osmo-bts[master]: Rename osmo dyn ts enums to contain SDCCH8 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24799 ) Change subject: Rename osmo dyn ts enums to contain SDCCH8 ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24799 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia617d20fc52f09dbab8f4516c06fa1efac08e898 Gerrit-Change-Number: 24799 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 02 Jul 2021 11:41: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 Jul 2 11:42:02 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 2 Jul 2021 11:42:02 +0000 Subject: Change in osmo-bts[master]: Support SDCCH8 in osmo dyn ts In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24802 ) Change subject: Support SDCCH8 in osmo dyn ts ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24802 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id541dee6c224d2b8d97c07b916085883354cecbc Gerrit-Change-Number: 24802 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 02 Jul 2021 11:42:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 11:42:41 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 2 Jul 2021 11:42:41 +0000 Subject: Change in osmo-bsc[master]: Rename osmo dyn ts enums to contain SDCCH8 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24785 ) Change subject: Rename osmo dyn ts enums to contain SDCCH8 ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24785 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id5b89fe589a52ff88486435ac43809edb4b80f98 Gerrit-Change-Number: 24785 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 02 Jul 2021 11:42:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 11:42:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 2 Jul 2021 11:42:53 +0000 Subject: Change in osmo-bsc[master]: Support SDCCH8 in osmo dyn ts In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24786 ) Change subject: Support SDCCH8 in osmo dyn ts ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24786 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I29ac8b90168dba3ac309daeb0b6cfdbbcb8e9172 Gerrit-Change-Number: 24786 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 02 Jul 2021 11:42:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 11:43:28 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 2 Jul 2021 11:43:28 +0000 Subject: Change in osmo-pcu[master]: pdch: Fix heap-use-after-free in pdch->ulc In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24812 ) Change subject: pdch: Fix heap-use-after-free in pdch->ulc ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24812 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id51f5f6a54ac9f24b784c17bc360ac38f5726fc7 Gerrit-Change-Number: 24812 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 02 Jul 2021 11:43:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 11:45:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 2 Jul 2021 11:45:51 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: implement BCCH carrier power reduction mode In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24776 ) Change subject: osmo-bts-trx: implement BCCH carrier power reduction mode ...................................................................... Patch Set 7: Code-Review+2 (1 comment) Agreeing with Vadim here. If you want to persistently reduce the power, then you simply use max_power_red. https://gerrit.osmocom.org/c/osmo-bts/+/24776/4/include/osmo-bts/gsm_data.h File include/osmo-bts/gsm_data.h: https://gerrit.osmocom.org/c/osmo-bts/+/24776/4/include/osmo-bts/gsm_data.h at 455 PS4, Line 455: bcch_power_red_db > My intention was to reflect the feature name here. But I agree that it may be misinterpreted. [?] yes, that works. bcch_carrier_power_red_db_ would also work. just if you remove the 'carrier' it becomes the inverse meaning. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24776 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3dcee6e910ccc61c5c63c728db9ea04327e2fc98 Gerrit-Change-Number: 24776 Gerrit-PatchSet: 7 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 02 Jul 2021 11:45:51 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: laforge 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 Jul 2 11:46:13 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 2 Jul 2021 11:46:13 +0000 Subject: Change in osmo-bts[master]: power_control: constrain BS power reduction on BCCH carrier In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24815 ) Change subject: power_control: constrain BS power reduction on BCCH carrier ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24815 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3299b6cdd230d3767321c3d6c64d468b7f5e1d02 Gerrit-Change-Number: 24815 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 02 Jul 2021 11:46: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 Jul 2 11:46:25 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 2 Jul 2021 11:46:25 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Introduce test TC_dyn_ts_sdcch8_act_deact In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24783 ) Change subject: bsc: Introduce test TC_dyn_ts_sdcch8_act_deact ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24783 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1c53c5d280ca07b000b1e951cfe1e9e5f47a2d86 Gerrit-Change-Number: 24783 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Fri, 02 Jul 2021 11:46: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 Jul 2 11:46:28 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 2 Jul 2021 11:46:28 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Introduce test TC_dyn_ts_sdcch8_act_nack In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24798 ) Change subject: bsc: Introduce test TC_dyn_ts_sdcch8_act_nack ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24798 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I388677c90203853fae584ca60d0e6645bb4ad675 Gerrit-Change-Number: 24798 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Fri, 02 Jul 2021 11: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 Fri Jul 2 11:46:30 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 2 Jul 2021 11:46:30 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts: Introduce test TC_dyn_osmo_pdch_sdcch8_act In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24803 ) Change subject: bts: Introduce test TC_dyn_osmo_pdch_sdcch8_act ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24803 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I16d5f32697d2b5df97419d39a3948777bedfc1b5 Gerrit-Change-Number: 24803 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Fri, 02 Jul 2021 11: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 Fri Jul 2 11:47:11 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 2 Jul 2021 11:47:11 +0000 Subject: Change in osmo-bsc[master]: power_control: implement BCCH carrier power reduction operation In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24777 ) Change subject: power_control: implement BCCH carrier power reduction operation ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24777 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I047fce33d4d3e4c569dd006ba17858467a2f4783 Gerrit-Change-Number: 24777 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 02 Jul 2021 11:47: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 Jul 2 11:47:40 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 2 Jul 2021 11:47:40 +0000 Subject: Change in osmo-bsc[master]: power_control: constrain BS power reduction on BCCH carrier In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24804 ) Change subject: power_control: constrain BS power reduction on BCCH carrier ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24804 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2cc6a86731984f586ef35b43a8d3de631f7d8a2f Gerrit-Change-Number: 24804 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 02 Jul 2021 11: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 Fri Jul 2 11:48:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 2 Jul 2021 11:48:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC: add a test case for BCCH carrier power reduction mode In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24810 ) Change subject: BSC: add a test case for BCCH carrier power reduction mode ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24810 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I084f7736cd7d09b68ed49f8ba52a14de928d4c01 Gerrit-Change-Number: 24810 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 02 Jul 2021 11: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 Fri Jul 2 11:48:50 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 2 Jul 2021 11:48:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Introduce test TC_dyn_ts_sdcch8_act_deact In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24783 ) Change subject: bsc: Introduce test TC_dyn_ts_sdcch8_act_deact ...................................................................... bsc: Introduce test TC_dyn_ts_sdcch8_act_deact Related: SYS#5309 Change-Id: I1c53c5d280ca07b000b1e951cfe1e9e5f47a2d86 --- M bsc/BSC_Tests.ttcn 1 file changed, 70 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index cf6eaf6..31e004b 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -6572,6 +6572,7 @@ private const charstring TCHH_MODE := "TCH/H mode"; private const charstring PDCH_MODE := "PDCH mode"; private const charstring NONE_MODE := "NONE mode"; +private const charstring SDCCH8_MODE := "SDCCH8 mode"; /* Test IPA PDCH activation / deactivation triggered by VTY */ testcase TC_dyn_pdch_ipa_act_deact() runs on test_CT { @@ -6755,6 +6756,74 @@ f_shutdown_helper(); } +/* Test Osmocom dyn TS SDCCH8 activation / deactivation */ +testcase TC_dyn_ts_sdcch8_act_deact() runs on test_CT { + var RSL_Message rsl_unused, rsl_msg; + var DchanTuple dt; + var BSSAP_N_CONNECT_ind rx_c_ind; + + /* change Timeslot 6 before f_init() starts RSL */ + f_init_vty(); + f_ts_set_chcomb(0, 0, 6, "TCH/F_TCH/H_SDCCH8_PDCH"); + f_vty_transceive(BSCVTY, "drop bts connection 0 oml"); + + f_init(1, false); + f_sleep(1.0); + + var RslChannelNr pdch_chan_nr := valueof(t_RslChanNr_PDCH(6)); + + log("TCH/F_TCH/H_SDCCH8_PDCH pchan starts out in disabled mode:"); + f_ts_dyn_mode_assert(0, 0, pdch_chan_nr.tn, NONE_MODE); + /* The BSC will activate the dynamic PDCH by default, so confirm that */ + rsl_unused := f_exp_ipa_rx(0, tr_RSL_CHAN_ACT_PDCH(pdch_chan_nr, ?)); + + f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(pdch_chan_nr, 2342)); + f_sleep(1.0); + log("TCH/F_TCH/H_SDCCH8_PDC requested to PDCH ACT on startup, which was ACKed, so now in PDCH:"); + f_ts_dyn_mode_assert(0, 0, pdch_chan_nr.tn, PDCH_MODE); + + /* Fill TS0 SDCCH channels (NOTE: only 3 SDCCH/4 channels are available + * on CCCH+SDCCH4+CBCH) */ + var integer i; + for (i := 0; i < 3; i := i + 1) { + dt := f_est_dchan('23'O, i, '00010203040506'O); + } + + /* Now the dyn ts is selected. First PDCH is released, then sdcch chan is activated */ + f_ipa_tx(0, ts_RSL_CHAN_RQD(int2oct(oct2int('23'O) + i, 1), 2342)); + rsl_unused := f_exp_ipa_rx(0, tr_RSL_RF_CHAN_REL(pdch_chan_nr)); + f_ipa_tx(0, ts_RSL_RF_CHAN_REL_ACK(pdch_chan_nr)); + + rsl_msg := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV)); + dt.rsl_chan_nr := rsl_msg.ies[0].body.chan_nr; + + f_ts_dyn_mode_assert(0, 0, dt.rsl_chan_nr.tn, SDCCH8_MODE); + f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(dt.rsl_chan_nr, 2342)); + rsl_msg := f_exp_ipa_rx(0, tr_RSL_IMM_ASSIGN(0)); + f_ts_dyn_mode_assert(0, 0, dt.rsl_chan_nr.tn, SDCCH8_MODE); + + f_ipa_tx(0, ts_RSL_EST_IND(dt.rsl_chan_nr, valueof(ts_RslLinkID_DCCH(0)), '1234'O)); + BSSAP.receive(tr_BSSAP_CONNECT_ind(?, ?, tr_BSSMAP_ComplL3('1234'O))) -> value rx_c_ind; + dt.sccp_conn_id := rx_c_ind.connectionId; + BSSAP.send(ts_BSSAP_CONNECT_res(dt.sccp_conn_id)); + + /* Instruct BSC to clear channel */ + var BssmapCause cause := 0; + BSSAP.send(ts_BSSAP_DATA_req(dt.sccp_conn_id, ts_BSSMAP_ClearCommand(cause))); + f_exp_chan_rel_and_clear(dt, 0); + + /* The BSC will switch the TS back to PDCH once the only lchan using it is released: */ + rsl_unused := f_exp_ipa_rx(0, tr_RSL_CHAN_ACT_PDCH(pdch_chan_nr, ?)); + f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(pdch_chan_nr, 2342)); + f_sleep(1.0); + f_ts_dyn_mode_assert(0, 0, pdch_chan_nr.tn, PDCH_MODE); + + /* clean up config */ + f_ts_set_chcomb(0, 0, 6, "PDCH"); + + f_shutdown_helper(); +} + testcase TC_chopped_ipa_ping() runs on test_CT { const Integers bsc_ipa_ports := {mp_bsc_rsl_port, mp_bsc_oml_port, mp_bsc_ctrl_port}; for (var integer i := 0; i < lengthof(bsc_ipa_ports); i := i + 1) { @@ -9199,6 +9268,7 @@ execute( TC_dyn_pdch_ipa_act_nack() ); execute( TC_dyn_pdch_osmo_act_deact() ); execute( TC_dyn_pdch_osmo_act_nack() ); + execute( TC_dyn_ts_sdcch8_act_deact() ); execute( TC_chopped_ipa_ping() ); execute( TC_chopped_ipa_payload() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24783 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1c53c5d280ca07b000b1e951cfe1e9e5f47a2d86 Gerrit-Change-Number: 24783 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 11:48:52 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 2 Jul 2021 11:48:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Introduce test TC_dyn_ts_sdcch8_act_nack In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24798 ) Change subject: bsc: Introduce test TC_dyn_ts_sdcch8_act_nack ...................................................................... bsc: Introduce test TC_dyn_ts_sdcch8_act_nack Change-Id: I388677c90203853fae584ca60d0e6645bb4ad675 Related: SYS#5309 --- M bsc/BSC_Tests.ttcn 1 file changed, 66 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 31e004b..5f58a9e 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -6824,6 +6824,71 @@ f_shutdown_helper(); } +/* Test Osmocom dyn TS SDCCH8 activation / deactivation when SDCCH fails at BTS */ +testcase TC_dyn_ts_sdcch8_act_nack() runs on test_CT { + var RSL_Message rsl_unused, rsl_msg; + var DchanTuple dt; + var BSSAP_N_CONNECT_ind rx_c_ind; + var GsmRrMessage rr; + + /* change Timeslot 6 before f_init() starts RSL */ + f_init_vty(); + f_ts_set_chcomb(0, 0, 6, "TCH/F_TCH/H_SDCCH8_PDCH"); + f_vty_transceive(BSCVTY, "drop bts connection 0 oml"); + + f_init(1, false); + f_sleep(1.0); + + var RslChannelNr pdch_chan_nr := valueof(t_RslChanNr_PDCH(6)); + + log("TCH/F_TCH/H_SDCCH8_PDCH pchan starts out in disabled mode:"); + f_ts_dyn_mode_assert(0, 0, pdch_chan_nr.tn, NONE_MODE); + /* The BSC will activate the dynamic PDCH by default, so confirm that */ + rsl_unused := f_exp_ipa_rx(0, tr_RSL_CHAN_ACT_PDCH(pdch_chan_nr, ?)); + + f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(pdch_chan_nr, 2342)); + f_sleep(1.0); + log("TCH/F_TCH/H_SDCCH8_PDC requested to PDCH ACT on startup, which was ACKed, so now in PDCH:"); + f_ts_dyn_mode_assert(0, 0, pdch_chan_nr.tn, PDCH_MODE); + + /* Fill TS0 SDCCH channels (NOTE: only 3 SDCCH/4 channels are available + * on CCCH+SDCCH4+CBCH) */ + var integer i; + for (i := 0; i < 3; i := i + 1) { + dt := f_est_dchan('23'O, i, '00010203040506'O); + } + + /* Now the dyn ts is selected. First PDCH is released, then sdcch chan is activated */ + f_ipa_tx(0, ts_RSL_CHAN_RQD(int2oct(oct2int('23'O) + i, 1), 2342)); + rsl_unused := f_exp_ipa_rx(0, tr_RSL_RF_CHAN_REL(pdch_chan_nr)); + f_ipa_tx(0, ts_RSL_RF_CHAN_REL_ACK(pdch_chan_nr)); + + rsl_msg := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV)); + dt.rsl_chan_nr := rsl_msg.ies[0].body.chan_nr; + + f_ts_dyn_mode_assert(0, 0, dt.rsl_chan_nr.tn, SDCCH8_MODE); + f_ipa_tx(0, ts_RSL_CHAN_ACT_NACK(dt.rsl_chan_nr, RSL_ERR_EQUIPMENT_FAIL)); + rsl_msg := f_exp_ipa_rx(0, tr_RSL_IMM_ASSIGN(0)); + rr := dec_GsmRrMessage(rsl_msg.ies[1].body.full_imm_ass_info.payload); + if (rr.header.message_type != IMMEDIATE_ASSIGNMENT_REJECT) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Expected reject"); + } + + /* FIXME? Currently the TS stays in state BORKEN: */ + + /* The BSC will switch the TS back to PDCH once the only lchan using it is released: */ + /* rsl_unused := f_exp_ipa_rx(0, tr_RSL_CHAN_ACT_PDCH(pdch_chan_nr, ?)); + * f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(pdch_chan_nr, 2342)); + * f_sleep(1.0); + * f_ts_dyn_mode_assert(0, 0, pdch_chan_nr.tn, PDCH_MODE) + */ + + /* clean up config */ + f_ts_set_chcomb(0, 0, 6, "PDCH"); + + f_shutdown_helper(); +} + testcase TC_chopped_ipa_ping() runs on test_CT { const Integers bsc_ipa_ports := {mp_bsc_rsl_port, mp_bsc_oml_port, mp_bsc_ctrl_port}; for (var integer i := 0; i < lengthof(bsc_ipa_ports); i := i + 1) { @@ -9269,6 +9334,7 @@ execute( TC_dyn_pdch_osmo_act_deact() ); execute( TC_dyn_pdch_osmo_act_nack() ); execute( TC_dyn_ts_sdcch8_act_deact() ); + execute( TC_dyn_ts_sdcch8_act_nack() ); execute( TC_chopped_ipa_ping() ); execute( TC_chopped_ipa_payload() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24798 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I388677c90203853fae584ca60d0e6645bb4ad675 Gerrit-Change-Number: 24798 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 11:48:52 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 2 Jul 2021 11:48:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts: Introduce test TC_dyn_osmo_pdch_sdcch8_act In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24803 ) Change subject: bts: Introduce test TC_dyn_osmo_pdch_sdcch8_act ...................................................................... bts: Introduce test TC_dyn_osmo_pdch_sdcch8_act Change-Id: I16d5f32697d2b5df97419d39a3948777bedfc1b5 --- M bts/BTS_Tests.ttcn 1 file changed, 40 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index cb37677..06085c6 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -6181,6 +6181,45 @@ vc_conn.done; } +/* try to RSL CHAN ACT the SDCCH8 on an osmocom-style PDCH */ +private function f_TC_dyn_osmo_pdch_sdcch8_act(charstring id) runs on ConnHdlr { + var PCUIF_Message first_info; + var integer ts_nr := g_chan_nr.tn; + var integer trx_nr := 0; + var integer bts_nr := 0; + var integer pcu_conn_id := -1; + var RslChannelNr chan_nr[8] := { valueof(t_RslChanNr_SDCCH8(g_chan_nr.tn, 0)), + valueof(t_RslChanNr_SDCCH8(g_chan_nr.tn, 1)), + valueof(t_RslChanNr_SDCCH8(g_chan_nr.tn, 2)), + valueof(t_RslChanNr_SDCCH8(g_chan_nr.tn, 3)), + valueof(t_RslChanNr_SDCCH8(g_chan_nr.tn, 4)), + valueof(t_RslChanNr_SDCCH8(g_chan_nr.tn, 5)), + valueof(t_RslChanNr_SDCCH8(g_chan_nr.tn, 6)), + valueof(t_RslChanNr_SDCCH8(g_chan_nr.tn, 7)) }; + + /* register for the TCH/H channel numbers */ + for (var integer i := 0; i < lengthof(chan_nr); i := i + 1) { + f_rslem_register(0, chan_nr[i]); + } + + f_init_pcu(PCU, id, pcu_conn_id, first_info); + + for (var integer i := 0; i < lengthof(chan_nr); i := i + 1) { + f_rsl_transceive(ts_RSL_CHAN_ACT(chan_nr[i], g_pars.chan_mode), + tr_RSL_CHAN_ACT_ACK(chan_nr[i]), "RSL CHAN ACT [" & int2str(i) & "]"); + } + setverdict(pass); +} +testcase TC_dyn_osmo_pdch_sdcch8_act() runs on test_CT { + var ConnHdlrPars pars; + var ConnHdlr vc_conn; + f_init(); + + pars := valueof(t_Pars(t_RslChanNr_PDCH(4), ts_RSL_ChanMode_SIGN)); + vc_conn := f_start_handler(refers(f_TC_dyn_osmo_pdch_sdcch8_act), pars, true); + vc_conn.done; +} + /*********************************************************************** * IPA Style Dynamic Timeslot Support ***********************************************************************/ @@ -7647,6 +7686,7 @@ execute( TC_dyn_osmo_pdch_unsol_deact() ); execute( TC_dyn_osmo_pdch_tchf_act() ); execute( TC_dyn_osmo_pdch_tchh_act() ); + execute( TC_dyn_osmo_pdch_sdcch8_act() ); execute( TC_dyn_ipa_pdch_tchf_act() ); execute( TC_dyn_ipa_pdch_tchf_act_pdch_act_nack() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24803 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I16d5f32697d2b5df97419d39a3948777bedfc1b5 Gerrit-Change-Number: 24803 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 11:49:15 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 2 Jul 2021 11:49:15 +0000 Subject: Change in osmo-bts[master]: paging: prioritize CS related paging over PS related pagings. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24658 ) Change subject: paging: prioritize CS related paging over PS related pagings. ...................................................................... Patch Set 7: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24658 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I30f97672d7a0c369c4a656e878ab8cbbd83e31ea Gerrit-Change-Number: 24658 Gerrit-PatchSet: 7 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 02 Jul 2021 11:49:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 11:51:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 2 Jul 2021 11:51:16 +0000 Subject: Change in osmo-bts[master]: allow to configure multiple oml remote-ip addresses In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24513 ) Change subject: allow to configure multiple oml remote-ip addresses ...................................................................... Patch Set 7: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24513 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I205f68a3a7f35fee4c38a7cfba2b014237df2727 Gerrit-Change-Number: 24513 Gerrit-PatchSet: 7 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 02 Jul 2021 11:51:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 12:34:24 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 2 Jul 2021 12:34:24 +0000 Subject: Change in osmo-bsc[master]: handover_ctrl: add control interface for handover settings In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24600 ) Change subject: handover_ctrl: add control interface for handover settings ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24600 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I12f143906818fd6b16e8783157cbb1eb51e49ffc Gerrit-Change-Number: 24600 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 02 Jul 2021 12:34: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 Jul 2 12:34:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 2 Jul 2021 12:34:53 +0000 Subject: Change in osmo-ccid-firmware[master]: cuart: move generic paramete reset upon powerdown to where it belongs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/24814 ) Change subject: cuart: move generic paramete reset upon powerdown to where it belongs ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/24814 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: I784f66cb998fc04ae64312b809fc3a7c42bd6bff Gerrit-Change-Number: 24814 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 02 Jul 2021 12:34:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 12:34:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 2 Jul 2021 12:34:55 +0000 Subject: Change in osmo-ccid-firmware[master]: cuart: move generic paramete reset upon powerdown to where it belongs In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/24814 ) Change subject: cuart: move generic paramete reset upon powerdown to where it belongs ...................................................................... cuart: move generic paramete reset upon powerdown to where it belongs Change-Id: I784f66cb998fc04ae64312b809fc3a7c42bd6bff --- M ccid_common/cuart.c M sysmoOCTSIM/cuart_driver_asf4_usart_async.c 2 files changed, 12 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/ccid_common/cuart.c b/ccid_common/cuart.c index c617754..9966942 100644 --- a/ccid_common/cuart.c +++ b/ccid_common/cuart.c @@ -148,6 +148,18 @@ else osmo_timer_del(&cuart->wtime_tmr); break; + case CUART_CTL_POWER_5V0: + case CUART_CTL_POWER_3V0: + case CUART_CTL_POWER_1V8: + /* we have to reset this somewhere, and powering down loses all state + * this is not hw specific so it belongs here, after handling the hw specific part */ + if (!arg) { + cuart->tx_busy = false; + cuart->rx_threshold = 1; + cuart->wtime_etu = 9600; /* ISO 7816-3 Section 8.1 */ + } + + break; default: break; } diff --git a/sysmoOCTSIM/cuart_driver_asf4_usart_async.c b/sysmoOCTSIM/cuart_driver_asf4_usart_async.c index 7822c1b..42c2110 100644 --- a/sysmoOCTSIM/cuart_driver_asf4_usart_async.c +++ b/sysmoOCTSIM/cuart_driver_asf4_usart_async.c @@ -481,12 +481,6 @@ settings.vsel = v; ncn8025_set(cuart->u.asf4.slot_nr, &settings); - /* we have to reset this somewhere, and powering down loses all state */ - if (!arg) { - cuart->tx_busy = false; - cuart->wtime_etu = 9600; /* ISO 7816-3 Section 8.1 */ - } - break; case CUART_CTL_WTIME: /* no driver-specific handling of this */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/24814 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: I784f66cb998fc04ae64312b809fc3a7c42bd6bff Gerrit-Change-Number: 24814 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 12:36:13 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 2 Jul 2021 12:36:13 +0000 Subject: Change in pysim[master]: execute unit tests via nose from "setup.py test" In-Reply-To: References: Message-ID: laforge has abandoned this change. ( https://gerrit.osmocom.org/c/pysim/+/24349 ) Change subject: execute unit tests via nose from "setup.py test" ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/pysim/+/24349 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8b2205b2c4e31f4ca64d0e48f8073799c61c29c7 Gerrit-Change-Number: 24349 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 12:38:43 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 2 Jul 2021 12:38:43 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: implement BCCH carrier power reduction mode In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24776 ) Change subject: osmo-bts-trx: implement BCCH carrier power reduction mode ...................................................................... osmo-bts-trx: implement BCCH carrier power reduction mode The BCCH carrier (sometimes called C0) of a BTS shall maintain discontinuous Downlink transmission at full power in order to stay 'visible' to the mobile stations. Because of that, early versions of 3GPP TS 45.008 prohibited BS power reduction on C0. However, in the recent 3GPP TS 45.008 there is a feature called 'BCCH carrier power reduction operation'. This is a special mode of operation, where the variation of RF level for some timeslots is relaxed for the purpose of energy saving. In BCCH carrier power reduction operation, for timeslots on the C0 carrier, except timeslots carrying BCCH/CCCH, the output power may be lower than the output power used for timeslots carrying BCCH/CCCH. In this case the maximum allowed difference in output power actually transmitted by the BTS is 6 dB. The power reduction operation can be controlled by the BSC by sending BS POWER CONTROL on the A-bis/RSL with the Channel Number IE set to 0x80 (RSL_CHAN_BCCH). This makes osmo-bts reduce the transmission power on inactive timeslots of the BCCH carrier. This is a non-standard, Osmocom specific extension, so indicate support of this feature to the BSC in the feature vector. Also add a VTY command to allow enabling/disabling the power reduction locally. Add some signalling notes to the A-bis/RSL manual. For more details, see 3GPP TS 45.008, section 7.1. Change-Id: I3dcee6e910ccc61c5c63c728db9ea04327e2fc98 Depends: I69283b3f35988fc7a1a1dcf1a1ad3b67f08ec716 Related: SYS#4919 --- M doc/manuals/abis/rsl.adoc M include/osmo-bts/bts.h M include/osmo-bts/gsm_data.h M src/common/bts.c M src/common/rsl.c M src/common/scheduler.c M src/common/vty.c M src/osmo-bts-trx/main.c M src/osmo-bts-trx/scheduler_trx.c 9 files changed, 148 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/doc/manuals/abis/rsl.adoc b/doc/manuals/abis/rsl.adoc index 1205a44..b4c2609 100644 --- a/doc/manuals/abis/rsl.adoc +++ b/doc/manuals/abis/rsl.adoc @@ -476,6 +476,26 @@ See <> for the Osmocom implementation. +=== BCCH carrier power reduction operation + +According to 3GPP TS 45.008, section 7.1, the BCCH carrier (sometimes called C0) of +a BTS shall maintain discontinuous Downlink transmission at full power in order to +stay "visible" to the mobile stations. Because of that, early versions of this 3GPP +document prohibited BS power reduction on C0. However, a new feature was introduced +version 13.0.0 (2015-11) - "BCCH carrier power reduction operation". + +This is a special mode of operation, in which the variation of RF power level for +some timeslots is relaxed for the purpose of energy saving. In other words, the +output power on some timeslots, except the timeslot(s) carrying BCCH/CCCH, can be +lower than the full power. In this case the maximum allowed difference is 6 dB. + +Unfortunately, 3GPP did not specify in which way the BTS is instructed to activate +and deactivate the BCCH carrier power reduction mode. Osmocom had to invent their +own non-standard approach: the BSC needs to send _BS POWER CONTROL_ message with +the _Channel Number_ IE set to 0x80 (BCCH) and the _Message Discriminator_ set to +0x06 (Common Channel Management messages). + + === Message Formats and Contents [[rsl_crcx_msg]] diff --git a/include/osmo-bts/bts.h b/include/osmo-bts/bts.h index a891fb7..e116618 100644 --- a/include/osmo-bts/bts.h +++ b/include/osmo-bts/bts.h @@ -331,6 +331,9 @@ struct gsm_power_ctrl_params bs_dpc_params; /* BS Dynamic Power Control */ struct gsm_power_ctrl_params ms_dpc_params; /* MS Dynamic Power Control */ + /* Maximum BCCH carrier power reduction */ + uint8_t c0_power_red_db; + /* used by the sysmoBTS to adjust band */ uint8_t auto_band; @@ -410,4 +413,6 @@ /* return the gsm_lchan for the CBCH (if it exists at all) */ struct gsm_lchan *gsm_bts_get_cbch(struct gsm_bts *bts); +int bts_set_c0_pwr_red(struct gsm_bts *bts, const uint8_t red); + #endif /* _BTS_H */ diff --git a/include/osmo-bts/gsm_data.h b/include/osmo-bts/gsm_data.h index 20fe2b2..0ed6361 100644 --- a/include/osmo-bts/gsm_data.h +++ b/include/osmo-bts/gsm_data.h @@ -451,6 +451,9 @@ /* Training Sequence Set (range 0..3) */ uint8_t tsc_set; + /* Actual BCCH carrier power reduction */ + uint8_t c0_power_red_db; + /* Frequency hopping parameters (configured via OML) */ struct { bool enabled; diff --git a/src/common/bts.c b/src/common/bts.c index 7d5732b..09d9b88 100644 --- a/src/common/bts.c +++ b/src/common/bts.c @@ -948,3 +948,58 @@ return lchan; } + +/* BCCH carrier power reduction (see 3GPP TS 45.008, section 7.1) */ +int bts_set_c0_pwr_red(struct gsm_bts *bts, const uint8_t red) +{ + struct gsm_bts_trx *c0 = bts->c0; + unsigned int tn; + + if (!osmo_bts_has_feature(bts->features, BTS_FEAT_BCCH_POWER_RED)) { + LOGPTRX(c0, DRSL, LOGL_ERROR, "BCCH carrier power reduction " + "is not supported by this BTS model\n"); + return -ENOTSUP; + } + + if (red > 6 || red % 2 != 0) { + LOGPTRX(c0, DRSL, LOGL_ERROR, "BCCH carrier power reduction " + "value (%u dB) is incorrect or out of range\n", red); + return -EINVAL; + } + + LOGPTRX(c0, DRSL, LOGL_NOTICE, "BCCH carrier power reduction: " + "%u dB (%s)\n", red, red ? "enabled" : "disabled"); + + /* Timeslot 0 is always transmitting BCCH/CCCH */ + c0->ts[0].c0_power_red_db = 0; + + for (tn = 1; tn < ARRAY_SIZE(c0->ts); tn++) { + struct gsm_bts_trx_ts *ts = &c0->ts[tn]; + struct gsm_bts_trx_ts *prev = ts - 1; + + switch (ts_pchan(ts)) { + /* Not allowed on CCCH/BCCH */ + case GSM_PCHAN_CCCH: + /* Preceeding timeslot shall not exceed 2 dB */ + if (prev->c0_power_red_db > 0) + prev->c0_power_red_db = 2; + /* fall-through */ + /* Not recommended on SDCCH/8 */ + case GSM_PCHAN_SDCCH8_SACCH8C: + case GSM_PCHAN_SDCCH8_SACCH8C_CBCH: + ts->c0_power_red_db = 0; + break; + default: + ts->c0_power_red_db = red; + break; + } + } + + /* Timeslot 7 is always preceding BCCH/CCCH */ + if (c0->ts[7].c0_power_red_db > 0) + c0->ts[7].c0_power_red_db = 2; + + bts->c0_power_red_db = red; + + return 0; +} diff --git a/src/common/rsl.c b/src/common/rsl.c index 502e619..5407904 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -2179,6 +2179,7 @@ { struct abis_rsl_dchan_hdr *dch = msgb_l2(msg); struct gsm_lchan *lchan = msg->lchan; + struct gsm_bts_trx *trx = msg->trx; const struct tlv_p_entry *ie; struct tlv_parsed tp; uint8_t old, new; @@ -2187,22 +2188,34 @@ /* 9.3.4 BS Power (M) */ if (!TLVP_PRES_LEN(&tp, RSL_IE_BS_POWER, 1)) - return rsl_tx_error_report(msg->trx, RSL_ERR_MAND_IE_ERROR, &dch->chan_nr, NULL, msg); + return rsl_tx_error_report(trx, RSL_ERR_MAND_IE_ERROR, &dch->chan_nr, NULL, msg); if (*TLVP_VAL(&tp, RSL_IE_BS_POWER) & (1 << 4)) { LOGPLCHAN(lchan, DRSL, LOGL_NOTICE, "Fast Power Control is not supported\n"); - return rsl_tx_error_report(msg->trx, RSL_ERR_SERV_OPT_UNIMPL, &dch->chan_nr, NULL, msg); + return rsl_tx_error_report(trx, RSL_ERR_SERV_OPT_UNIMPL, &dch->chan_nr, NULL, msg); } new = BS_POWER2DB(*TLVP_VAL(&tp, RSL_IE_BS_POWER)); old = lchan->bs_power_ctrl.current; + /* Osmocom specific extension for BCCH carrier power reduction */ + if (dch->chan_nr == RSL_CHAN_BCCH) { + int rc = bts_set_c0_pwr_red(trx->bts, new); + if (rc != 0) { + const uint8_t cause = (rc == -ENOTSUP) ? + RSL_ERR_SERV_OPT_UNIMPL : RSL_ERR_IE_CONTENT; + return rsl_tx_error_report(trx, cause, &dch->chan_nr, NULL, msg); + } + + return 0; + } + /* 9.3.32 (TLV) BS Power Parameters IE (vendor specific) */ if ((ie = TLVP_GET(&tp, RSL_IE_BS_POWER_PARAM)) != NULL) { struct gsm_power_ctrl_params *params = &lchan->bs_dpc_params; /* Parsed parameters will override per-TRX defaults */ - memcpy(params, msg->trx->bs_dpc_params, sizeof(*params)); + memcpy(params, trx->bs_dpc_params, sizeof(*params)); /* Parsed parameters will override per-TRX defaults */ if (ie->len && parse_power_ctrl_params(params, ie->val, ie->len) != 0) { @@ -3555,6 +3568,10 @@ case RSL_MT_OSMO_ETWS_CMD: ret = rsl_rx_osmo_etws_cmd(trx, msg); break; + /* Osmocom specific extension for BCCH carrier power reduction */ + case RSL_MT_BS_POWER_CONTROL: + ret = rsl_rx_bs_pwr_ctrl(msg); + break; default: LOGPLCHAN(msg->lchan, DRSL, LOGL_NOTICE, "undefined RSL cchan msg_type 0x%02x\n", cch->c.msg_type); diff --git a/src/common/scheduler.c b/src/common/scheduler.c index 11b3f4b..6e1e4fb 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -1318,6 +1318,8 @@ /* BS Power reduction (in dB) per logical channel */ if (l1cs->lchan != NULL) br->att = l1cs->lchan->bs_power_ctrl.current; + else /* Ensure no attenuation in the absence of lchan (e.g. on PDCH) */ + br->att = 0; /* encrypt */ if (br->burst_len && l1cs->dl_encr_algo) { diff --git a/src/common/vty.c b/src/common/vty.c index 039e929..10e1748 100644 --- a/src/common/vty.c +++ b/src/common/vty.c @@ -1106,6 +1106,10 @@ vty_out(vty, " Radio Link Timeout (OVERRIDE): %s%s", stringify_radio_link_timeout(bts->radio_link_timeout.current), VTY_NEWLINE); } + if (bts->c0_power_red_db > 0) { + vty_out(vty, " BCCH carrier power reduction: %u dB%s", + bts->c0_power_red_db, VTY_NEWLINE); + } llist_for_each_entry(trx, &bts->trx_list, list) { const struct phy_instance *pinst = trx_phy_instance(trx); @@ -1264,6 +1268,39 @@ return CMD_SUCCESS; } +DEFUN(bts_c0_power_red, + bts_c0_power_red_cmd, + "bts <0-255> c0-power-red <0-6>", + "BTS Specific Commands\n" BTS_NR_STR + "BCCH carrier power reduction operation\n" + "Power reduction value (in dB, even numbers only)\n") +{ + struct gsm_network *net = gsmnet_from_vty(vty); + const int bts_nr = atoi(argv[0]); + const int red = atoi(argv[1]); + struct gsm_bts *bts; + + bts = gsm_bts_num(net, atoi(argv[0])); + if (bts == NULL) { + vty_out(vty, "%% No such BTS (%d)%s", bts_nr, VTY_NEWLINE); + return CMD_WARNING; + } + + if (red % 2 != 0) { + vty_out(vty, "%% Incorrect BCCH power reduction value, " + "an even number is expected%s", VTY_NEWLINE); + return CMD_WARNING; + } + + if (bts_set_c0_pwr_red(bts, red) != 0) { + vty_out(vty, "%% BCCH carrier power reduction operation mode " + "is not supported for BTS (%d)%s", bts_nr, VTY_NEWLINE); + return CMD_WARNING; + } + + return CMD_SUCCESS; +} + /* TODO: generalize and move indention handling to libosmocore */ #define cfg_out(vty, fmt, args...) \ vty_out(vty, "%*s" fmt, indent, "", ##args) @@ -2391,6 +2428,7 @@ install_element(ENABLE_NODE, &bts_t_t_l_power_ctrl_current_max_cmd); install_element(ENABLE_NODE, &test_send_failure_event_report_cmd); install_element(ENABLE_NODE, &radio_link_timeout_cmd); + install_element(ENABLE_NODE, &bts_c0_power_red_cmd); install_element(CONFIG_NODE, &cfg_phy_cmd); install_node(&phy_node, config_write_phy); diff --git a/src/osmo-bts-trx/main.c b/src/osmo-bts-trx/main.c index 7c2fda8..9720b03 100644 --- a/src/osmo-bts-trx/main.c +++ b/src/osmo-bts-trx/main.c @@ -147,6 +147,7 @@ osmo_bts_set_feature(bts->features, BTS_FEAT_ACCH_REP); osmo_bts_set_feature(bts->features, BTS_FEAT_MULTI_TSC); osmo_bts_set_feature(bts->features, BTS_FEAT_VAMOS); + osmo_bts_set_feature(bts->features, BTS_FEAT_BCCH_POWER_RED); bts_internal_flag_set(bts, BTS_INTERNAL_FLAG_MEAS_PAYLOAD_COMB); diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index ef50e8d..0a907fb 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -195,9 +195,13 @@ for (tn = 0; tn < ARRAY_SIZE(trx->ts); tn++) { struct phy_instance *pinst = bts->c0->pinst; struct trx_dl_burst_req *br = &pinst->u.osmotrx.br[tn]; + const struct gsm_bts_trx_ts *ts = &bts->c0->ts[tn]; memcpy(br->burst, _sched_dummy_burst, GSM_BURST_LEN); br->burst_len = GSM_BURST_LEN; + + /* BCCH carrier power reduction for this timeslot */ + br->att = ts->c0_power_red_db; } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24776 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3dcee6e910ccc61c5c63c728db9ea04327e2fc98 Gerrit-Change-Number: 24776 Gerrit-PatchSet: 7 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 12:38:43 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 2 Jul 2021 12:38:43 +0000 Subject: Change in osmo-bts[master]: power_control: constrain BS power reduction on BCCH carrier In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24815 ) Change subject: power_control: constrain BS power reduction on BCCH carrier ...................................................................... power_control: constrain BS power reduction on BCCH carrier BS Power Control is not allowed on the BCCH/CCCH carrier, unless the BTS is operating in the BCCH carrier power reduction mode. Allow constrained BS power reduction (up to 6 dB) on active logical channels iff BCCH carrier power reduction mode is enabled. Change-Id: I3299b6cdd230d3767321c3d6c64d468b7f5e1d02 Related: SYS#4919, SYS#4918 --- M src/common/rsl.c 1 file changed, 16 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/common/rsl.c b/src/common/rsl.c index 5407904..010b9d3 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -1586,8 +1586,16 @@ return rsl_tx_chan_act_nack(lchan, RSL_ERR_SERV_OPT_UNIMPL); } - lchan->bs_power_ctrl.max = BS_POWER2DB(*TLVP_VAL(&tp, RSL_IE_BS_POWER)); - lchan->bs_power_ctrl.current = lchan->bs_power_ctrl.max; + uint8_t red = BS_POWER2DB(*TLVP_VAL(&tp, RSL_IE_BS_POWER)); + + /* BS power reduction is generally not allowed on BCCH/CCCH carrier. + * However, we allow it in the BCCH carrier power reduction operation. + * Constrain BS power value by the maximum reduction for this timeslot. */ + if (ts->trx->bts->c0 == ts->trx) + red = OSMO_MIN(red, ts->c0_power_red_db); + + lchan->bs_power_ctrl.max = red; + lchan->bs_power_ctrl.current = red; LOGPLCHAN(lchan, DRSL, LOGL_DEBUG, "BS Power attenuation %u dB\n", lchan->bs_power_ctrl.current); @@ -2210,6 +2218,12 @@ return 0; } + /* BS power reduction is generally not allowed on BCCH/CCCH carrier. + * However, we allow it in the BCCH carrier power reduction operation. + * Constrain BS power value by the maximum reduction for this timeslot. */ + if (trx->bts->c0 == trx) + new = OSMO_MIN(new, lchan->ts->c0_power_red_db); + /* 9.3.32 (TLV) BS Power Parameters IE (vendor specific) */ if ((ie = TLVP_GET(&tp, RSL_IE_BS_POWER_PARAM)) != NULL) { struct gsm_power_ctrl_params *params = &lchan->bs_dpc_params; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24815 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I3299b6cdd230d3767321c3d6c64d468b7f5e1d02 Gerrit-Change-Number: 24815 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 13:01:28 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 2 Jul 2021 13:01:28 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC: add a test case for BCCH carrier power reduction mode In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24810 ) Change subject: BSC: add a test case for BCCH carrier power reduction mode ...................................................................... BSC: add a test case for BCCH carrier power reduction mode Change-Id: I084f7736cd7d09b68ed49f8ba52a14de928d4c01 Depends: I765d5e38cb0746e0458773abf3717ee9bf1cb7d1 Related: SYS#4919 --- M bsc/BSC_Tests.ttcn 1 file changed, 27 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/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 5f58a9e..6b079a6 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -6921,6 +6921,32 @@ f_shutdown_helper(); } +/* Verify activation and deactivation of the BCCH carrier power reduction mode */ +testcase TC_c0_power_red_mode() runs on test_CT { + f_init(1); + + for (var integer red := 6; red >= 0; red := red - 2) { + /* Configure BCCH carrier power reduction mode via the VTY */ + f_vty_transceive(BSCVTY, "bts 0 c0-power-reduction " & int2str(red)); + + /* Expect Osmocom specific BS Power Control message on the RSL */ + var template RSL_Message tr_rsl_pdu := tr_RSL_BS_PWR_CTRL( + chan_nr := t_RslChanNr_BCCH(0), + bs_power := tr_RSL_IE_BS_Power(red / 2)); + tr_rsl_pdu.msg_disc := tr_RSL_MsgDisc(RSL_MDISC_CCHAN, false); + var RSL_Message unused := f_exp_ipa_rx(0, tr_rsl_pdu); + + /* Additionally verify the applied value over the CTRL interface */ + var CtrlValue cred := f_ctrl_get_bts(IPA_CTRL, 0, "c0-power-reduction"); + if (cred != int2str(red)) { + setverdict(fail, "Unexpected BCCH carrier power reduction value ", + cred, " (expected ", red, ")"); + } + } + + f_shutdown_helper(); +} + /*********************************************************************** * MSC Pooling ***********************************************************************/ @@ -9341,6 +9367,7 @@ /* Power control related */ execute( TC_assignment_verify_ms_power_params_ie() ); + execute( TC_c0_power_red_mode() ); /* MSC pooling */ /* FIXME: in SCCPlite, indicating how many MSCs should be connected does currently not work. Since -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24810 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I084f7736cd7d09b68ed49f8ba52a14de928d4c01 Gerrit-Change-Number: 24810 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 13:30:09 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 2 Jul 2021 13:30:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: add control interface to MGW testsuite References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24820 ) Change subject: MGCP_Test: add control interface to MGW testsuite ...................................................................... MGCP_Test: add control interface to MGW testsuite The testsuite for osmo-mgw does not use the control interface yet. Change-Id: I7324802bf6e692ce8b7d9b269dd2385a7d3d0d77 --- M mgw/MGCP_Test.ttcn M mgw/gen_links.sh M mgw/regen_makefile.sh 3 files changed, 15 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/20/24820/1 diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn index 307f0a8..d36eb4c 100644 --- a/mgw/MGCP_Test.ttcn +++ b/mgw/MGCP_Test.ttcn @@ -30,6 +30,9 @@ import from IP_Types all; import from Osmocom_VTY_Functions all; import from TELNETasp_PortType all; + import from Osmocom_CTRL_Functions all; + import from Osmocom_CTRL_Types all; + import from Osmocom_CTRL_Adapter all; const charstring c_mgw_domain := "mgw"; const charstring c_mgw_ep_rtpbridge := "rtpbridge/"; @@ -37,7 +40,7 @@ /* any variables declared in the component will be available to * all functions that 'run on' the named component, similar to * class members in C++ */ - type component dummy_CT { + type component dummy_CT extends CTRL_Adapter_CT { port MGCP_CODEC_PT MGCP; var boolean initialized := false; var ConnectionId g_mgcp_conn_id := -1; @@ -71,6 +74,7 @@ charstring mp_remote_ipv6 := "::1"; PortNumber mp_local_rtp_port_base := 10000; PortNumber mp_local_osmux_port := 1985; + PortNumber mp_mgw_ctrl_port := 4267; } private function f_vty_enable_osmux(boolean osmux_on) runs on dummy_CT { @@ -143,6 +147,8 @@ } } + f_ipa_ctrl_start_client(mp_remote_ipv4, mp_mgw_ctrl_port); + if (isvalue(ep)) { /* do a DLCX on all connections of the EP */ f_dlcx_ignore(valueof(ep)); diff --git a/mgw/gen_links.sh b/mgw/gen_links.sh index 8893954..a4f11f6 100755 --- a/mgw/gen_links.sh +++ b/mgw/gen_links.sh @@ -37,6 +37,8 @@ FILES="TELNETasp_PT.cc TELNETasp_PT.hh TELNETasp_PortType.ttcn" gen_links $DIR $FILES + + DIR=../library FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_Types.ttcn MGCP_Types.ttcn MGCP_Templates.ttcn MGCP_CodecPort.ttcn MGCP_CodecPort_CtrlFunct.ttcn MGCP_CodecPort_CtrlFunctDef.cc " @@ -45,6 +47,9 @@ FILES+="Native_Functions.ttcn Native_FunctionDefs.cc IPCP_Types.ttcn " FILES+="Osmocom_VTY_Functions.ttcn " FILES+="RTP_CodecPort_CtrlFunct.ttcn RTP_CodecPort_CtrlFunctDef.cc " +FILES+="IPA_Types.ttcn IPA_Emulation.ttcnpp IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc " +FILES+="Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn " + gen_links $DIR $FILES ignore_pp_results diff --git a/mgw/regen_makefile.sh b/mgw/regen_makefile.sh index 4662933..cd4a734 100755 --- a/mgw/regen_makefile.sh +++ b/mgw/regen_makefile.sh @@ -1,5 +1,7 @@ #!/bin/sh -FILES="*.ttcn SDP_EncDec.cc *.c MGCP_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc RTP_EncDec.cc RTP_CodecPort_CtrlFunctDef.cc OSMUX_CodecPort_CtrlFunctDef.cc IuUP_EncDec.cc Native_FunctionDefs.cc TELNETasp_PT.cc IP_EncDec.cc " +FILES="*.ttcn *.ttcnpp IPA_CodecPort_CtrlFunctDef.cc SDP_EncDec.cc *.c MGCP_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc RTP_EncDec.cc RTP_CodecPort_CtrlFunctDef.cc OSMUX_CodecPort_CtrlFunctDef.cc IuUP_EncDec.cc Native_FunctionDefs.cc TELNETasp_PT.cc IP_EncDec.cc" + +export CPPFLAGS_TTCN3="-DIPA_EMULATION_CTRL" ../regen-makefile.sh MGCP_Test.ttcn $FILES -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24820 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7324802bf6e692ce8b7d9b269dd2385a7d3d0d77 Gerrit-Change-Number: 24820 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 Jul 2 13:30:09 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 2 Jul 2021 13:30:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: upgrade expected behavior for TC_dlcx_wildcarded References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24821 ) Change subject: MGCP_Test: upgrade expected behavior for TC_dlcx_wildcarded ...................................................................... MGCP_Test: upgrade expected behavior for TC_dlcx_wildcarded The testcase TC_dlcx_wildcarded expect osmo-mgw to reject wildcarded DLCX requests but osmo-mgw now implements wildcarded DLCX Depends: osmo-mgw I0770cf46d93ab09efe9cafdd56d2e3f1132db189 Change-Id: I61e23e264bc85eb36d07431c7839fb445c110947 --- M mgw/MGCP_Test.ttcn 1 file changed, 18 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/21/24821/1 diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn index d36eb4c..4e2f6a6 100644 --- a/mgw/MGCP_Test.ttcn +++ b/mgw/MGCP_Test.ttcn @@ -1049,24 +1049,35 @@ /* test valid wildcarded DLCX */ testcase TC_dlcx_wildcarded() runs on dummy_CT { - /* Note: A wildcarded DLCX is specified, but our MGW does not - * support this feature so we expect the MGW to reject the - * request */ var template MgcpCommand cmd; var MgcpResponse resp; var MgcpEndpoint ep := c_mgw_ep_rtpbridge & "*@" & c_mgw_domain; + const integer n_endpoints := 10; + var integer i; + var MgcpCallId call_id := '1234'H; + f_init(ep); + + /* Allocate a few endpoints */ + for (i := 0; i < n_endpoints; i := i+1) { + cmd := ts_CRCX(get_next_trans_id(), ep, "recvonly", call_id); + resp := mgcp_transceive_mgw(cmd, tr_CRCX_ACK); + } + f_ctrl_get_exp(IPA_CTRL, "trunk.rtpbridge:.endpoint_usage", "10"); + + /* Send wildcarded DLCX */ var template MgcpResponse rtmpl := { line := { - code := "507", + code := "200", string := ? }, params:= { }, sdp := omit }; + cmd := ts_DLCX(get_next_trans_id(), ep); + mgcp_transceive_mgw(cmd, rtmpl); + f_ctrl_get_exp(IPA_CTRL, "trunk.rtpbridge:.endpoint_usage", "0"); - f_init(ep); - - cmd := ts_DLCX(get_next_trans_id(), ep, '41234'H); + cmd := ts_DLCX(get_next_trans_id(), ep); resp := mgcp_transceive_mgw(cmd, rtmpl); setverdict(pass); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24821 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I61e23e264bc85eb36d07431c7839fb445c110947 Gerrit-Change-Number: 24821 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 Jul 2 13:31:57 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 2 Jul 2021 13:31:57 +0000 Subject: Change in osmo-mgw[master]: mgcp_ctrl: add functions to inspect trunk usage References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24822 ) Change subject: mgcp_ctrl: add functions to inspect trunk usage ...................................................................... mgcp_ctrl: add functions to inspect trunk usage It is useful to have control commands to check on the number of endpoints and of the number of endpoints in use. This would allow operators to monitor the MGW usage and also simplifies TTCN3 tests Change-Id: Ib8b5a6e733f521828647742085cad8eccb3e715b --- M include/osmocom/mgcp/mgcp_ctrl.h M src/libosmo-mgcp/mgcp_ctrl.c 2 files changed, 80 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/22/24822/1 diff --git a/include/osmocom/mgcp/mgcp_ctrl.h b/include/osmocom/mgcp/mgcp_ctrl.h index d7ab7cb..a2d929d 100644 --- a/include/osmocom/mgcp/mgcp_ctrl.h +++ b/include/osmocom/mgcp/mgcp_ctrl.h @@ -19,6 +19,12 @@ #pragma once -struct ctrl_handle *mgw_ctrl_interface_setup(struct mgcp_config *cfg, - const char *bind_addr, uint16_t port); +#include +enum bsc_ctrl_node { + CTRL_NODE_TRUNK = _LAST_CTRL_NODE, + _LAST_CTRL_NODE_MGW +}; + +struct ctrl_handle *mgw_ctrl_interface_setup(struct mgcp_config *cfg, + const char *bind_addr, uint16_t port); diff --git a/src/libosmo-mgcp/mgcp_ctrl.c b/src/libosmo-mgcp/mgcp_ctrl.c index 0ba231b..b3dce30 100644 --- a/src/libosmo-mgcp/mgcp_ctrl.c +++ b/src/libosmo-mgcp/mgcp_ctrl.c @@ -19,18 +19,82 @@ #include #include +#include +#include +#include +#include +static struct mgcp_config *g_cfg = NULL; -static int mgw_ctrl_node_lookup(void *data, vector vline, int *node_type, - void **node_data, int *i) +CTRL_CMD_DEFINE_RO(endpoint_usage, "endpoint_usage"); +static int get_endpoint_usage(struct ctrl_cmd *cmd, void *data) { - return 0; + struct mgcp_trunk *trunk = cmd->node; + unsigned int i; + unsigned int endpoints_in_use = 0; + + if (!trunk) + return CTRL_CMD_ERROR; + + for (i = 0; i < trunk->number_endpoints; i++) { + if (trunk->endpoints[i]->callid) + endpoints_in_use++; + } + + cmd->reply = talloc_asprintf(cmd, "%i", endpoints_in_use); + return CTRL_CMD_REPLY; } - -struct ctrl_handle *mgw_ctrl_interface_setup(struct mgcp_config *cfg, - const char *bind_addr, uint16_t port) +CTRL_CMD_DEFINE_RO(endpoint_count, "endpoint_count"); +static int get_endpoint_count(struct ctrl_cmd *cmd, void *data) { - return ctrl_interface_setup_dynip2(cfg, bind_addr, port, mgw_ctrl_node_lookup, - _LAST_CTRL_NODE); + struct mgcp_trunk *trunk = cmd->node; + + if (!trunk) + return CTRL_CMD_ERROR; + + cmd->reply = talloc_asprintf(cmd, "%i", trunk->number_endpoints); + return CTRL_CMD_REPLY; +} + +static int mgw_ctrl_node_lookup(void *data, vector vline, int *node_type, void **node_data, int *i) +{ + const char *token = vector_slot(vline, *i); + unsigned int k; + char trunk_prefix_buf[MGCP_ENDPOINT_MAXLEN]; + + switch (*node_type) { + case CTRL_NODE_ROOT: + if (strcmp(token, "trunk") != 0) + return 0; + (*i)++; + + /* Since it is illegal to use a '/' in ctrl commands, the control interface uses ':' as separator + * instead. */ + strncpy(trunk_prefix_buf, vector_slot(vline, *i), sizeof(trunk_prefix_buf)); + for (k = 0; k < strlen(trunk_prefix_buf); k++) + if (trunk_prefix_buf[k] == ':') + trunk_prefix_buf[k] = '/'; + + *node_data = mgcp_trunk_by_name(g_cfg, trunk_prefix_buf); + *node_type = CTRL_NODE_TRUNK; + break; + default: + return 0; + } + + return 1; +} + +struct ctrl_handle *mgw_ctrl_interface_setup(struct mgcp_config *cfg, const char *bind_addr, uint16_t port) +{ + struct ctrl_handle *handle; + + g_cfg = cfg; + + handle = ctrl_interface_setup_dynip2(cfg, bind_addr, port, mgw_ctrl_node_lookup, _LAST_CTRL_NODE_MGW); + OSMO_ASSERT(ctrl_cmd_install(CTRL_NODE_TRUNK, &cmd_endpoint_usage) == 0); + OSMO_ASSERT(ctrl_cmd_install(CTRL_NODE_TRUNK, &cmd_endpoint_count) == 0); + + return handle; } -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24822 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib8b5a6e733f521828647742085cad8eccb3e715b Gerrit-Change-Number: 24822 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 Jul 2 13:31:57 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 2 Jul 2021 13:31:57 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: add support for wildcarded DLCX References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24823 ) Change subject: mgcp_protocol: add support for wildcarded DLCX ...................................................................... mgcp_protocol: add support for wildcarded DLCX At the moment osmo-mgw does not support wildcarded DLCX requests that refer to the whole trunk, even though RFC3435 specifies it. However, wildcarded DLCX requests would enable the BSC or the MSC to reset its companioun osmo-mgw instance to a defined state after restart. Change-Id: I0770cf46d93ab09efe9cafdd56d2e3f1132db189 --- M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_ratectr.c 2 files changed, 20 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/23/24823/1 diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index 3014048..55c5370 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -1263,9 +1263,10 @@ char stats[1048]; const char *conn_id = NULL; struct mgcp_conn_rtp *conn = NULL; + unsigned int i; LOGPENDP(endp, DLMGCP, LOGL_NOTICE, - "DLCX: deleting connection ...\n"); + "DLCX: deleting connection(s) ...\n"); if (!mgcp_endp_avail(endp)) { rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_FAIL_AVAIL)); @@ -1274,15 +1275,7 @@ return create_err_response(NULL, 501, "DLCX", p->trans); } - /* Prohibit wildcarded requests */ - if (endp->wildcarded_req) { - LOGPENDP(endp, DLMGCP, LOGL_ERROR, - "DLCX: wildcarded endpoint names not supported.\n"); - rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_FAIL_WILDCARD)); - return create_err_response(endp, 507, "DLCX", p->trans); - } - - if (llist_count(&endp->conns) <= 0) { + if (!endp->wildcarded_req && llist_count(&endp->conns) <= 0) { LOGPENDP(endp, DLMGCP, LOGL_ERROR, "DLCX: endpoint is not holding a connection.\n"); rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_FAIL_NO_CONN)); @@ -1344,9 +1337,23 @@ } } + /* Handle wildcarded DLCX that refers to the whole trunk. This means + * that we walk over all endpoints on the trank in order to drop all + * connections on the trunk. (see also RFC3435 Annex F.7) */ + if (endp->wildcarded_req) { + int num_conns = 0; + for (i = 0; i < endp->trunk->number_endpoints; i++) { + num_conns += llist_count(&endp->conns); + mgcp_endp_release(endp->trunk->endpoints[i]); + } + rate_ctr_add(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_SUCCESS), num_conns); + return create_ok_response(endp, 200, "DLCX", p->trans); + } + /* When no connection id is supplied, we will interpret this as a - * wildcarded DLCX and drop all connections at once. (See also - * RFC3435 Section F.7) */ + * wildcarded DLCX that refers to the selected endpoint. This means + * that we drop all connections on that specific endpoint at once. + * (See also RFC3435 Section F.7) */ if (!conn_id) { int num_conns = llist_count(&endp->conns); LOGPENDP(endp, DLMGCP, LOGL_NOTICE, diff --git a/src/libosmo-mgcp/mgcp_ratectr.c b/src/libosmo-mgcp/mgcp_ratectr.c index 2868062..833cb19 100644 --- a/src/libosmo-mgcp/mgcp_ratectr.c +++ b/src/libosmo-mgcp/mgcp_ratectr.c @@ -105,7 +105,7 @@ static const struct rate_ctr_desc mgcp_dlcx_ctr_desc[] = { [MGCP_DLCX_SUCCESS] = { "dlcx:success", "DLCX command processed successfully." }, - [MGCP_DLCX_FAIL_WILDCARD] = { "dlcx:wildcard", "wildcard names in DLCX commands are unsupported." }, + [MGCP_DLCX_FAIL_WILDCARD] = { "dlcx:wildcard", "(deprecated)" }, [MGCP_DLCX_FAIL_NO_CONN] = { "dlcx:no_conn", "endpoint specified in DLCX command has no active connections." }, [MGCP_DLCX_FAIL_INVALID_CALLID] = { "dlcx:callid", "CallId specified in DLCX command mismatches endpoint's CallId ." }, -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24823 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I0770cf46d93ab09efe9cafdd56d2e3f1132db189 Gerrit-Change-Number: 24823 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 Jul 2 13:34:23 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 2 Jul 2021 13:34:23 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: add support for wildcarded DLCX 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/+/24823 to look at the new patch set (#2). Change subject: mgcp_protocol: add support for wildcarded DLCX ...................................................................... mgcp_protocol: add support for wildcarded DLCX At the moment osmo-mgw does not support wildcarded DLCX requests that refer to the whole trunk, even though RFC3435 specifies it. However, wildcarded DLCX requests would enable the BSC or the MSC to reset its companioun osmo-mgw instance to a defined state after restart. Change-Id: I0770cf46d93ab09efe9cafdd56d2e3f1132db189 --- M include/osmocom/mgcp/mgcp_ratectr.h M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_ratectr.c 3 files changed, 19 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/23/24823/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24823 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I0770cf46d93ab09efe9cafdd56d2e3f1132db189 Gerrit-Change-Number: 24823 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 14:25:05 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 2 Jul 2021 14:25:05 +0000 Subject: Change in libosmocore[master]: gprs_ns2: fix crash when changing the MTU References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24824 ) Change subject: gprs_ns2: fix crash when changing the MTU ...................................................................... gprs_ns2: fix crash when changing the MTU When the MTU changes for any fr device, all NSE will recalculate their MTU. If any NSE is alive, libosmocore will crash. Related: OS#5192 Change-Id: I31ba5cefea7bbb0b74060d6664b42c58815ee2a1 --- M src/gb/gprs_ns2.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/24/24824/1 diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index 720e836..a8e646b 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -1552,7 +1552,7 @@ nse->mtu = mtu; if (nse->alive) - ns2_prim_status_ind(nsvc->nse, NULL, 0, GPRS_NS2_AFF_CAUSE_MTU_CHANGE); + ns2_prim_status_ind(nse, NULL, 0, GPRS_NS2_AFF_CAUSE_MTU_CHANGE); } /*! calculate the transfer capabilities for a nse -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24824 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I31ba5cefea7bbb0b74060d6664b42c58815ee2a1 Gerrit-Change-Number: 24824 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 14:25:06 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 2 Jul 2021 14:25:06 +0000 Subject: Change in libosmocore[master]: gprs_ns2: fix check of MTU changes for frame relay References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24825 ) Change subject: gprs_ns2: fix check of MTU changes for frame relay ...................................................................... gprs_ns2: fix check of MTU changes for frame relay The frame relay need 2 byte for data packets. Related: OS#5192 Change-Id: I02d4e81896a473aeb79ea2f2983e12324244048f --- M src/gb/gprs_ns2_fr.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/25/24825/1 diff --git a/src/gb/gprs_ns2_fr.c b/src/gb/gprs_ns2_fr.c index 3113b00..e5d97d6 100644 --- a/src/gb/gprs_ns2_fr.c +++ b/src/gb/gprs_ns2_fr.c @@ -601,7 +601,7 @@ struct priv_bind *bpriv = bind->priv; struct gprs_ns2_nse *nse; - if (mtu == bind->mtu) + if (mtu - 2 == bind->mtu) return; LOGBIND(bind, LOGL_INFO, "MTU changed from %d to %d.\n", -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24825 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I02d4e81896a473aeb79ea2f2983e12324244048f Gerrit-Change-Number: 24825 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 14:26:59 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 2 Jul 2021 14:26:59 +0000 Subject: Change in libosmocore[master]: gprs_ns2: fix crash when changing the MTU In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24824 ) Change subject: gprs_ns2: fix crash when changing the MTU ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24824 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I31ba5cefea7bbb0b74060d6664b42c58815ee2a1 Gerrit-Change-Number: 24824 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: daniel Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Fri, 02 Jul 2021 14:26:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 14:31:48 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 2 Jul 2021 14:31:48 +0000 Subject: Change in libosmocore[master]: gprs_ns2: fix check of MTU changes for frame relay In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24825 ) Change subject: gprs_ns2: fix check of MTU changes for frame relay ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24825/1/src/gb/gprs_ns2_fr.c File src/gb/gprs_ns2_fr.c: https://gerrit.osmocom.org/c/libosmocore/+/24825/1/src/gb/gprs_ns2_fr.c at 607 PS1, Line 607: LOGBIND(bind, LOGL_INFO, "MTU changed from %d to %d.\n", This message will still print the wrong MTU. I'd instead subtract 2 from mtu and keep the check above as is. Then remove the subtraction on line 611 below. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24825 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I02d4e81896a473aeb79ea2f2983e12324244048f Gerrit-Change-Number: 24825 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Comment-Date: Fri, 02 Jul 2021 14:31:48 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 14:35:34 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 2 Jul 2021 14:35:34 +0000 Subject: Change in libosmocore[master]: gprs_ns2: fix check of MTU changes for frame relay In-Reply-To: References: Message-ID: Hello Jenkins Builder, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/24825 to look at the new patch set (#2). Change subject: gprs_ns2: fix check of MTU changes for frame relay ...................................................................... gprs_ns2: fix check of MTU changes for frame relay The frame relay needs 2 byte for data packets. Related: OS#5192 Change-Id: I02d4e81896a473aeb79ea2f2983e12324244048f --- M src/gb/gprs_ns2_fr.c 1 file changed, 6 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/25/24825/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24825 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I02d4e81896a473aeb79ea2f2983e12324244048f Gerrit-Change-Number: 24825 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 14:36:41 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 2 Jul 2021 14:36:41 +0000 Subject: Change in libosmocore[master]: gprs_ns2: fix check of MTU changes for frame relay In-Reply-To: References: Message-ID: Hello Jenkins Builder, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/24825 to look at the new patch set (#3). Change subject: gprs_ns2: fix check of MTU changes for frame relay ...................................................................... gprs_ns2: fix check of MTU changes for frame relay The frame relay needs 2 byte for data packets. Related: OS#5192 Change-Id: I02d4e81896a473aeb79ea2f2983e12324244048f --- M src/gb/gprs_ns2_fr.c 1 file changed, 7 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/25/24825/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24825 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I02d4e81896a473aeb79ea2f2983e12324244048f Gerrit-Change-Number: 24825 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 14:37:04 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 2 Jul 2021 14:37:04 +0000 Subject: Change in libosmocore[master]: gprs_ns2: fix check of MTU changes for frame relay In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24825 ) Change subject: gprs_ns2: fix check of MTU changes for frame relay ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24825 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I02d4e81896a473aeb79ea2f2983e12324244048f Gerrit-Change-Number: 24825 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Comment-Date: Fri, 02 Jul 2021 14:37: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 Jul 2 14:43:50 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 2 Jul 2021 14:43:50 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vc_fsm: rename state UNCONFIGURED -> DISABLED In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24685 ) Change subject: gprs_ns2_vc_fsm: rename state UNCONFIGURED -> DISABLED ...................................................................... Patch Set 1: > Patch Set 1: > > I'm not sure/convinced that 'unconfigured' is a wrong name. Why would "unconfigured" only happen at start-up? What event is causing it to become unconfigured later on again, and why is the name wrong? Is it still in some way "configured" while in that state? Original the unconfigured was just the initial state. Later a vty command for testing was introduced. And now the frame relay is forcing all NSVC into the unconfigured state when the DLCI become unavailable. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24685 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5f46ce5e27d7556d5e17bc236f1765d42aecbe0c Gerrit-Change-Number: 24685 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 02 Jul 2021 14:43:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 14:55:19 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 2 Jul 2021 14:55:19 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: dump_nsvc: change output depending on NSVCI In-Reply-To: References: Message-ID: Hello Jenkins Builder, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/24686 to look at the new patch set (#2). Change subject: gprs_ns2_vty: dump_nsvc: change output depending on NSVCI ...................................................................... gprs_ns2_vty: dump_nsvc: change output depending on NSVCI If the NSVCI is valid, there is no signalling or data weight defined (internally this is 1). For NSVC with NSVCI don't print the signalling or data weight. For NSVC without NSVCI, don't print NSVCI at all. Related: OS#5180 Change-Id: Iaadc806a9136436468e2b02eb0bc1f4570a10ecc --- M src/gb/gprs_ns2_vty.c M tests/gb/gprs_ns2_vty.vty 2 files changed, 17 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/86/24686/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24686 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iaadc806a9136436468e2b02eb0bc1f4570a10ecc Gerrit-Change-Number: 24686 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 15:00:01 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 2 Jul 2021 15:00:01 +0000 Subject: Change in osmo-bts[master]: manuals/abis/rsl.adoc: clarify RF Resource Indication conformance References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24826 ) Change subject: manuals/abis/rsl.adoc: clarify RF Resource Indication conformance ...................................................................... manuals/abis/rsl.adoc: clarify RF Resource Indication conformance Change-Id: Ia582c55c3c20f1f91993b3113d77ef2f34ca2eda Related: SYS#5313, OS#1569 --- M doc/manuals/abis/rsl.adoc 1 file changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/26/24826/1 diff --git a/doc/manuals/abis/rsl.adoc b/doc/manuals/abis/rsl.adoc index b4c2609..1fcab16 100644 --- a/doc/manuals/abis/rsl.adoc +++ b/doc/manuals/abis/rsl.adoc @@ -244,16 +244,16 @@ [[RF_RESOURCE_INDICATION]] ==== RF Resource Indication -This message does not conform to 3GPP TS 48.058 ? 8.6.1, in that it omits the -_Resource Information_ IE that would contain the actual payload data, which -renders this message void. +For all osmo-bts variants, except osmo-bts-trx, this message does not conform +to 3GPP TS 48.058 ? 8.6.1, in that it omits the _Resource Information_ IE that +would contain the actual payload data, which renders this message void. ._RF Resource Indication_ message IE exceptions [options="header",cols="10%,30%,60%"] |=== | TS 48.058 ? | IE Name | Handling -| 9.3.21 | Resource Information | OsmoBTS omits this IE, though TS 48.058 - specifies it as mandatory. +| 9.3.21 | Resource Information | DSP based osmo-bts variants omit this IE, though + TS 48.058 specifies it as mandatory. |=== -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24826 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia582c55c3c20f1f91993b3113d77ef2f34ca2eda Gerrit-Change-Number: 24826 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 Jul 2 15:09:43 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 2 Jul 2021 15:09:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: add control interface to MGW testsuite In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24820 ) Change subject: MGCP_Test: add control interface to MGW testsuite ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24820/1/mgw/MGCP_Test.ttcn File mgw/MGCP_Test.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24820/1/mgw/MGCP_Test.ttcn at 150 PS1, Line 150: f_ipa_ctrl_start_client(mp_remote_ipv4, mp_mgw_ctrl_port); do we really want to start the CTRL conn on every test? I'd leave it only for tests requiring CTRL stuff to be done manually. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24820 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7324802bf6e692ce8b7d9b269dd2385a7d3d0d77 Gerrit-Change-Number: 24820 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 02 Jul 2021 15:09: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 Fri Jul 2 15:10:18 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 2 Jul 2021 15:10:18 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: upgrade expected behavior for TC_dlcx_wildcarded In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24821 ) Change subject: MGCP_Test: upgrade expected behavior for TC_dlcx_wildcarded ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24821 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I61e23e264bc85eb36d07431c7839fb445c110947 Gerrit-Change-Number: 24821 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 02 Jul 2021 15:10:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 15:11:46 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 2 Jul 2021 15:11:46 +0000 Subject: Change in osmo-mgw[master]: mgcp_ctrl: add functions to inspect trunk usage In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24822 ) Change subject: mgcp_ctrl: add functions to inspect trunk usage ...................................................................... Patch Set 1: Code-Review+1 I'm not against this patch, but I just wonder whether it'd make more sense to have this as osmo_stat instead? -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24822 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib8b5a6e733f521828647742085cad8eccb3e715b Gerrit-Change-Number: 24822 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 02 Jul 2021 15:11: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 Jul 2 15:14:30 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 2 Jul 2021 15:14:30 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: inter-MSC HO test: use CGI cell ID, not LAI References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24827 ) Change subject: msc: inter-MSC HO test: use CGI cell ID, not LAI ...................................................................... msc: inter-MSC HO test: use CGI cell ID, not LAI Fixes inter-MSC handover tests: in the inter-MSC 'Handover Required', do not send a LAI cell identifier, but a CGI one. This is analogous to the fix applied to inter-BSC HO in I48276acf923626db171683dfa03ef43614a71380. Rationale: As explained in OS#5188, 3GPP TS 48.008 allows a LAI identification only in the Cell Identifier List IE, but not in the single Cell Identifier IE. In the inter-MSC HO test's Handover Required message, we so far send a LAI identifier in a List IE to osmo-msc. And so far, osmo-msc simply echos that in the Handover Request message's single Cell Id IE. The LAI is, as actually defined in the spec, omitted from the single IE in deps/titan.ProtocolModules.BSSMAP/src/BSSAP_Types.ttcn, and when osmo-msc sends the non-standard LAI Id, ttcn3 fails to parse the BSSMAP Handover Request message: the Cell Identifier IE gets wrong values, and all remaining IEs are parsed as 'omit' even though they are present on the wire. So as long as osmo-msc sends back a LAI Id, we cannot sanely verify the Handover Request received from the MSC. The CGI identifier type is supported in both IEs. So when the test sends a CGI identifier in the Handover Required, osmo-msc will also reflect a CGI identifier in the Handover Request, and ttcn3 parsing works. Related: OS#5188 SYS#5324 Change-Id: I525b5deaa9634fcdb63fbd2c97c767aff045767c --- M msc/MSC_Tests.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/27/24827/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index e548c5c..a165d5c 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -5985,7 +5985,7 @@ var BssmapCause cause := enum2int(cause_val); var template BSSMAP_FIELD_CellIdentificationList cil; - cil := { cIl_LAI := { ts_BSSMAP_CI_LAI('017'H, '017'H, 1) } }; + cil := { cIl_CGI := { ts_BSSMAP_CI_CGI('017'H, '017'H, 1, 1) } }; /* old BSS sends Handover Required */ BSSAP.send(ts_BSSMAP_HandoverRequired(cause, cil)); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24827 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I525b5deaa9634fcdb63fbd2c97c767aff045767c Gerrit-Change-Number: 24827 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 15:16:12 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 2 Jul 2021 15:16:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: inter-MSC HO test: use CGI cell ID, not LAI In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24827 ) Change subject: msc: inter-MSC HO test: use CGI cell ID, not LAI ...................................................................... Patch Set 1: Code-Review+2 fixing ttcn3 tests... -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24827 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I525b5deaa9634fcdb63fbd2c97c767aff045767c Gerrit-Change-Number: 24827 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Fri, 02 Jul 2021 15:16:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 15:16:29 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 2 Jul 2021 15:16:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: inter-MSC HO test: use CGI cell ID, not LAI In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24827 ) Change subject: msc: inter-MSC HO test: use CGI cell ID, not LAI ...................................................................... msc: inter-MSC HO test: use CGI cell ID, not LAI Fixes inter-MSC handover tests: in the inter-MSC 'Handover Required', do not send a LAI cell identifier, but a CGI one. This is analogous to the fix applied to inter-BSC HO in I48276acf923626db171683dfa03ef43614a71380. Rationale: As explained in OS#5188, 3GPP TS 48.008 allows a LAI identification only in the Cell Identifier List IE, but not in the single Cell Identifier IE. In the inter-MSC HO test's Handover Required message, we so far send a LAI identifier in a List IE to osmo-msc. And so far, osmo-msc simply echos that in the Handover Request message's single Cell Id IE. The LAI is, as actually defined in the spec, omitted from the single IE in deps/titan.ProtocolModules.BSSMAP/src/BSSAP_Types.ttcn, and when osmo-msc sends the non-standard LAI Id, ttcn3 fails to parse the BSSMAP Handover Request message: the Cell Identifier IE gets wrong values, and all remaining IEs are parsed as 'omit' even though they are present on the wire. So as long as osmo-msc sends back a LAI Id, we cannot sanely verify the Handover Request received from the MSC. The CGI identifier type is supported in both IEs. So when the test sends a CGI identifier in the Handover Required, osmo-msc will also reflect a CGI identifier in the Handover Request, and ttcn3 parsing works. Related: OS#5188 SYS#5324 Change-Id: I525b5deaa9634fcdb63fbd2c97c767aff045767c --- M msc/MSC_Tests.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified neels: Looks good to me, approved diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index e548c5c..a165d5c 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -5985,7 +5985,7 @@ var BssmapCause cause := enum2int(cause_val); var template BSSMAP_FIELD_CellIdentificationList cil; - cil := { cIl_LAI := { ts_BSSMAP_CI_LAI('017'H, '017'H, 1) } }; + cil := { cIl_CGI := { ts_BSSMAP_CI_CGI('017'H, '017'H, 1, 1) } }; /* old BSS sends Handover Required */ BSSAP.send(ts_BSSMAP_HandoverRequired(cause, cil)); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24827 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I525b5deaa9634fcdb63fbd2c97c767aff045767c Gerrit-Change-Number: 24827 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 15:19:27 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 2 Jul 2021 15:19:27 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: add support for wildcarded DLCX In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24823 ) Change subject: mgcp_protocol: add support for wildcarded DLCX ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/24823/2/src/libosmo-mgcp/mgcp_protocol.c File src/libosmo-mgcp/mgcp_protocol.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24823/2/src/libosmo-mgcp/mgcp_protocol.c at 1278 PS2, Line 1278: if (!endp->wildcarded_req && llist_count(&endp->conns) <= 0) { how can llist_count return < 0? I don't think it can. Morevoer, I guess you want to check if the list is not empty, so use !llist_empty() which doesn't iterate over the whole list like llist_count does. EDIT: I see it comes from existing code. However it may make sense to do the changes I mentioned as a separate commit perhaps. https://gerrit.osmocom.org/c/osmo-mgw/+/24823/2/src/libosmo-mgcp/mgcp_protocol.c at 1350 PS2, Line 1350: return create_ok_response(endp, 200, "DLCX", p->trans); isn't endp released already in here since you released all the endpoints in the loop above? -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24823 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I0770cf46d93ab09efe9cafdd56d2e3f1132db189 Gerrit-Change-Number: 24823 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 02 Jul 2021 15:19: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 Fri Jul 2 15:19:58 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 2 Jul 2021 15:19:58 +0000 Subject: Change in libosmocore[master]: gprs_ns2: fix crash when changing the MTU In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24824 ) Change subject: gprs_ns2: fix crash when changing the MTU ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24824 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I31ba5cefea7bbb0b74060d6664b42c58815ee2a1 Gerrit-Change-Number: 24824 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 02 Jul 2021 15:19:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 15:23:18 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 2 Jul 2021 15:23:18 +0000 Subject: Change in libosmocore[master]: gprs_ns2: fix check of MTU changes for frame relay In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24825 ) Change subject: gprs_ns2: fix check of MTU changes for frame relay ...................................................................... Patch Set 3: Code-Review+1 (2 comments) https://gerrit.osmocom.org/c/libosmocore/+/24825/3/src/gb/gprs_ns2_fr.c File src/gb/gprs_ns2_fr.c: https://gerrit.osmocom.org/c/libosmocore/+/24825/3/src/gb/gprs_ns2_fr.c at 606 PS3, Line 606: return; looks like this function may need to be changed to return error codes? https://gerrit.osmocom.org/c/libosmocore/+/24825/3/src/gb/gprs_ns2_fr.c at 607 PS3, Line 607: mtu -= 2; having mtu this way is a bit confusing, I'd welcome changing the name to make it easier to follow what's counted inside this MTU. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24825 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I02d4e81896a473aeb79ea2f2983e12324244048f Gerrit-Change-Number: 24825 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 02 Jul 2021 15:23:18 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 15:24:23 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 2 Jul 2021 15:24:23 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: dump_nsvc: change output depending on NSVCI In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24686 ) Change subject: gprs_ns2_vty: dump_nsvc: change output depending on NSVCI ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24686 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iaadc806a9136436468e2b02eb0bc1f4570a10ecc Gerrit-Change-Number: 24686 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 02 Jul 2021 15:24: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 Jul 2 15:24:51 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 2 Jul 2021 15:24:51 +0000 Subject: Change in osmo-bts[master]: manuals/abis/rsl.adoc: clarify RF Resource Indication conformance In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24826 ) Change subject: manuals/abis/rsl.adoc: clarify RF Resource Indication conformance ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24826 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia582c55c3c20f1f91993b3113d77ef2f34ca2eda Gerrit-Change-Number: 24826 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 02 Jul 2021 15:24:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 15:27:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 2 Jul 2021 15:27:06 +0000 Subject: Change in osmo-bsc[master]: handover_ctrl: add control interface for handover settings In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24600 ) Change subject: handover_ctrl: add control interface for handover settings ...................................................................... Patch Set 6: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24600/1/src/osmo-bsc/handover_ctrl.c File src/osmo-bsc/handover_ctrl.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24600/1/src/osmo-bsc/handover_ctrl.c at 33 PS1, Line 33: bool verify_vty_cmd_arg(void *ctx, const char *range, const char *value) > The function cmd_match is a bit strange, I could not make it work, but I from the code I can see tha [?] This is still holding VTY naming... -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24600 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I12f143906818fd6b16e8783157cbb1eb51e49ffc Gerrit-Change-Number: 24600 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 02 Jul 2021 15:27:06 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: neels Comment-In-Reply-To: laforge Comment-In-Reply-To: pespin Comment-In-Reply-To: dexter Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 15:38:19 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 2 Jul 2021 15:38:19 +0000 Subject: Change in libosmocore[master]: gprs_ns2: fix crash when changing the MTU In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/24824 to look at the new patch set (#2). Change subject: gprs_ns2: fix crash when changing the MTU ...................................................................... gprs_ns2: fix crash when changing the MTU When the MTU changes for any fr device, all NSE will recalculate their MTU. If any NSE is alive, libosmocore will crash. Related: OS#5192 Change-Id: I31ba5cefea7bbb0b74060d6664b42c58815ee2a1 --- M src/gb/gprs_ns2.c M tests/gb/gprs_ns2_test.c 2 files changed, 12 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/24/24824/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24824 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I31ba5cefea7bbb0b74060d6664b42c58815ee2a1 Gerrit-Change-Number: 24824 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 15:38:19 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 2 Jul 2021 15:38:19 +0000 Subject: Change in libosmocore[master]: gprs_ns2: correct mtu value in the log line References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24828 ) Change subject: gprs_ns2: correct mtu value in the log line ...................................................................... gprs_ns2: correct mtu value in the log line The log line should describe what's reported towards the NS user and not the NSE MTU itself Related: OS#5192 Change-Id: I3f5445a1ba8c89c4023ff48be15a80569a128528 --- M src/gb/gprs_ns2.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/28/24828/1 diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index a8e646b..3eb59e5 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -562,11 +562,11 @@ nsp.u.status.nsvc = gprs_ns2_ll_str_buf(nsvc_str, sizeof(nsvc_str), nsvc); LOGNSVC(nsvc, LOGL_NOTICE, "NS-STATUS.ind(bvci=%05u): cause=%s, transfer=%d, first=%d, mtu=%d\n", nsp.bvci, gprs_ns2_aff_cause_prim_str(nsp.u.status.cause), - nsp.u.status.transfer, nsp.u.status.first, nse->mtu); + nsp.u.status.transfer, nsp.u.status.first, nsp.u.status.mtu); } else { LOGNSE(nse, LOGL_NOTICE, "NS-STATUS.ind(bvci=%05u): cause=%s, transfer=%d, first=%d, mtu=%d\n", nsp.bvci, gprs_ns2_aff_cause_prim_str(nsp.u.status.cause), - nsp.u.status.transfer, nsp.u.status.first, nse->mtu); + nsp.u.status.transfer, nsp.u.status.first, nsp.u.status.mtu); } osmo_prim_init(&nsp.oph, SAP_NS, GPRS_NS2_PRIM_STATUS, PRIM_OP_INDICATION, NULL); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24828 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3f5445a1ba8c89c4023ff48be15a80569a128528 Gerrit-Change-Number: 24828 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 15:40:48 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 2 Jul 2021 15:40:48 +0000 Subject: Change in libosmocore[master]: gprs_ns2: correct mtu value in the log line In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24828 ) Change subject: gprs_ns2: correct mtu value in the log line ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24828 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3f5445a1ba8c89c4023ff48be15a80569a128528 Gerrit-Change-Number: 24828 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Fri, 02 Jul 2021 15:40: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 Jul 2 15:49:19 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 2 Jul 2021 15:49:19 +0000 Subject: Change in libosmocore[master]: gprs_ns2: fix check of MTU changes for frame relay In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24825 ) Change subject: gprs_ns2: fix check of MTU changes for frame relay ...................................................................... Patch Set 4: (2 comments) https://gerrit.osmocom.org/c/libosmocore/+/24825/3/src/gb/gprs_ns2_fr.c File src/gb/gprs_ns2_fr.c: https://gerrit.osmocom.org/c/libosmocore/+/24825/3/src/gb/gprs_ns2_fr.c at 606 PS3, Line 606: return; > looks like this function may need to be changed to return error codes? What should we do with such invalid mtu? This is complete invalid and we should just stop using any NSVCs from this bind. https://gerrit.osmocom.org/c/libosmocore/+/24825/3/src/gb/gprs_ns2_fr.c at 607 PS3, Line 607: mtu -= 2; > having mtu this way is a bit confusing, I'd welcome changing the name to make it easier to follow wh [?] we're interested in the mtu from the NS side. So the MTU for us is the maximum transmit size of a NS PDU. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24825 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I02d4e81896a473aeb79ea2f2983e12324244048f Gerrit-Change-Number: 24825 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 02 Jul 2021 15:49:19 +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 Jul 2 15:52:07 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 2 Jul 2021 15:52:07 +0000 Subject: Change in osmo-bsc[master]: power_control: implement BCCH carrier power reduction operation In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24777 ) Change subject: power_control: implement BCCH carrier power reduction operation ...................................................................... Patch Set 3: (15 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/24777/3//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bsc/+/24777/3//COMMIT_MSG at 14 PS3, Line 14: However, in the recent 3GPP TS 45.008 there is a feature called (could be nice to mention the spec version nr) https://gerrit.osmocom.org/c/osmo-bsc/+/24777/3//COMMIT_MSG at 30 PS3, Line 30: A value greater than zero would make osmo-bts reduce the power what do you mean, "would"? https://gerrit.osmocom.org/c/osmo-bsc/+/24777/3/doc/manuals/chapters/power_control.adoc File doc/manuals/chapters/power_control.adoc: https://gerrit.osmocom.org/c/osmo-bsc/+/24777/3/doc/manuals/chapters/power_control.adoc at 334 PS3, Line 334: a BTS shall maintain discontinuous Downlink transmission at full power in order to (are you sure that you don't mean "continuous") https://gerrit.osmocom.org/c/osmo-bsc/+/24777/3/doc/manuals/chapters/power_control.adoc at 337 PS3, Line 337: version 13.0.0 (2015-11) - "BCCH carrier power reduction operation". "in version" https://gerrit.osmocom.org/c/osmo-bsc/+/24777/3/doc/manuals/chapters/power_control.adoc at 348 PS3, Line 348: and the simulation results can be found in 3GPP TR 45.926. ("TS"?) https://gerrit.osmocom.org/c/osmo-bsc/+/24777/3/doc/manuals/chapters/power_control.adoc at 352 PS3, Line 352: At the moment of writing this manual, the only BTS model that can instructed to (the usual expression is "at the time of writing") "that can be instructed" https://gerrit.osmocom.org/c/osmo-bsc/+/24777/3/doc/manuals/chapters/power_control.adoc at 354 PS3, Line 354: can be added on request sounds like it doesn't belong in this manual? if you need to say this, maybe rather say "may be added in the future", otherwise it sounds like osmocom is offering a free service of implementing things on request https://gerrit.osmocom.org/c/osmo-bsc/+/24777/3/doc/manuals/chapters/power_control.adoc at 358 PS3, Line 358: `show bts` command in the VTY interface. maybe "in OsmoBSC's VTY interface" https://gerrit.osmocom.org/c/osmo-bsc/+/24777/3/doc/manuals/chapters/power_control.adoc at 363 PS3, Line 363: There is currently no logic in osmo-bsc for automatic activation and deactivation (technically "osmo-bsc" is the binary and here it should be OsmoBSC ...) https://gerrit.osmocom.org/c/osmo-bsc/+/24777/3/doc/manuals/chapters/power_control.adoc at 407 PS3, Line 407: 3652121201381481804 maybe rather make it "1" ? otherwise it looks like a meaningful important number https://gerrit.osmocom.org/c/osmo-bsc/+/24777/3/src/osmo-bsc/bsc_ctrl_commands.c File src/osmo-bsc/bsc_ctrl_commands.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24777/3/src/osmo-bsc/bsc_ctrl_commands.c at 555 PS3, Line 555: const int red = atoi(value); atoi() is not sufficient to verify proper input. The value could be *anything*, supplied by an external user. atoi() would return some int value on error, e.g. if the user supplies value = "potatoe" or "1.234". A proper input value checking is found at e.g. https://git.osmocom.org/libosmocore/tree/src/gsm/gsm23003.c?id=d9825c0a2cfeab682f29167b11aaa154b8a36bae#n498 errno = 0; _mnc = strtol(mnc_str, &endptr, 10); if (errno) return -errno; else if (*endptr) return -EINVAL; if (_mnc < 0 || _mnc > 999) return -ERANGE; (slightly tweaked the example here to return -errno) https://gerrit.osmocom.org/c/osmo-bsc/+/24777/3/src/osmo-bsc/bsc_ctrl_commands.c at 584 PS3, Line 584: const int red = atoi(cmd->value); (here atoi() is fine because the verify function should have verified the value already) https://gerrit.osmocom.org/c/osmo-bsc/+/24777/3/src/osmo-bsc/bts_osmobts.c File src/osmo-bsc/bts_osmobts.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24777/3/src/osmo-bsc/bts_osmobts.c at 61 PS3, Line 61: dh = (struct abis_rsl_dchan_hdr *) msgb_put(msg, sizeof(*dh)); (usually no spaces in type cast) https://gerrit.osmocom.org/c/osmo-bsc/+/24777/3/src/osmo-bsc/bts_osmobts.c at 65 PS3, Line 65: dh->chan_nr = RSL_CHAN_BCCH; in the commit log you're saying this is abusing the message? maybe some comment here would be nice to indicate that it is an osmocom specific coding? https://gerrit.osmocom.org/c/osmo-bsc/+/24777/3/tests/osmo-bsc.vty File tests/osmo-bsc.vty: https://gerrit.osmocom.org/c/osmo-bsc/+/24777/3/tests/osmo-bsc.vty at 49 PS3, Line 49: c0-power-reduction BCCH carrier power reduction operation i would recommend also adding tests for the parameters in the way done below, e.g. 'bts 0 c0-power-reduction ?' to verify that the argument doc strings are matched up correctly -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24777 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I047fce33d4d3e4c569dd006ba17858467a2f4783 Gerrit-Change-Number: 24777 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 02 Jul 2021 15:52:07 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 15:52:21 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 2 Jul 2021 15:52:21 +0000 Subject: Change in libosmocore[master]: gprs_ns2: fix check of MTU changes for frame relay In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24825 ) Change subject: gprs_ns2: fix check of MTU changes for frame relay ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24825/3/src/gb/gprs_ns2_fr.c File src/gb/gprs_ns2_fr.c: https://gerrit.osmocom.org/c/libosmocore/+/24825/3/src/gb/gprs_ns2_fr.c at 607 PS3, Line 607: mtu -= 2; > we're interested in the mtu from the NS side. [?] then prefixing everything with "ns_mtu" may be helpful to understand better. Just my five cents from a point of view from someone not really knowing the code. I didn't check at bind->mtu definition in the struct { ... mtu; }, but it may make sense to document it there too if not already there. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24825 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I02d4e81896a473aeb79ea2f2983e12324244048f Gerrit-Change-Number: 24825 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 02 Jul 2021 15:52:21 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: lynxis lazus Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 16:05:22 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 2 Jul 2021 16:05:22 +0000 Subject: Change in osmo-ttcn3-hacks[master]: update expected-results.xml files References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24829 ) Change subject: update expected-results.xml files ...................................................................... update expected-results.xml files Change-Id: Idcf764cd2d251210bb123d2a5ea782cda0d670b7 --- M bsc/expected-results.xml M gbproxy/expected-results.xml M mgw/expected-results.xml M msc/expected-results.xml M ns/expected-results.xml M pcu/expected-results.xml M sgsn/expected-results.xml 7 files changed, 193 insertions(+), 29 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/29/24829/1 diff --git a/bsc/expected-results.xml b/bsc/expected-results.xml index 0efc3e0..d2052b8 100644 --- a/bsc/expected-results.xml +++ b/bsc/expected-results.xml @@ -1,5 +1,5 @@ - + @@ -31,6 +31,8 @@ + + @@ -55,6 +57,7 @@ + @@ -133,13 +136,25 @@ + + + + + + + + + + + + @@ -195,6 +210,9 @@ + + + diff --git a/gbproxy/expected-results.xml b/gbproxy/expected-results.xml index 0e20404..e2e4918 100644 --- a/gbproxy/expected-results.xml +++ b/gbproxy/expected-results.xml @@ -1,11 +1,14 @@ - + + + + @@ -23,14 +26,22 @@ + + + + + + + + @@ -45,7 +56,51 @@ + + + + + + + + + "/osmo-ttcn3-hacks/gbproxy/GBProxy_Tests.ttcn:MASKED : Timeout waiting for BSSGP on SGSN[0] side: { pDU_BSSGP_MS_REGISTRATION_ENQUIRY := { bssgpPduType := '14'O, iMSI := { iEI := '0D'O (\"\\r\"), ext := '1'B, lengthIndicator := ?, type_of_Identity := '001'B, oddevenIndicator := ?, digits := '262420000000000'H }, mME_Query := * } }" + GBProxy_Tests.ttcn:MASKED GBProxy_Tests control part + GBProxy_Tests.ttcn:MASKED TC_ms_reg_enq testcase + + + + "/osmo-ttcn3-hacks/gbproxy/GBProxy_Tests.ttcn:MASKED : Timeout waiting for BSSGP on SGSN side: { pDU_BSSGP_STATUS := { bssgpPduType := '41'O (\"A\"), cause := { iEI := '07'O (\"\\a\"), ext := '1'B, lengthIndicator := { length1 := 1 }, cause_Value := '01'O }, bVCI := omit, pDU_in_Error := { iEI := '15'O, ext := '1'B, lengthIndicator := { length1 := ? }, erroneous_BSSGP_PDU := '2A1F84C218002304820926'O } } }" + GBProxy_Tests.ttcn:MASKED GBProxy_Tests control part + GBProxy_Tests.ttcn:MASKED TC_status_sig_ul_tlli testcase + + + + "/osmo-ttcn3-hacks/gbproxy/GBProxy_Tests.ttcn:MASKED : Timeout waiting for BSSGP on SGSN side: { pDU_BSSGP_STATUS := { bssgpPduType := '41'O (\"A\"), cause := { iEI := '07'O (\"\\a\"), ext := '1'B, lengthIndicator := { length1 := 1 }, cause_Value := '01'O }, bVCI := omit, pDU_in_Error := { iEI := '15'O, ext := '1'B, lengthIndicator := { length1 := ? }, erroneous_BSSGP_PDU := '070D8809101010325476980A82000004824E2B208442180023'O } } }" + GBProxy_Tests.ttcn:MASKED GBProxy_Tests control part + GBProxy_Tests.ttcn:MASKED TC_status_sig_ul_tmsi testcase + + + + "/osmo-ttcn3-hacks/gbproxy/GBProxy_Tests.ttcn:MASKED : Timeout waiting for BSSGP on SGSN side: { pDU_BSSGP_STATUS := { bssgpPduType := '41'O (\"A\"), cause := { iEI := '07'O (\"\\a\"), ext := '1'B, lengthIndicator := { length1 := 1 }, cause_Value := '01'O }, bVCI := omit, pDU_in_Error := { iEI := '15'O, ext := '1'B, lengthIndicator := { length1 := ? }, erroneous_BSSGP_PDU := '00C21800230050001682FFFF0E822342'O } } }" + GBProxy_Tests.ttcn:MASKED GBProxy_Tests control part + GBProxy_Tests.ttcn:MASKED TC_status_ptp_ul_tlli testcase + + + + "/osmo-ttcn3-hacks/gbproxy/GBProxy_Tests.ttcn:MASKED : Timeout waiting for BSSGP on SGSN side: { pDU_BSSGP_STATUS := { bssgpPduType := '41'O (\"A\"), cause := { iEI := '07'O (\"\\a\"), ext := '1'B, lengthIndicator := { length1 := 1 }, cause_Value := '01'O }, bVCI := omit, pDU_in_Error := { iEI := '15'O, ext := '1'B, lengthIndicator := { length1 := ? }, erroneous_BSSGP_PDU := '070D8809101010325476980A82000004824E2B208442180023'O } } }" + GBProxy_Tests.ttcn:MASKED GBProxy_Tests control part + GBProxy_Tests.ttcn:MASKED TC_status_ptp_ul_tmsi testcase + + + + "/osmo-ttcn3-hacks/gbproxy/GBProxy_Tests.ttcn:MASKED : Timeout waiting for BSSGP on PCU side: { pDU_BSSGP_STATUS := { bssgpPduType := '41'O (\"A\"), cause := { iEI := '07'O (\"\\a\"), ext := '1'B, lengthIndicator := { length1 := 1 }, cause_Value := '01'O }, bVCI := omit, pDU_in_Error := { iEI := '15'O, ext := '1'B, lengthIndicator := { length1 := ? }, erroneous_BSSGP_PDU := '2C1F84123456780F811004824E2B2583000017'O } } }" + GBProxy_Tests.ttcn:MASKED GBProxy_Tests control part + GBProxy_Tests.ttcn:MASKED TC_status_sig_dl_bvci testcase + + + diff --git a/mgw/expected-results.xml b/mgw/expected-results.xml index 5b6746b..b2b63cd 100644 --- a/mgw/expected-results.xml +++ b/mgw/expected-results.xml @@ -1,5 +1,5 @@ - + @@ -38,6 +38,7 @@ + @@ -88,4 +89,5 @@ + diff --git a/msc/expected-results.xml b/msc/expected-results.xml index 4e2eeba..ac98215 100644 --- a/msc/expected-results.xml +++ b/msc/expected-results.xml @@ -1,5 +1,5 @@ - + @@ -21,6 +21,8 @@ + + @@ -49,6 +51,7 @@ + @@ -65,6 +68,7 @@ + @@ -122,8 +126,14 @@ + + + + + + @@ -139,7 +149,6 @@ - @@ -212,7 +221,12 @@ - + + Tguard timeout + MSC_Tests_Iu.ttcn:MASKED MSC_Tests_Iu control part + MSC_Tests_Iu.ttcn:MASKED TC_iu_lu_with_invalid_mcc_mnc testcase + + diff --git a/ns/expected-results.xml b/ns/expected-results.xml index 459744d..5263981 100644 --- a/ns/expected-results.xml +++ b/ns/expected-results.xml @@ -1,4 +1,22 @@ - - + + + + + + + + + + + + + + + + + + + + diff --git a/pcu/expected-results.xml b/pcu/expected-results.xml index 11906d9..dc5aa31 100644 --- a/pcu/expected-results.xml +++ b/pcu/expected-results.xml @@ -1,11 +1,20 @@ - + + + Timing Advance mismatch: expected 2, but received 0 + PCU_Tests.ttcn:MASKED PCU_Tests control part + PCU_Tests.ttcn:MASKED TC_ta_ul_ack_nack_first_block testcase + + - + Timing Advance value doesn't match + PCU_Tests.ttcn:MASKED PCU_Tests control part + PCU_Tests.ttcn:MASKED TC_ta_idle_dl_tbf_ass testcase + Failed to match Timing Advance Index for #0 @@ -23,8 +32,13 @@ - + + + + + + @@ -37,6 +51,7 @@ + @@ -71,14 +86,31 @@ - - Expected 8 PDCH slot allocated but got 1 - PCU_Tests.ttcn:MASKED PCU_Tests control part - PCU_Tests.ttcn:MASKED TC_ul_multislot_tbf_ms_class_from_2phase testcase - - + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sgsn/expected-results.xml b/sgsn/expected-results.xml index 9997895..dd11169 100644 --- a/sgsn/expected-results.xml +++ b/sgsn/expected-results.xml @@ -1,5 +1,5 @@ - + @@ -37,11 +37,31 @@ - - - + + "VTY: Unknown Command: encryption GEA0 GEA3 GEA4" + SGSN_Tests.ttcn:MASKED SGSN_Tests control part + SGSN_Tests.ttcn:MASKED TC_attach_usim_a54_a54 testcase + + + + "VTY: Unknown Command: encryption GEA0 GEA3 GEA4" + SGSN_Tests.ttcn:MASKED SGSN_Tests control part + SGSN_Tests.ttcn:MASKED TC_attach_usim_a54_a53 testcase + + + + "VTY: Unknown Command: encryption GEA0 GEA3" + SGSN_Tests.ttcn:MASKED SGSN_Tests control part + SGSN_Tests.ttcn:MASKED TC_attach_usim_a53_a54 testcase + + - + + "VTY: Unknown Command: encryption GEA0 GEA3 GEA4" + SGSN_Tests.ttcn:MASKED SGSN_Tests control part + SGSN_Tests.ttcn:MASKED TC_attach_usim_a54_a50 testcase + + @@ -77,14 +97,19 @@ - - No BSSGP RIM PDU received - SGSN_Tests.ttcn:MASKED SGSN_Tests control part - SGSN_Tests.ttcn:MASKED TC_bssgp_rim_single_report testcase - - + + + + + + - + + "BSSGP_Emulation.ttcnpp:818 : Couldn't find Component for TLLI 'C665E43F'O" + SGSN_Tests_Iu.ttcn:MASKED SGSN_Tests_Iu control part + SGSN_Tests_Iu.ttcn:MASKED TC_iu_attach_geran_rau testcase + + -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24829 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Idcf764cd2d251210bb123d2a5ea782cda0d670b7 Gerrit-Change-Number: 24829 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 16:16:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 2 Jul 2021 16:16:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: update expected-results.xml files In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24829 ) Change subject: update expected-results.xml files ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24829 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Idcf764cd2d251210bb123d2a5ea782cda0d670b7 Gerrit-Change-Number: 24829 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 02 Jul 2021 16:16: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 Jul 2 16:43:50 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 2 Jul 2021 16:43:50 +0000 Subject: Change in osmo-bsc[master]: power_control: implement BCCH carrier power reduction operation In-Reply-To: References: Message-ID: Hello Jenkins Builder, neels, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24777 to look at the new patch set (#4). Change subject: power_control: implement BCCH carrier power reduction operation ...................................................................... power_control: implement BCCH carrier power reduction operation The BCCH carrier (sometimes called C0) of a BTS shall maintain discontinuous Downlink transmission at full power in order to stay 'visible' to the mobile stations. Because of that, early versions of 3GPP TS 45.008 prohibited BS power reduction on C0. However, starting from version 13.0.0 (2015-11) there is a feature called 'BCCH carrier power reduction operation'. This is a special mode of operation, where the variation of RF level for some timeslots is relaxed for the purpose of energy saving. In BCCH carrier power reduction operation, for timeslots on the C0 carrier, except timeslots carrying BCCH/CCCH, the output power may be lower than the output power used for timeslots carrying BCCH/CCCH. In this case the maximum allowed difference in output power actually transmitted by the BTS is 6 dB. Introduce a VTY command to turn on and off the BCCH carrier power reduction operation. Also introduce a CTRL command. On the A-bis/RSL, abuse the BS POWER CONTROL message by setting the Channel Number IE to 0x80 (RSL_CHAN_BCCH). Currently, only osmo-bts-trx is supported. A value greater than zero makes it reduce the power on *inactive* timeslots of the BCCH carrier. Sending zero disables the BCCH power reduction mode completely. For more details, see 3GPP TS 45.008, section 7.1, and 3GPP TR 45.926. Change-Id: I047fce33d4d3e4c569dd006ba17858467a2f4783 Related: SYS#4919 --- M doc/manuals/chapters/power_control.adoc M include/osmocom/bsc/bts.h M src/osmo-bsc/bsc_ctrl_commands.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/bts.c M src/osmo-bsc/bts_osmobts.c M tests/osmo-bsc.vty 7 files changed, 235 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/77/24777/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24777 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I047fce33d4d3e4c569dd006ba17858467a2f4783 Gerrit-Change-Number: 24777 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 16:44:17 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 2 Jul 2021 16:44:17 +0000 Subject: Change in osmo-bsc[master]: power_control: implement BCCH carrier power reduction operation In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24777 ) Change subject: power_control: implement BCCH carrier power reduction operation ...................................................................... Patch Set 4: (12 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/24777/3//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bsc/+/24777/3//COMMIT_MSG at 14 PS3, Line 14: However, in the recent 3GPP TS 45.008 there is a feature called > (could be nice to mention the spec version nr) Done https://gerrit.osmocom.org/c/osmo-bsc/+/24777/3//COMMIT_MSG at 30 PS3, Line 30: A value greater than zero would make osmo-bts reduce the power > what do you mean, "would"? Rephrased. https://gerrit.osmocom.org/c/osmo-bsc/+/24777/3/doc/manuals/chapters/power_control.adoc File doc/manuals/chapters/power_control.adoc: https://gerrit.osmocom.org/c/osmo-bsc/+/24777/3/doc/manuals/chapters/power_control.adoc at 334 PS3, Line 334: a BTS shall maintain discontinuous Downlink transmission at full power in order to > (are you sure that you don't mean "continuous") Good catch, thanks! https://gerrit.osmocom.org/c/osmo-bsc/+/24777/3/doc/manuals/chapters/power_control.adoc at 337 PS3, Line 337: version 13.0.0 (2015-11) - "BCCH carrier power reduction operation". > "in version" Done https://gerrit.osmocom.org/c/osmo-bsc/+/24777/3/doc/manuals/chapters/power_control.adoc at 348 PS3, Line 348: and the simulation results can be found in 3GPP TR 45.926. > ("TS"?) It's a Technical Report, everything is correct here. https://gerrit.osmocom.org/c/osmo-bsc/+/24777/3/doc/manuals/chapters/power_control.adoc at 352 PS3, Line 352: At the moment of writing this manual, the only BTS model that can instructed to > (the usual expression is "at the time of writing") [?] Done https://gerrit.osmocom.org/c/osmo-bsc/+/24777/3/doc/manuals/chapters/power_control.adoc at 354 PS3, Line 354: can be added on request > sounds like it doesn't belong in this manual? [?] Done https://gerrit.osmocom.org/c/osmo-bsc/+/24777/3/doc/manuals/chapters/power_control.adoc at 358 PS3, Line 358: `show bts` command in the VTY interface. > maybe "in OsmoBSC's VTY interface" Done https://gerrit.osmocom.org/c/osmo-bsc/+/24777/3/doc/manuals/chapters/power_control.adoc at 363 PS3, Line 363: There is currently no logic in osmo-bsc for automatic activation and deactivation > (technically "osmo-bsc" is the binary and here it should be OsmoBSC ... [?] Done https://gerrit.osmocom.org/c/osmo-bsc/+/24777/3/doc/manuals/chapters/power_control.adoc at 407 PS3, Line 407: 3652121201381481804 > maybe rather make it "1" ? otherwise it looks like a meaningful important number Not sure if we even have such short numbers on the CTRL interface, isn't it always something like this? https://gerrit.osmocom.org/c/osmo-bsc/+/24777/3/src/osmo-bsc/bsc_ctrl_commands.c File src/osmo-bsc/bsc_ctrl_commands.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24777/3/src/osmo-bsc/bsc_ctrl_commands.c at 555 PS3, Line 555: const int red = atoi(value); > atoi() is not sufficient to verify proper input. [?] To be fair, I don't think we should be paranoid here. Yes, atoi() would accept everything without returning an error. But this would not crash osmo-bsc either. And the CTRL response would contain actually applied value. https://gerrit.osmocom.org/c/osmo-bsc/+/24777/3/src/osmo-bsc/bts_osmobts.c File src/osmo-bsc/bts_osmobts.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24777/3/src/osmo-bsc/bts_osmobts.c at 65 PS3, Line 65: dh->chan_nr = RSL_CHAN_BCCH; > in the commit log you're saying this is abusing the message? [?] Done -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24777 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I047fce33d4d3e4c569dd006ba17858467a2f4783 Gerrit-Change-Number: 24777 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 02 Jul 2021 16:44:17 +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 Fri Jul 2 17:29:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 2 Jul 2021 17:29:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: cosmetic: msc: Fix typo in comment References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24830 ) Change subject: cosmetic: msc: Fix typo in comment ...................................................................... cosmetic: msc: Fix typo in comment Change-Id: Ia7b8c089866744621d22f9182d4293685f8e2563 --- M msc/MSC_Tests.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/30/24830/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index a165d5c..00fc4e9 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -4538,7 +4538,7 @@ return true; } -/* Perform a location updatye at the A-Interface and run some checks to confirm +/* Perform a Location Update at the A-Interface and run some checks to confirm * that everything is back to normal. */ private function f_sgsap_bssmap_screening() runs on BSC_ConnHdlr { var SmsParameters spars := valueof(t_SmsPars); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24830 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia7b8c089866744621d22f9182d4293685f8e2563 Gerrit-Change-Number: 24830 Gerrit-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 Jul 2 17:29:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 2 Jul 2021 17:29:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: Fix CommonId expectancies on subscr from A iface References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24831 ) Change subject: msc: Fix CommonId expectancies on subscr from A iface ...................................................................... msc: Fix CommonId expectancies on subscr from A iface When back on the A interface, the subscriber should no longer contain a Last Eutran PLMN Id related entry in the VLR, since the SGs association is no longer alive. Related: SYS#5337 Change-Id: I8c72eaa4d41b8523f483ac3a343b782d1ef7c937 --- M msc/MSC_Tests.ttcn 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/31/24831/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 00fc4e9..0d95c61 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -4543,6 +4543,11 @@ private function f_sgsap_bssmap_screening() runs on BSC_ConnHdlr { var SmsParameters spars := valueof(t_SmsPars); + /* From now on, since we initiated LU from A-Interface, we expect no + * LastEutranPLMNId on Common Id, since the SGs interface should be gone + */ + g_pars.common_id_last_eutran_plmn := omit; + /* Perform a location update, the SGs association is expected to fall * back to NULL */ f_perform_lu(); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24831 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8c72eaa4d41b8523f483ac3a343b782d1ef7c937 Gerrit-Change-Number: 24831 Gerrit-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 Jul 2 17:30:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 2 Jul 2021 17:30:38 +0000 Subject: Change in osmo-msc[master]: vlr_sgs: Drop recorded LastEutranPlmnId when UE no longer associated References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/24832 ) Change subject: vlr_sgs: Drop recorded LastEutranPlmnId when UE no longer associated ...................................................................... vlr_sgs: Drop recorded LastEutranPlmnId when UE no longer associated Change-Id: I0dcb1850ab4f6f7d42bfcb19665ddeae2d3b057a --- M src/libvlr/vlr_sgs_fsm.c 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/32/24832/1 diff --git a/src/libvlr/vlr_sgs_fsm.c b/src/libvlr/vlr_sgs_fsm.c index 0f21617..af26ca4 100644 --- a/src/libvlr/vlr_sgs_fsm.c +++ b/src/libvlr/vlr_sgs_fsm.c @@ -59,6 +59,10 @@ * put us to NULL state, we have to free the pending TMSI */ vsub->tmsi_new = GSM_RESERVED_TMSI; + /* Make sure we remove recorded Last EUTRAN PLMN Id when UE ceases to be + * available over SGs */ + vlr_subscr_set_last_used_eutran_plmn_id(vsub, NULL); + /* Make sure any ongoing paging is aborted. */ if (vsub->cs.is_paging) paging_expired(vsub); -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24832 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I0dcb1850ab4f6f7d42bfcb19665ddeae2d3b057a Gerrit-Change-Number: 24832 Gerrit-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 Jul 2 19:46:52 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 2 Jul 2021 19:46:52 +0000 Subject: Change in osmo-msc[master]: vlr_sgs: Drop recorded LastEutranPlmnId when UE no longer associated 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/+/24832 to look at the new patch set (#2). Change subject: vlr_sgs: Drop recorded LastEutranPlmnId when UE no longer associated ...................................................................... vlr_sgs: Drop recorded LastEutranPlmnId when UE no longer associated Change-Id: I0dcb1850ab4f6f7d42bfcb19665ddeae2d3b057a --- M src/libvlr/vlr_sgs_fsm.c M tests/msc_vlr/msc_vlr_test_authen_reuse.err M tests/msc_vlr/msc_vlr_test_call.err M tests/msc_vlr/msc_vlr_test_gsm_authen.err M tests/msc_vlr/msc_vlr_test_gsm_ciph.err M tests/msc_vlr/msc_vlr_test_hlr_reject.err M tests/msc_vlr/msc_vlr_test_hlr_timeout.err M tests/msc_vlr/msc_vlr_test_ms_timeout.err M tests/msc_vlr/msc_vlr_test_no_authen.err M tests/msc_vlr/msc_vlr_test_reject_concurrency.err M tests/msc_vlr/msc_vlr_test_rest.err M tests/msc_vlr/msc_vlr_test_ss.err M tests/msc_vlr/msc_vlr_test_umts_authen.err 13 files changed, 123 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/32/24832/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24832 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I0dcb1850ab4f6f7d42bfcb19665ddeae2d3b057a Gerrit-Change-Number: 24832 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 22:42:40 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 2 Jul 2021 22:42:40 +0000 Subject: Change in osmo-msc[master]: vlr_sgs: Drop recorded LastEutranPlmnId when UE no longer associated In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24832 ) Change subject: vlr_sgs: Drop recorded LastEutranPlmnId when UE no longer associated ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24832 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I0dcb1850ab4f6f7d42bfcb19665ddeae2d3b057a Gerrit-Change-Number: 24832 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 02 Jul 2021 22:42:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 2 22:43:00 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 2 Jul 2021 22:43:00 +0000 Subject: Change in osmo-msc[master]: sgs: Use available API to set vlr subscr LastUsedEutranPLMNId In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24817 ) Change subject: sgs: Use available API to set vlr subscr LastUsedEutranPLMNId ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24817 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I203de82accc896c196cb70037af89be6dc826c05 Gerrit-Change-Number: 24817 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Fri, 02 Jul 2021 22:43:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Sat Jul 3 02:50:59 2021 From: noreply at opensuse.org (OBS Notification) Date: Sat, 03 Jul 2021 02:50:59 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-netif in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <60dfd0a7a2177_60fd2b18151c25fc4046cd@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-netif/Debian_Testing/x86_64 Package network:osmocom:nightly/libosmo-netif failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-netif Last lines of build log: [ 117s] | #define HAVE_INTTYPES_H 1 [ 117s] | #define HAVE_STDINT_H 1 [ 117s] | #define HAVE_UNISTD_H 1 [ 117s] | #define HAVE_DLFCN_H 1 [ 117s] | #define LT_OBJDIR ".libs/" [ 117s] | #define STDC_HEADERS 1 [ 117s] | #define HAVE_EXECINFO_H 1 [ 117s] | #define HAVE_SYS_SELECT_H 1 [ 117s] | #define HAVE_SYS_SOCKET_H 1 [ 117s] | #define HAVE_SYSLOG_H 1 [ 117s] | #define HAVE_CTYPE_H 1 [ 117s] | #define HAVE_NETINET_SCTP_H 1 [ 117s] | #define HAVE_LIBOSMOCORE 1 [ 117s] | #define HAVE_LIBSCTP 1 [ 117s] | #define HAVE_PCAP_H 1 [ 117s] | [ 117s] | configure: exit 0 [ 117s] [ 117s] make[1]: *** [debian/rules:27: override_dh_auto_test] Error 1 [ 117s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 117s] make: *** [debian/rules:13: build] Error 2 [ 117s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 117s] ### VM INTERACTION START ### [ 120s] [ 109.398821] sysrq: Power Off [ 120s] [ 109.408182] reboot: Power down [ 120s] ### VM INTERACTION END ### [ 120s] [ 120s] sheep81 failed "build libosmo-netif_1.1.0.202107030026.dsc" at Sat Jul 3 02:50:58 UTC 2021. [ 120s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sat Jul 3 10:20:21 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 3 Jul 2021 10:20:21 +0000 Subject: Change in osmo-bts[master]: power_control: do not print BS power parameters for C0/TRX0 In-Reply-To: References: Message-ID: fixeria has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/22166 ) Change subject: power_control: do not print BS power parameters for C0/TRX0 ...................................................................... Abandoned This change is not required anymore, I found another approach. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/22166 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I51b2def8c752215d1b89a6b0000bfb15c49db27e Gerrit-Change-Number: 22166 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 Jul 3 15:27:05 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 3 Jul 2021 15:27:05 +0000 Subject: Change in osmo-bsc[master]: vty: fix doc: default value for 'nri bitlen' References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24833 ) Change subject: vty: fix doc: default value for 'nri bitlen' ...................................................................... vty: fix doc: default value for 'nri bitlen' The constant is called OSMO_NRI_BITLEN_DEFAULT, NRI_BITLEN_DEFAULT does not exist and got rendered as "NRI_BITLEN_DEFAULT" in the vty doc. Add missing vty test for 'nri bitlen'. Change-Id: I8af840a4589f47eaca6bf10e37e0859f9ae53dfa --- M src/osmo-bsc/bsc_vty.c M tests/nri_cfg.vty 2 files changed, 14 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/33/24833/1 diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 8ba55e6..7207341 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -2326,7 +2326,7 @@ "nri bitlen <1-15>", NRI_STR "Set number of bits that an NRI has, to extract from TMSI identities (always starting just after the TMSI's most significant octet).\n" - "bit count (default: " OSMO_STRINGIFY_VAL(NRI_BITLEN_DEFAULT) ")\n", + "bit count (default: " OSMO_STRINGIFY_VAL(OSMO_NRI_BITLEN_DEFAULT) ")\n", CMD_ATTR_IMMEDIATE) { struct gsm_network *gsmnet = gsmnet_from_vty(vty); diff --git a/tests/nri_cfg.vty b/tests/nri_cfg.vty index 8287eab..d3db3c8 100644 --- a/tests/nri_cfg.vty +++ b/tests/nri_cfg.vty @@ -79,6 +79,19 @@ nri add 1024 1025 OsmoBSC(config)# network + +OsmoBSC(config-net)# list +... + nri bitlen <1-15> +... + +OsmoBSC(config-net)# nri ? + bitlen Set number of bits that an NRI has, to extract from TMSI identities (always starting just after the TMSI's most significant octet). + null Define NULL-NRI values that cause re-assignment of an MS to a different MSC, for MSC pooling. + +OsmoBSC(config-net)# nri bitlen ? + <1-15> bit count (default: 10) + OsmoBSC(config-net)# nri bitlen 11 OsmoBSC(config-net)# show running-config ... -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24833 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8af840a4589f47eaca6bf10e37e0859f9ae53dfa Gerrit-Change-Number: 24833 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jul 3 15:32:28 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 3 Jul 2021 15:32:28 +0000 Subject: Change in osmo-bsc[master]: vty: add vty doc test for 'nri null' commands References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24834 ) Change subject: vty: add vty doc test for 'nri null' commands ...................................................................... vty: add vty doc test for 'nri null' commands Change-Id: I2782dc547ce9751e5f1039aab9a2d36cf1be3fde --- M tests/nri_cfg.vty 1 file changed, 19 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/34/24834/1 diff --git a/tests/nri_cfg.vty b/tests/nri_cfg.vty index d3db3c8..e8dec5a 100644 --- a/tests/nri_cfg.vty +++ b/tests/nri_cfg.vty @@ -118,6 +118,25 @@ nri add 512 767 nri add 1024 1025 ... + +OsmoBSC(config-net)# nri null ? + add Add NULL-NRI value (or range) + del Remove NRI value or range from the NRI mapping for this MSC + +OsmoBSC(config-net)# nri null add ? + <0-32767> First value of the NRI value range, should not surpass the configured 'nri bitlen'. +OsmoBSC(config-net)# nri null add 0 ? + [<0-32767>] Last value of the NRI value range, should not surpass the configured 'nri bitlen' and be larger than the first value; if omitted, apply only the first value. +OsmoBSC(config-net)# nri null add 0 0 ? + + +OsmoBSC(config-net)# nri null del ? + <0-32767> First value of the NRI value range, should not surpass the configured 'nri bitlen'. +OsmoBSC(config-net)# nri null del 0 ? + [<0-32767>] Last value of the NRI value range, should not surpass the configured 'nri bitlen' and be larger than the first value; if omitted, apply only the first value. +OsmoBSC(config-net)# nri null del 0 0 ? + + OsmoBSC(config-net)# exit OsmoBSC(config)# msc 0 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24834 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2782dc547ce9751e5f1039aab9a2d36cf1be3fde Gerrit-Change-Number: 24834 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jul 3 18:42:09 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 3 Jul 2021 18:42:09 +0000 Subject: Change in osmo-bsc[master]: vty: fix doc: default value for 'nri bitlen' In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24833 ) Change subject: vty: fix doc: default value for 'nri bitlen' ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24833 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8af840a4589f47eaca6bf10e37e0859f9ae53dfa Gerrit-Change-Number: 24833 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sat, 03 Jul 2021 18:42:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jul 3 18:58:46 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 3 Jul 2021 18:58:46 +0000 Subject: Change in osmo-bsc[master]: vty: add vty doc test for 'nri null' commands In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24834 ) Change subject: vty: add vty doc test for 'nri null' commands ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24834 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2782dc547ce9751e5f1039aab9a2d36cf1be3fde Gerrit-Change-Number: 24834 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sat, 03 Jul 2021 18:58:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jul 3 19:11:35 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 3 Jul 2021 19:11:35 +0000 Subject: Change in osmo-sgsn[master]: doc/manuals: update configuration.adoc to use new command syntax References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/24835 ) Change subject: doc/manuals: update configuration.adoc to use new command syntax ...................................................................... doc/manuals: update configuration.adoc to use new command syntax The old command is deprecated since [1] has been merged. Change-Id: Iac985f373de98206fdfb3196295ebec160189780 Related: [1] Ie6700c4e9d2df1eb5fde1b971e287b62668cc2de Related: SYS#5324 --- M doc/manuals/chapters/configuration.adoc 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/35/24835/1 diff --git a/doc/manuals/chapters/configuration.adoc b/doc/manuals/chapters/configuration.adoc index c31761c..d51dd77 100644 --- a/doc/manuals/chapters/configuration.adoc +++ b/doc/manuals/chapters/configuration.adoc @@ -398,16 +398,16 @@ HLR subscriber entries contain the keys of the SIM card. See <> on how to connect to an external HLR. -.Example: Turn on encryption (GEA3) +.Example: Turn on encryption (GEA3 and GEA4) ---- sgsn - encryption GEA3 + encryption gea 3 4 ---- .Example: Turn off encryption (GEA0) ---- sgsn - encryption GEA0 + encryption gea 0 ---- === Configure SCCP/M3UA to accept _IuPS_ links -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24835 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Iac985f373de98206fdfb3196295ebec160189780 Gerrit-Change-Number: 24835 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 Jul 3 22:48:55 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 3 Jul 2021 22:48:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: cosmetic: msc: Fix typo in comment In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24830 ) Change subject: cosmetic: msc: Fix typo in comment ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24830 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia7b8c089866744621d22f9182d4293685f8e2563 Gerrit-Change-Number: 24830 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sat, 03 Jul 2021 22:48:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jul 3 22:49:23 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 3 Jul 2021 22:49:23 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: Fix CommonId expectancies on subscr from A iface In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24831 ) Change subject: msc: Fix CommonId expectancies on subscr from A iface ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24831 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8c72eaa4d41b8523f483ac3a343b782d1ef7c937 Gerrit-Change-Number: 24831 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sat, 03 Jul 2021 22:49:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jul 3 23:04:36 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 3 Jul 2021 23:04:36 +0000 Subject: Change in osmo-ttcn3-hacks[master]: SGSN: fix using non-existing VTY command for encryption References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24836 ) Change subject: SGSN: fix using non-existing VTY command for encryption ...................................................................... SGSN: fix using non-existing VTY command for encryption Change-Id: I366ccd5a562c86e6df79bbc200fb46d1aef69b39 Fixes: [1] Iad65cbf9840aa883cb34e53554b94a4142c82638 Related: SYS#5324 --- M sgsn/SGSN_Tests.ttcn 1 file changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/36/24836/1 diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index 0047ba8..2461962 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -2905,7 +2905,7 @@ var BSSGP_ConnHdlr vc_conn; f_init(); f_sleep(1.0); - f_vty_config(SGSNVTY, "sgsn", "encryption GEA0 GEA3 GEA4"); + f_vty_config(SGSNVTY, "sgsn", "encryption gea 0 3 4"); vc_conn := f_start_handler(refers(f_TC_attach_usim_a54_a54), testcasename(), g_gb, 40); vc_conn.done; f_cleanup(); @@ -2915,7 +2915,7 @@ var BSSGP_ConnHdlr vc_conn; f_init(); f_sleep(1.0); - f_vty_config(SGSNVTY, "sgsn", "encryption GEA0 GEA3 GEA4"); + f_vty_config(SGSNVTY, "sgsn", "encryption gea 0 3 4"); vc_conn := f_start_handler(refers(f_TC_attach_usim_a54_a53), testcasename(), g_gb, 40); vc_conn.done; f_cleanup(); @@ -2925,7 +2925,7 @@ var BSSGP_ConnHdlr vc_conn; f_init(); f_sleep(1.0); - f_vty_config(SGSNVTY, "sgsn", "encryption GEA0 GEA3"); + f_vty_config(SGSNVTY, "sgsn", "encryption gea 0 3"); vc_conn := f_start_handler(refers(f_TC_attach_usim_a53_a54), testcasename(), g_gb, 40); vc_conn.done; f_cleanup(); @@ -2935,7 +2935,7 @@ var BSSGP_ConnHdlr vc_conn; f_init(); f_sleep(1.0); - f_vty_config(SGSNVTY, "sgsn", "encryption GEA0"); + f_vty_config(SGSNVTY, "sgsn", "encryption gea 0"); vc_conn := f_start_handler(refers(f_TC_attach_usim_a50_a54), testcasename(), g_gb, 40); vc_conn.done; f_cleanup(); @@ -2945,7 +2945,7 @@ var BSSGP_ConnHdlr vc_conn; f_init(); f_sleep(1.0); - f_vty_config(SGSNVTY, "sgsn", "encryption GEA0 GEA3 GEA4"); + f_vty_config(SGSNVTY, "sgsn", "encryption gea 0 3 4"); vc_conn := f_start_handler(refers(f_TC_attach_usim_a54_a50), testcasename(), g_gb, 40); vc_conn.done; f_cleanup(); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24836 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I366ccd5a562c86e6df79bbc200fb46d1aef69b39 Gerrit-Change-Number: 24836 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 Jul 3 23:05:34 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 3 Jul 2021 23:05:34 +0000 Subject: Change in osmo-ttcn3-hacks[master]: update expected-results.xml files In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24829 ) Change subject: update expected-results.xml files ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24829/1/sgsn/expected-results.xml File sgsn/expected-results.xml: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24829/1/sgsn/expected-results.xml at 40 PS1, Line 40: This should be fixed in: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24836 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24829 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Idcf764cd2d251210bb123d2a5ea782cda0d670b7 Gerrit-Change-Number: 24829 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 03 Jul 2021 23:05: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 Sat Jul 3 23:18:34 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 3 Jul 2021 23:18:34 +0000 Subject: Change in osmo-bts[master]: rsl: use tlvp_val16be() in rsl_rx_ipac_XXcx() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24837 ) Change subject: rsl: use tlvp_val16be() in rsl_rx_ipac_XXcx() ...................................................................... rsl: use tlvp_val16be() in rsl_rx_ipac_XXcx() Instead of using tlvp_val16_unal() and then doing ntohs() here and there, convert the remote port to the host byte order once. Change-Id: Id883a976a03fd3022ed9d66f703b01244df2d9db --- M src/common/rsl.c 1 file changed, 4 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/37/24837/1 diff --git a/src/common/rsl.c b/src/common/rsl.c index 010b9d3..29388a1 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -2615,9 +2615,8 @@ } if (TLVP_PRES_LEN(&tp, RSL_IE_IPAC_REMOTE_PORT, 2)) { - connect_port = tlvp_val16_unal(&tp, RSL_IE_IPAC_REMOTE_PORT); - LOGPC(DRSL, LOGL_DEBUG, "connect_port=%u ", - ntohs(connect_port)); + connect_port = tlvp_val16be(&tp, RSL_IE_IPAC_REMOTE_PORT); + LOGPC(DRSL, LOGL_DEBUG, "connect_port=%u ", connect_port); } speech_mode = TLVP_VAL(&tp, RSL_IE_IPAC_SPEECH_MODE); @@ -2733,7 +2732,7 @@ } else ia.s_addr = connect_ip; rc = osmo_rtp_socket_connect(lchan->abis_ip.rtp_socket, - inet_ntoa(ia), ntohs(connect_port)); + inet_ntoa(ia), connect_port); if (rc < 0) { LOGPLCHAN(lchan, DRTP, LOGL_ERROR, "Failed to connect RTP/RTCP sockets\n"); osmo_rtp_socket_free(lchan->abis_ip.rtp_socket); @@ -2744,7 +2743,7 @@ } /* save IP address and port number */ lchan->abis_ip.connect_ip = ntohl(ia.s_addr); - lchan->abis_ip.connect_port = ntohs(connect_port); + lchan->abis_ip.connect_port = connect_port; rc = osmo_rtp_get_bound_ip_port(lchan->abis_ip.rtp_socket, &lchan->abis_ip.bound_ip, -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24837 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id883a976a03fd3022ed9d66f703b01244df2d9db Gerrit-Change-Number: 24837 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 Jul 3 23:46:57 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 3 Jul 2021 23:46:57 +0000 Subject: Change in osmo-ttcn3-hacks[master]: SGSN: fix using non-existing VTY command for encryption In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24836 ) Change subject: SGSN: fix using non-existing VTY command for encryption ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24836 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I366ccd5a562c86e6df79bbc200fb46d1aef69b39 Gerrit-Change-Number: 24836 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 03 Jul 2021 23:46:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jul 3 23:47:09 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 3 Jul 2021 23:47:09 +0000 Subject: Change in osmo-sgsn[master]: doc/manuals: update configuration.adoc to use new command syntax In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/24835 ) Change subject: doc/manuals: update configuration.adoc to use new command syntax ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24835 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Iac985f373de98206fdfb3196295ebec160189780 Gerrit-Change-Number: 24835 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 03 Jul 2021 23:47:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jul 3 23:47:15 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 3 Jul 2021 23:47:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: SGSN: fix using non-existing VTY command for encryption In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24836 ) Change subject: SGSN: fix using non-existing VTY command for encryption ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24836 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I366ccd5a562c86e6df79bbc200fb46d1aef69b39 Gerrit-Change-Number: 24836 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 03 Jul 2021 23:47: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 Jul 4 00:06:18 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 4 Jul 2021 00:06:18 +0000 Subject: Change in osmo-ttcn3-hacks[master]: SGSN: fix using non-existing VTY command for encryption In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24836 ) Change subject: SGSN: fix using non-existing VTY command for encryption ...................................................................... SGSN: fix using non-existing VTY command for encryption Change-Id: I366ccd5a562c86e6df79bbc200fb46d1aef69b39 Fixes: [1] Iad65cbf9840aa883cb34e53554b94a4142c82638 Related: SYS#5324 --- M sgsn/SGSN_Tests.ttcn 1 file changed, 5 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified Hoernchen: Looks good to me, approved diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index 0047ba8..2461962 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -2905,7 +2905,7 @@ var BSSGP_ConnHdlr vc_conn; f_init(); f_sleep(1.0); - f_vty_config(SGSNVTY, "sgsn", "encryption GEA0 GEA3 GEA4"); + f_vty_config(SGSNVTY, "sgsn", "encryption gea 0 3 4"); vc_conn := f_start_handler(refers(f_TC_attach_usim_a54_a54), testcasename(), g_gb, 40); vc_conn.done; f_cleanup(); @@ -2915,7 +2915,7 @@ var BSSGP_ConnHdlr vc_conn; f_init(); f_sleep(1.0); - f_vty_config(SGSNVTY, "sgsn", "encryption GEA0 GEA3 GEA4"); + f_vty_config(SGSNVTY, "sgsn", "encryption gea 0 3 4"); vc_conn := f_start_handler(refers(f_TC_attach_usim_a54_a53), testcasename(), g_gb, 40); vc_conn.done; f_cleanup(); @@ -2925,7 +2925,7 @@ var BSSGP_ConnHdlr vc_conn; f_init(); f_sleep(1.0); - f_vty_config(SGSNVTY, "sgsn", "encryption GEA0 GEA3"); + f_vty_config(SGSNVTY, "sgsn", "encryption gea 0 3"); vc_conn := f_start_handler(refers(f_TC_attach_usim_a53_a54), testcasename(), g_gb, 40); vc_conn.done; f_cleanup(); @@ -2935,7 +2935,7 @@ var BSSGP_ConnHdlr vc_conn; f_init(); f_sleep(1.0); - f_vty_config(SGSNVTY, "sgsn", "encryption GEA0"); + f_vty_config(SGSNVTY, "sgsn", "encryption gea 0"); vc_conn := f_start_handler(refers(f_TC_attach_usim_a50_a54), testcasename(), g_gb, 40); vc_conn.done; f_cleanup(); @@ -2945,7 +2945,7 @@ var BSSGP_ConnHdlr vc_conn; f_init(); f_sleep(1.0); - f_vty_config(SGSNVTY, "sgsn", "encryption GEA0 GEA3 GEA4"); + f_vty_config(SGSNVTY, "sgsn", "encryption gea 0 3 4"); vc_conn := f_start_handler(refers(f_TC_attach_usim_a54_a50), testcasename(), g_gb, 40); vc_conn.done; f_cleanup(); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24836 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I366ccd5a562c86e6df79bbc200fb46d1aef69b39 Gerrit-Change-Number: 24836 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jul 4 00:06:24 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 4 Jul 2021 00:06:24 +0000 Subject: Change in osmo-sgsn[master]: doc/manuals: update configuration.adoc to use new command syntax In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/24835 ) Change subject: doc/manuals: update configuration.adoc to use new command syntax ...................................................................... doc/manuals: update configuration.adoc to use new command syntax The old command is deprecated since [1] has been merged. Change-Id: Iac985f373de98206fdfb3196295ebec160189780 Related: [1] Ie6700c4e9d2df1eb5fde1b971e287b62668cc2de Related: SYS#5324 --- M doc/manuals/chapters/configuration.adoc 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified Hoernchen: Looks good to me, approved diff --git a/doc/manuals/chapters/configuration.adoc b/doc/manuals/chapters/configuration.adoc index c31761c..d51dd77 100644 --- a/doc/manuals/chapters/configuration.adoc +++ b/doc/manuals/chapters/configuration.adoc @@ -398,16 +398,16 @@ HLR subscriber entries contain the keys of the SIM card. See <> on how to connect to an external HLR. -.Example: Turn on encryption (GEA3) +.Example: Turn on encryption (GEA3 and GEA4) ---- sgsn - encryption GEA3 + encryption gea 3 4 ---- .Example: Turn off encryption (GEA0) ---- sgsn - encryption GEA0 + encryption gea 0 ---- === Configure SCCP/M3UA to accept _IuPS_ links -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24835 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Iac985f373de98206fdfb3196295ebec160189780 Gerrit-Change-Number: 24835 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jul 4 02:18:17 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 4 Jul 2021 02:18:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Types: add remote addr/port to ts_RSL_IPA_CRCX() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24838 ) Change subject: library/RSL_Types: add remote addr/port to ts_RSL_IPA_CRCX() ...................................................................... library/RSL_Types: add remote addr/port to ts_RSL_IPA_CRCX() Change-Id: Iffcac2f1c9b877393fef547fb67ee24cc1e27a11 --- M library/RSL_Types.ttcn 1 file changed, 7 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/38/24838/1 diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn index 28ae971..4e25189 100644 --- a/library/RSL_Types.ttcn +++ b/library/RSL_Types.ttcn @@ -2003,11 +2003,16 @@ * } } - template (value) RSL_Message ts_RSL_IPA_CRCX(template (value) RslChannelNr chan_nr) := { + template (value) RSL_Message + ts_RSL_IPA_CRCX(template (value) RslChannelNr chan_nr, + template (value) uint32_t remote_ip := oct2int('7F000001'O), + template (value) uint16_t remote_port := 6766) := { msg_disc := ts_RSL_MsgDisc(RSL_MDISC_IPACCESS, false), msg_type := RSL_MT_IPAC_CRCX, ies := { - t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := chan_nr}) + t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := chan_nr}), + t_RSL_IE(RSL_IE_IPAC_REMOTE_IP, RSL_IE_Body:{ipa_remote_ip := remote_ip}), + t_RSL_IE(RSL_IE_IPAC_REMOTE_PORT, RSL_IE_Body:{ipa_remote_port := remote_port}) } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24838 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iffcac2f1c9b877393fef547fb67ee24cc1e27a11 Gerrit-Change-Number: 24838 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 Jul 4 02:18:17 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 4 Jul 2021 02:18:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Types: use OCT4 for local/remote address fields References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24839 ) Change subject: library/RSL_Types: use OCT4 for local/remote address fields ...................................................................... library/RSL_Types: use OCT4 for local/remote address fields This way functions like f_inet_addr() and f_inet6_addr() can be used directly without converting between bytes and integers. Change-Id: I389a8cb95c025c9dddc751789223621c15d9b48f --- M bts/BTS_Tests.ttcn M library/RSL_Types.ttcn 2 files changed, 11 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/39/24839/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 06085c6..a7fdf16 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -4611,7 +4611,7 @@ private function f_TC_ipa_crcx_mdcx_dlcx_not_active(charstring id) runs on ConnHdlr { f_rsl_transceive(ts_RSL_IPA_CRCX(g_chan_nr), tr_RSL_IPA_CRCX_ACK(g_chan_nr, ?, ?, ?), "IPA CRCX ACK"); - var uint32_t remote_ip := f_rnd_int(c_UINT32_MAX); + var OCT4 remote_ip := f_rnd_octstring(4); var uint16_t remote_port := f_rnd_int(c_UINT16_MAX); var uint7_t rtp_pt2 := f_rnd_int(127); var uint16_t fake_conn_id := 23; /* we're too lazy to read it out from the CRCX ACK above */ @@ -4632,7 +4632,7 @@ private function f_TC_ipa_crcx_mdcx_mdcx_dlcx_not_active(charstring id) runs on ConnHdlr { f_rsl_transceive(ts_RSL_IPA_CRCX(g_chan_nr), tr_RSL_IPA_CRCX_ACK(g_chan_nr, ?, ?, ?), "IPA CRCX ACK"); - var uint32_t remote_ip := f_rnd_int(c_UINT32_MAX); + var OCT4 remote_ip := f_rnd_octstring(4); var uint16_t remote_port := f_rnd_int(c_UINT16_MAX); var uint7_t rtp_pt2 := f_rnd_int(127); var uint16_t fake_conn_id := 23; /* we're too lazy to read it out from the CRCX ACK above */ @@ -4640,7 +4640,7 @@ tr_RSL_IPA_MDCX_ACK(g_chan_nr, ?, ?, ?, rtp_pt2), "IPA MDCX ACK"); /* Second MDCX */ - remote_ip := f_rnd_int(c_UINT32_MAX); + remote_ip := f_rnd_octstring(4); remote_port := f_rnd_int(c_UINT16_MAX); f_rsl_transceive(ts_RSL_IPA_MDCX(g_chan_nr, fake_conn_id, remote_ip, remote_port, rtp_pt2), tr_RSL_IPA_MDCX_ACK(g_chan_nr, ?, ?, ?, rtp_pt2), diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn index 4e25189..aa206a3 100644 --- a/library/RSL_Types.ttcn +++ b/library/RSL_Types.ttcn @@ -919,8 +919,8 @@ uint16_t ipa_conn_id, uint16_t ipa_local_port, uint16_t ipa_remote_port, - uint32_t ipa_local_ip, - uint32_t ipa_remote_ip, + OCT4 ipa_local_ip, + OCT4 ipa_remote_ip, uint8_t ipa_rtp_pt, uint8_t ipa_rtp_pt2, RSL_IE_IPA_ConnectionStats ipa_stats, @@ -2005,7 +2005,7 @@ } template (value) RSL_Message ts_RSL_IPA_CRCX(template (value) RslChannelNr chan_nr, - template (value) uint32_t remote_ip := oct2int('7F000001'O), + template (value) OCT4 remote_ip := '7F000001'O, template (value) uint16_t remote_port := 6766) := { msg_disc := ts_RSL_MsgDisc(RSL_MDISC_IPACCESS, false), msg_type := RSL_MT_IPAC_CRCX, @@ -2018,7 +2018,7 @@ template (value) RSL_Message ts_RSL_IPA_CRCX_ACK(template (value) RslChannelNr chan_nr, - uint16_t ipa_conn_id, uint32_t local_ip, + uint16_t ipa_conn_id, OCT4 local_ip, uint16_t local_port, uint7_t rtp_pt2) := { msg_disc := ts_RSL_MsgDisc(RSL_MDISC_IPACCESS, false), msg_type := RSL_MT_IPAC_CRCX_ACK, @@ -2032,7 +2032,7 @@ } template RSL_Message tr_RSL_IPA_CRCX_ACK(template RslChannelNr chan_nr, template uint16_t ipa_conn_id, - template uint32_t local_ip, + template OCT4 local_ip, template uint16_t local_port) := { msg_disc := tr_RSL_MsgDisc(RSL_MDISC_IPACCESS, false), msg_type := RSL_MT_IPAC_CRCX_ACK, @@ -2066,7 +2066,7 @@ template (value) RSL_Message ts_RSL_IPA_MDCX(template (value) RslChannelNr chan_nr, uint16_t ipa_conn_id, - uint32_t remote_ip, uint16_t remote_port, + OCT4 remote_ip, uint16_t remote_port, uint7_t rtp_pt2) := { msg_disc := ts_RSL_MsgDisc(RSL_MDISC_IPACCESS, false), msg_type := RSL_MT_IPAC_MDCX, @@ -2092,7 +2092,7 @@ template (value) RSL_Message ts_RSL_IPA_MDCX_ACK(template (value) RslChannelNr chan_nr, uint16_t ipa_conn_id, - uint32_t local_ip, uint16_t local_port, + OCT4 local_ip, uint16_t local_port, uint7_t rtp_pt2) := { msg_disc := ts_RSL_MsgDisc(RSL_MDISC_IPACCESS, false), msg_type := RSL_MT_IPAC_MDCX_ACK, @@ -2108,7 +2108,7 @@ } template RSL_Message tr_RSL_IPA_MDCX_ACK(template RslChannelNr chan_nr, template uint16_t ipa_conn_id, - template uint32_t local_ip, + template OCT4 local_ip, template uint16_t local_port, template uint7_t rtp_pt2) := { msg_disc := tr_RSL_MsgDisc(RSL_MDISC_IPACCESS, false), -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24839 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I389a8cb95c025c9dddc751789223621c15d9b48f Gerrit-Change-Number: 24839 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 Jul 4 02:18:17 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 4 Jul 2021 02:18:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RTP_Emulation: improve readability of guard statements References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24840 ) Change subject: library/RTP_Emulation: improve readability of guard statements ...................................................................... library/RTP_Emulation: improve readability of guard statements Change-Id: Ic25646cca5c276feae8dda52153991a8d16913e1 --- M library/RTP_Emulation.ttcn 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/40/24840/1 diff --git a/library/RTP_Emulation.ttcn b/library/RTP_Emulation.ttcn index 900a196..728d352 100644 --- a/library/RTP_Emulation.ttcn +++ b/library/RTP_Emulation.ttcn @@ -493,10 +493,10 @@ /* simply ignore any RTTP/RTP if receiver not enabled */ - [g_rx_enabled==false] RTP.receive(tr_rtp) { + [not g_rx_enabled] RTP.receive(tr_rtp) { g_stats_rtp.num_pkts_rx_err_disabled := g_stats_rtp.num_pkts_rx_err_disabled+1; } - [g_rx_enabled==false] RTCP.receive(tr_rtcp) { + [not g_rx_enabled] RTCP.receive(tr_rtcp) { g_stats_rtcp.num_pkts_rx_err_disabled := g_stats_rtcp.num_pkts_rx_err_disabled+1; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24840 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic25646cca5c276feae8dda52153991a8d16913e1 Gerrit-Change-Number: 24840 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 Jul 4 02:18:17 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 4 Jul 2021 02:18:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RTP_Emulation: add optional port for RTP sniffing References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24841 ) Change subject: library/RTP_Emulation: add optional port for RTP sniffing ...................................................................... library/RTP_Emulation: add optional port for RTP sniffing Change-Id: I224d25aa298b5b512ab9e2a36c144e19c23d8462 --- M library/RTP_Emulation.ttcn 1 file changed, 12 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/41/24841/1 diff --git a/library/RTP_Emulation.ttcn b/library/RTP_Emulation.ttcn index 728d352..b2360dc 100644 --- a/library/RTP_Emulation.ttcn +++ b/library/RTP_Emulation.ttcn @@ -81,6 +81,8 @@ /* user-facing port for controlling the binding */ port RTPEM_CTRL_PT CTRL; + /* user-facing port for sniffing RTP frames */ + port RTPEM_DATA_PT DATA; /* configurable by user, should be fixed */ var RtpemConfig g_cfg := c_RtpemDefaultCfg; @@ -186,6 +188,10 @@ RTPEM_conn_refuse_received; } with { extension "internal" }; +type port RTPEM_DATA_PT message { + inout PDU_RTP, PDU_RTCP; +} with { extension "internal" }; + function f_rtpem_bind(RTPEM_CTRL_PT pt, in HostName local_host, inout PortNumber local_port) { pt.call(RTPEM_bind:{local_host, local_port}) { [] pt.getreply(RTPEM_bind:{local_host, ?}) -> param (local_port) {}; @@ -515,10 +521,16 @@ if (g_cfg.iuup_mode) { rx_rtp.msg.rtp.data := f_IuUP_Em_rx_decaps(g_iuup_ent, rx_rtp.msg.rtp.data); } + if (DATA.checkstate("Connected")) { + DATA.send(rx_rtp.msg.rtp); + } } [g_rx_enabled] RTCP.receive(tr_rtcp) -> value rx_rtp { //log("RX RTCP: ", rx_rtp); g_stats_rtcp.num_pkts_rx := g_stats_rtcp.num_pkts_rx+1; + if (DATA.checkstate("Connected")) { + DATA.send(rx_rtp.msg.rtcp); + } } /* transmit if timer has expired */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24841 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I224d25aa298b5b512ab9e2a36c144e19c23d8462 Gerrit-Change-Number: 24841 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 Jul 4 02:18:18 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 4 Jul 2021 02:18:18 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: equip ConnHdlr with the RTP emulation component References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24842 ) Change subject: BTS: equip ConnHdlr with the RTP emulation component ...................................................................... BTS: equip ConnHdlr with the RTP emulation component Change-Id: Icb04cb73d8d55eb75edc2af2f18bb99d2c3f24a5 --- M bts/BTS_Tests.ttcn M bts/gen_links.sh M bts/regen_makefile.sh 3 files changed, 70 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/42/24842/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index a7fdf16..64ee3d1 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -44,6 +44,7 @@ import from IPA_Emulation all; import from IPA_Testing all; import from RSL_Emulation all; +import from RTP_Emulation all; import from IPL4asp_Types all; import from TRXC_Types all; @@ -93,6 +94,8 @@ integer mp_ctrl_port := 4238; charstring mp_bsc_ctrl_ip := "127.0.0.1"; integer mp_bsc_ctrl_port := 4249; + charstring mp_rtpem_bind_ip := "127.0.0.1"; + integer mp_rtpem_bind_port := 6766; integer mp_tolerance_rxqual := 1; integer mp_tolerance_rxlev := 3; integer mp_tolerance_timing_offset_256syms := 0; @@ -205,6 +208,10 @@ /* PCU Interface of BTS */ port PCUIF_CODEC_PT PCU; + + var RTP_Emulation_CT vc_RTPEM; + port RTPEM_CTRL_PT RTPEM_CTRL; + port RTPEM_DATA_PT RTPEM_DATA; } private function f_init_rsl(charstring id) runs on test_CT { @@ -2285,6 +2292,62 @@ g_first_meas_res := true; } +/* Initialize and start the RTP emulation component for a ConnHdlr */ +friend function f_rtpem_activate(RtpemConfig cfg := c_RtpemDefaultCfg, + RtpemMode mode := RTPEM_MODE_BIDIR) +runs on ConnHdlr return octetstring { + /* Step 0: initialize, connect and start the emulation component */ + vc_RTPEM := RTP_Emulation_CT.create(testcasename() & "-RTPEM"); + map(vc_RTPEM:RTP, system:RTP); + map(vc_RTPEM:RTCP, system:RTCP); + connect(vc_RTPEM:CTRL, self:RTPEM_CTRL); + connect(vc_RTPEM:DATA, self:RTPEM_DATA); + vc_RTPEM.start(RTP_Emulation.f_main()); + + /* Step 1: configure the RTP parameters */ + var octetstring payload := '00'O; + var integer payload_len := 0; + + select (g_pars.chan_mode) { + case (tr_RSL_ChanMode(RSL_CHRT_TCH_F, RSL_CMOD_SP_GSM1)) /* TCH/FS */ + { payload_len := 33; payload := 'D0'O; } + case (tr_RSL_ChanMode(RSL_CHRT_TCH_H, RSL_CMOD_SP_GSM1)) /* TCH/HS */ + { payload_len := 15; payload := '70'O; } + case (tr_RSL_ChanMode(RSL_CHRT_TCH_F, RSL_CMOD_SP_GSM2)) /* TCH/EFS */ + { payload_len := 31; payload := 'C0'O; } + case else { /* FIXME: also handle TCH/AFS and TCH/AHS */ + setverdict(fail, "Unhandled RSL channel mode := ", g_pars.chan_mode); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); + } + } + + /* Add some randomeness to the payload and pad it */ + payload := payload & f_rnd_octstring(4); + payload := f_pad_oct(payload, payload_len, '00'O); + cfg.tx_fixed_payload := payload; + f_rtpem_configure(RTPEM_CTRL, cfg); + + /* Step 2: bind the RTP emulation to the configured address */ + var PortNumber rtpem_bind_port := mp_rtpem_bind_port; + f_rtpem_bind(RTPEM_CTRL, mp_rtpem_bind_ip, rtpem_bind_port); + + /* Step 3: send CRCX with the configured address/port to the IUT */ + var RSL_Message rsl_pdu := f_rsl_transceive_ret( + ts_RSL_IPA_CRCX(g_chan_nr, f_inet_addr(mp_rtpem_bind_ip), rtpem_bind_port), + tr_RSL_IPA_CRCX_ACK(g_chan_nr, ?, ?, ?), + "IPA CRCX ACK"); + + /* Step 4: connect to the IUT's address/port parsed from CRCX ACK */ + var HostName local_addr := f_inet_ntoa(rsl_pdu.ies[2].body.ipa_local_ip); + var PortNumber local_port := rsl_pdu.ies[3].body.ipa_local_port; + f_rtpem_connect(RTPEM_CTRL, local_addr, local_port); + + /* Step 5: set the given RTP emulation mode */ + f_rtpem_mode(RTPEM_CTRL, mode); + + return payload; +} + /* establish DChan, verify existance + contents of measurement reports */ private function f_TC_meas_res_periodic(charstring id) runs on ConnHdlr { f_l1_tune(L1CTL); diff --git a/bts/gen_links.sh b/bts/gen_links.sh index cd8e379..c8c2b98 100755 --- a/bts/gen_links.sh +++ b/bts/gen_links.sh @@ -32,6 +32,10 @@ FILES="TELNETasp_PT.cc TELNETasp_PT.hh TELNETasp_PortType.ttcn" gen_links $DIR $FILES +DIR=$BASEDIR/titan.ProtocolModules.RTP/src +FILES="RTP_EncDec.cc RTP_Types.ttcn" +gen_links $DIR $FILES + DIR=../library FILES="Misc_Helpers.ttcn General_Types.ttcn GSM_Types.ttcn GSM_RR_Types.ttcn Osmocom_VTY_Functions.ttcn GSM_SystemInformation.ttcn GSM_RestOctets.ttcn Osmocom_Types.ttcn RLCMAC_Templates.ttcn RLCMAC_Types.ttcn RLCMAC_CSN1_Templates.ttcn RLCMAC_CSN1_Types.ttcn RLCMAC_EncDec.cc L1CTL_Types.ttcn L1CTL_PortType.ttcn L1CTL_PortType_CtrlFunct.ttcn L1CTL_PortType_CtrlFunctDef.cc LAPDm_RAW_PT.ttcn LAPDm_Types.ttcn " #FILES+="BSSGP_Emulation.ttcn Osmocom_Gb_Types.ttcn " @@ -40,6 +44,8 @@ FILES+="L3_Templates.ttcn L3_Common.ttcn " FILES+="Native_Functions.ttcn Native_FunctionDefs.cc " FILES+="TRXC_Types.ttcn TRXC_CodecPort.ttcn TRXC_CodecPort_CtrlFunct.ttcn TRXC_CodecPort_CtrlFunctDef.cc " +FILES+="RTP_CodecPort.ttcn RTP_Emulation.ttcn IuUP_Types.ttcn IuUP_Emulation.ttcn IuUP_EncDec.cc " +FILES+="RTP_CodecPort_CtrlFunct.ttcn RTP_CodecPort_CtrlFunctDef.cc " FILES+="PCUIF_Types.ttcn PCUIF_CodecPort.ttcn " FILES+="IPA_Testing.ttcn" gen_links $DIR $FILES diff --git a/bts/regen_makefile.sh b/bts/regen_makefile.sh index 8771500..42ad0f3 100755 --- a/bts/regen_makefile.sh +++ b/bts/regen_makefile.sh @@ -1,6 +1,6 @@ #!/bin/sh -FILES="*.ttcn *.ttcnpp IPA_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc UD_PT.cc RLCMAC_EncDec.cc Native_FunctionDefs.cc TRXC_CodecPort_CtrlFunctDef.cc L1CTL_PortType_CtrlFunctDef.cc TELNETasp_PT.cc" +FILES="*.ttcn *.ttcnpp IPA_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc UD_PT.cc RLCMAC_EncDec.cc Native_FunctionDefs.cc TRXC_CodecPort_CtrlFunctDef.cc L1CTL_PortType_CtrlFunctDef.cc TELNETasp_PT.cc IuUP_EncDec.cc RTP_EncDec.cc RTP_CodecPort_CtrlFunctDef.cc" export CPPFLAGS_TTCN3="-DIPA_EMULATION_RSL -DIPA_EMULATION_OML -DIPA_EMULATION_CTRL -DIPA_EMULATION_OSMO_PCU" -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24842 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icb04cb73d8d55eb75edc2af2f18bb99d2c3f24a5 Gerrit-Change-Number: 24842 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 Jul 4 02:18:18 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 4 Jul 2021 02:18:18 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: add test cases for Downlink and Uplink speech frames References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24843 ) Change subject: BTS: add test cases for Downlink and Uplink speech frames ...................................................................... BTS: add test cases for Downlink and Uplink speech frames Change-Id: I8d301dfa47c11d9314cdfca8adadcbcb4eee798d --- M bts/BTS_Tests.ttcn 1 file changed, 100 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/43/24843/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 64ee3d1..0cb6469 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -40,6 +40,7 @@ import from Osmocom_CTRL_Functions all; import from RSL_Types all; +import from RTP_Types all; import from IPA_Types all; import from IPA_Emulation all; import from IPA_Testing all; @@ -7594,6 +7595,103 @@ vc_conn.done; } +/* Verify handling of Downlink and Uplink speech frames */ +private function f_TC_speech_rtp(charstring id) runs on ConnHdlr { + var L1ctlDlMessage l1_dl; + var PDU_RTP rtp_pdu; + var octetstring pl; + timer Td, Tu; + + f_l1_tune(L1CTL); + f_est_dchan(); + + /* Activate the RTP emulation */ + pl := f_rtpem_activate(); + + /* Give the scheduler some time to fill up the buffers */ + f_sleep(2.0); + L1CTL.clear; + RSL.clear; + + /* Make sure that Downlink frames are received at the UE */ + Td.start(2.0); + alt { + [] L1CTL.receive(tr_L1CTL_TRAFFIC_IND(g_chan_nr, frame := pl)) -> value l1_dl { + log("TCH received: ", l1_dl.payload.traffic_ind.data); + L1CTL.send(ts_L1CTL_TRAFFIC_REQ(g_chan_nr, l1_dl.dl_info.link_id, + l1_dl.payload.traffic_ind.data)); + setverdict(pass); + } + [] L1CTL.receive(tr_L1CTL_TRAFFIC_IND(g_chan_nr, frame := ?)) -> value l1_dl { + setverdict(fail, "Rx unexpected Downlink speech frame ", + "(", l1_dl.payload.traffic_ind.data, ") ", + "expected (", pl, ")"); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); + } + [] as_l1_sacch(); + [] L1CTL.receive { repeat; } + [] Td.timeout { + setverdict(fail, "Timeout waiting for Downlink speech frames"); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); + } + } + + /* Make sure that Uplink frames are received at the BTS */ + RTPEM_DATA.clear; + Tu.start(2.0); + alt { + [] RTPEM_DATA.receive(PDU_RTP:?) -> value rtp_pdu { + if (rtp_pdu.data != pl) + { repeat; } + } + [] RTPEM_DATA.receive { repeat; } + [] Tu.timeout { + setverdict(fail, "Timeout waiting for Uplink speech frames"); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); + } + } + + f_rtpem_mode(RTPEM_CTRL, RTPEM_MODE_NONE); + f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr); + f_rsl_chan_deact(); + f_rslem_unregister(0, g_chan_nr); +} +testcase TC_speech_rtp_tchf() runs on test_CT { + var ConnHdlr vc_conn; + var ConnHdlrPars pars; + + f_init(); + + /* TS1, TCH/F, V1 (FR codec) */ + pars := valueof(t_Pars(ts_RslChanNr_Bm(1), ts_RSL_ChanMode(RSL_CHRT_TCH_F, RSL_CMOD_SP_GSM1))); + vc_conn := f_start_handler(refers(f_TC_speech_rtp), pars); + vc_conn.done; + + /* TS1, TCH/F, V2 (EFR codec) */ + pars := valueof(t_Pars(ts_RslChanNr_Bm(1), ts_RSL_ChanMode(RSL_CHRT_TCH_F, RSL_CMOD_SP_GSM2))); + vc_conn := f_start_handler(refers(f_TC_speech_rtp), pars); + vc_conn.done; + + /* TODO: also test V3 (AMR codec) */ + + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); +} +testcase TC_speech_rtp_tchh() runs on test_CT { + var ConnHdlr vc_conn; + var ConnHdlrPars pars; + + f_init(); + + /* TS5, TCH/H0, V1 (HR codec) */ + pars := valueof(t_Pars(ts_RslChanNr_Lm(5, 0), ts_RSL_ChanMode(RSL_CHRT_TCH_H, RSL_CMOD_SP_GSM1))); + vc_conn := f_start_handler(refers(f_TC_speech_rtp), pars); + vc_conn.done; + + /* TODO: also test V3 (AMR codec) */ + + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); +} + /* test generation of RLL ERR IND based on Um errors (TS 48.058 3.9) */ /* protocol error as per 44.006 */ /* link layer failure (repetition of I-frame N200 times without ACK */ @@ -7790,6 +7888,8 @@ execute( TC_speech_no_rtp_tchf() ); execute( TC_speech_no_rtp_tchh() ); + execute( TC_speech_rtp_tchf() ); + execute( TC_speech_rtp_tchh() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24843 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8d301dfa47c11d9314cdfca8adadcbcb4eee798d Gerrit-Change-Number: 24843 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 Jul 4 02:55:47 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 4 Jul 2021 02:55:47 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: equip ConnHdlr with the RTP emulation component 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/+/24842 to look at the new patch set (#2). Change subject: BTS: equip ConnHdlr with the RTP emulation component ...................................................................... BTS: equip ConnHdlr with the RTP emulation component Change-Id: Icb04cb73d8d55eb75edc2af2f18bb99d2c3f24a5 --- M bts/BTS_Tests.ttcn M bts/gen_links.sh M bts/regen_makefile.sh 3 files changed, 68 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/42/24842/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24842 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icb04cb73d8d55eb75edc2af2f18bb99d2c3f24a5 Gerrit-Change-Number: 24842 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 Sun Jul 4 03:01:46 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 4 Jul 2021 03:01:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Types: use OCT4 for local/remote address fields 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/+/24839 to look at the new patch set (#2). Change subject: library/RSL_Types: use OCT4 for local/remote address fields ...................................................................... library/RSL_Types: use OCT4 for local/remote address fields This way functions like f_inet_addr() and f_inet6_addr() can be used directly without converting between bytes and integers. Change-Id: I389a8cb95c025c9dddc751789223621c15d9b48f --- M bsc/BSC_Tests_LCLS.ttcn M bsc/BSC_Tests_VAMOS.ttcn M bsc/MSC_ConnectionHandler.ttcn M bts/BTS_Tests.ttcn M library/RSL_Types.ttcn 5 files changed, 26 insertions(+), 26 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/39/24839/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24839 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I389a8cb95c025c9dddc751789223621c15d9b48f Gerrit-Change-Number: 24839 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 Sun Jul 4 03:02:02 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 4 Jul 2021 03:02:02 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: add test cases for Downlink and Uplink speech frames In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24843 ) Change subject: BTS: add test cases for Downlink and Uplink speech frames ...................................................................... Patch Set 3: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24843 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8d301dfa47c11d9314cdfca8adadcbcb4eee798d Gerrit-Change-Number: 24843 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Sun, 04 Jul 2021 03:02: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 Sun Jul 4 16:48:25 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 4 Jul 2021 16:48:25 +0000 Subject: Change in osmo-bts[master]: gsm_lchan_interf_meas_calc_band(): also print number of AVG samples References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24844 ) Change subject: gsm_lchan_interf_meas_calc_band(): also print number of AVG samples ...................................................................... gsm_lchan_interf_meas_calc_band(): also print number of AVG samples Change-Id: I4cebb0c5eef16f7e20fce85c506fc271127d7259 --- M src/common/gsm_data.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/44/24844/1 diff --git a/src/common/gsm_data.c b/src/common/gsm_data.c index f533fb9..89e868c 100644 --- a/src/common/gsm_data.c +++ b/src/common/gsm_data.c @@ -317,8 +317,8 @@ } LOGPLCHAN(lchan, DL1C, LOGL_DEBUG, - "Interference AVG: %ddBm (band %d)\n", - meas_avg, b); + "Interference AVG: %ddBm (band %d, samples %u)\n", + meas_avg, b, meas_num); return b; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24844 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4cebb0c5eef16f7e20fce85c506fc271127d7259 Gerrit-Change-Number: 24844 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 Jul 4 18:00:24 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 4 Jul 2021 18:00:24 +0000 Subject: Change in osmo-ttcn3-hacks[master]: cosmetic: msc: Fix typo in comment In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24830 ) Change subject: cosmetic: msc: Fix typo in comment ...................................................................... cosmetic: msc: Fix typo in comment Change-Id: Ia7b8c089866744621d22f9182d4293685f8e2563 --- M msc/MSC_Tests.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index a165d5c..00fc4e9 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -4538,7 +4538,7 @@ return true; } -/* Perform a location updatye at the A-Interface and run some checks to confirm +/* Perform a Location Update at the A-Interface and run some checks to confirm * that everything is back to normal. */ private function f_sgsap_bssmap_screening() runs on BSC_ConnHdlr { var SmsParameters spars := valueof(t_SmsPars); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24830 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia7b8c089866744621d22f9182d4293685f8e2563 Gerrit-Change-Number: 24830 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jul 4 18:04:48 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 4 Jul 2021 18:04:48 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: unify and enrich decoding error messages References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24845 ) Change subject: trxcon/scheduler: unify and enrich decoding error messages ...................................................................... trxcon/scheduler: unify and enrich decoding error messages Regarding the removal of burst_mask2str() from the TCH/H handler, it does not make sense to print it because the mask is already shifted and an earlier logging should already contain this info. Change-Id: I42d20e2da73c21ca366dd246244cd716c8ccb459 Related: OS#4823 --- 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 4 files changed, 8 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/45/24845/1 diff --git a/src/host/trxcon/sched_lchan_pdtch.c b/src/host/trxcon/sched_lchan_pdtch.c index abbd480..bd02865 100644 --- a/src/host/trxcon/sched_lchan_pdtch.c +++ b/src/host/trxcon/sched_lchan_pdtch.c @@ -99,11 +99,8 @@ rc = gsm0503_pdtch_decode(l2, buffer, 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", lchan->meas_avg.fn, - lchan->meas_avg.fn % ts->mf_layout->period, - ts->mf_layout->period, - lchan_desc->name); + LOGP(DSCHD, LOGL_ERROR, "Received bad %s frame (rc=%d, ber=%d/%d) at fn=%u\n", + lchan_desc->name, rc, n_errors, n_bits_total, lchan->meas_avg.fn); } /* Determine L2 length */ diff --git a/src/host/trxcon/sched_lchan_tchf.c b/src/host/trxcon/sched_lchan_tchf.c index 1e38e96..0b38ea1 100644 --- a/src/host/trxcon/sched_lchan_tchf.c +++ b/src/host/trxcon/sched_lchan_tchf.c @@ -125,8 +125,8 @@ /* Check decoding result */ if (rc < 4) { - LOGP(DSCHD, LOGL_ERROR, "Received bad TCH frame ending at " - "fn=%u for %s\n", fn, lchan_desc->name); + LOGP(DSCHD, LOGL_ERROR, "Received bad %s frame (rc=%d, ber=%d/%d) at fn=%u\n", + lchan_desc->name, rc, n_errors, n_bits_total, lchan->meas_avg.fn); /* Send BFI */ goto bfi; diff --git a/src/host/trxcon/sched_lchan_tchh.c b/src/host/trxcon/sched_lchan_tchh.c index 6a5c471..1079bb0 100644 --- a/src/host/trxcon/sched_lchan_tchh.c +++ b/src/host/trxcon/sched_lchan_tchh.c @@ -295,9 +295,8 @@ /* 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); + LOGP(DSCHD, LOGL_ERROR, "Received bad %s frame (rc=%d, ber=%d/%d) at fn=%u\n", + lchan_desc->name, rc, n_errors, n_bits_total, lchan->meas_avg.fn); /* Send BFI */ goto bfi; diff --git a/src/host/trxcon/sched_lchan_xcch.c b/src/host/trxcon/sched_lchan_xcch.c index 41677ec..78397fe 100644 --- a/src/host/trxcon/sched_lchan_xcch.c +++ b/src/host/trxcon/sched_lchan_xcch.c @@ -100,11 +100,8 @@ /* Attempt to decode */ 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", lchan->meas_avg.fn, - lchan->meas_avg.fn % ts->mf_layout->period, - ts->mf_layout->period, - lchan_desc->name); + LOGP(DSCHD, LOGL_ERROR, "Received bad %s frame (rc=%d, ber=%d/%d) at fn=%u\n", + lchan_desc->name, rc, n_errors, n_bits_total, lchan->meas_avg.fn); /** * We should anyway send dummy frame for -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24845 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I42d20e2da73c21ca366dd246244cd716c8ccb459 Gerrit-Change-Number: 24845 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 Jul 4 18:06:58 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 4 Jul 2021 18:06:58 +0000 Subject: Change in osmo-msc[master]: sgs: Use available API to set vlr subscr LastUsedEutranPLMNId In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24817 ) Change subject: sgs: Use available API to set vlr subscr LastUsedEutranPLMNId ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24817 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I203de82accc896c196cb70037af89be6dc826c05 Gerrit-Change-Number: 24817 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 04 Jul 2021 18:06: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 Jul 4 18:07:01 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 4 Jul 2021 18:07:01 +0000 Subject: Change in osmo-msc[master]: sgs: Use available API to set vlr subscr LastUsedEutranPLMNId In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24817 ) Change subject: sgs: Use available API to set vlr subscr LastUsedEutranPLMNId ...................................................................... sgs: Use available API to set vlr subscr LastUsedEutranPLMNId This way it's easier to find out where the vlr subscriber field is set. Change-Id: I203de82accc896c196cb70037af89be6dc826c05 --- M src/libmsc/sgs_iface.c 1 file changed, 8 insertions(+), 6 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libmsc/sgs_iface.c b/src/libmsc/sgs_iface.c index 04302ae..9d7b6fc 100644 --- a/src/libmsc/sgs_iface.c +++ b/src/libmsc/sgs_iface.c @@ -915,6 +915,8 @@ static int sgs_rx_csfb_ind(struct sgs_connection *sgc, struct msgb *msg, const struct tlv_parsed *tp, char *imsi) { struct vlr_subscr *vsub; + struct osmo_plmn_id last_eutran_plmn_buf; + const struct osmo_plmn_id *last_eutran_plmn = &last_eutran_plmn_buf; /* The MME informs us with this message that the UE has initiated a * service request for MO CS fallback. There is not much we can do with @@ -928,23 +930,23 @@ /* 3GPP TS 23.272 sec 4.3.3 (CSFB): * "During the SGs location update procedure, obtaining the last used LTE PLMN ID via TAI" */ - vsub->sgs.last_eutran_plmn_present = TLVP_PRES_LEN(tp, SGSAP_IE_EUTRAN_CGI, 3); if (TLVP_PRES_LEN(tp, SGSAP_IE_TAI, 3)) { - vsub->sgs.last_eutran_plmn_present = true; - osmo_plmn_from_bcd(TLVP_VAL(tp, SGSAP_IE_TAI), &vsub->sgs.last_eutran_plmn); + osmo_plmn_from_bcd(TLVP_VAL(tp, SGSAP_IE_TAI), &last_eutran_plmn_buf); /* TODO: we could also gather the TAC from here, but we don't need it yet */ } else if (TLVP_PRES_LEN(tp, SGSAP_IE_EUTRAN_CGI, 3)) { /* Since TAI is optional, let's try harder getting Last Used * E-UTRAN PLMN ID by fetching it from E-UTRAN CGI */ - vsub->sgs.last_eutran_plmn_present = true; - osmo_plmn_from_bcd(TLVP_VAL(tp, SGSAP_IE_EUTRAN_CGI), &vsub->sgs.last_eutran_plmn); + osmo_plmn_from_bcd(TLVP_VAL(tp, SGSAP_IE_EUTRAN_CGI), &last_eutran_plmn_buf); /* TODO: we could also gather the ECI from here, but we don't need it yet */ - } else if (!vsub->sgs.last_eutran_plmn_present) { + } else { LOGSGC(sgc, LOGL_INFO, "Receiving SGsAP-MO-CSFB-INDICATION without TAI nor " "E-CGI IEs, and they are not known from previous SGsAP-LOCATION-UPDATE-REQUEST. " "Fast fallback GERAN->EUTRAN won't be possible!\n"); + last_eutran_plmn = NULL; } + vlr_subscr_set_last_used_eutran_plmn_id(vsub, last_eutran_plmn); + /* Check for lingering connections */ subscr_conn_toss(vsub); -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24817 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I203de82accc896c196cb70037af89be6dc826c05 Gerrit-Change-Number: 24817 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jul 4 18:07:11 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 4 Jul 2021 18:07:11 +0000 Subject: Change in osmo-pcu[master]: pdch: Fix heap-use-after-free in pdch->ulc In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24812 ) Change subject: pdch: Fix heap-use-after-free in pdch->ulc ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24812 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id51f5f6a54ac9f24b784c17bc360ac38f5726fc7 Gerrit-Change-Number: 24812 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 04 Jul 2021 18:07: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 Jul 4 18:07:14 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 4 Jul 2021 18:07:14 +0000 Subject: Change in osmo-pcu[master]: pdch: Fix heap-use-after-free in pdch->ulc In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24812 ) Change subject: pdch: Fix heap-use-after-free in pdch->ulc ...................................................................... pdch: Fix heap-use-after-free in pdch->ulc In existing previous code, pdch->ulc would be freed in gprs_rlcmac_pdch::free_resources() when it became disabled as per PCUIF info_ind (for instance, when a DYN TS is switched PDCH->SDCCH8). However, pdch->ulc was so far only allocated during pdch_init, which is only called during bts_alloc() time. Hence, after first info_ind disabling it, if it became again enabled (again by info_ind re-enabling it after SDCCH8 was not longer in use), the pdch->ulc would be used again but it would point to freed memory. Let's rearrange how/when resources are freed to make it more logical. With this patch, pdch internal resources are freed upon ->disable(), and re-allocated upon ->enable(). Change-Id: Id51f5f6a54ac9f24b784c17bc360ac38f5726fc7 --- M src/osmobts_sock.c M src/pcu_l1_if.cpp M src/pdch.cpp M src/pdch.h M tests/tbf/TbfTest.cpp M tests/ulc/PdchUlcTest.cpp 6 files changed, 36 insertions(+), 19 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/osmobts_sock.c b/src/osmobts_sock.c index 5c6415f..91b62a0 100644 --- a/src/osmobts_sock.c +++ b/src/osmobts_sock.c @@ -121,7 +121,8 @@ } #endif for (ts = 0; ts < 8; ts++) - pdch_disable(&bts->trx[trx].pdch[ts]); + if (pdch_is_enabled(&bts->trx[trx].pdch[ts])) + pdch_disable(&bts->trx[trx].pdch[ts]); /* FIXME: NOT ALL RESOURCES are freed in this case... inconsistent with the other code. Share the code with pcu_l1if.c for the reset. */ bts_trx_free_all_tbf(&bts->trx[trx]); diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 2373f60..5aa8849 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -650,7 +650,7 @@ for (trx_nr = 0; trx_nr < ARRAY_SIZE(bts->trx); trx_nr++) { bts->trx[trx_nr].arfcn = info_ind->trx[trx_nr].arfcn; for (ts_nr = 0; ts_nr < ARRAY_SIZE(bts->trx[0].pdch); ts_nr++) - bts->trx[trx_nr].pdch[ts_nr].free_resources(); + bts->trx[trx_nr].pdch[ts_nr].disable(); } gprs_bssgp_destroy(bts); exit(0); @@ -818,7 +818,6 @@ } else { if (pdch->is_enabled()) { pcu_tx_act_req(bts, pdch, 0); - pdch->free_resources(); pdch->disable(); } } diff --git a/src/pdch.cpp b/src/pdch.cpp index 9321384..2ec40ce 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -139,19 +139,24 @@ /* Initialize the PTCCH/D message (Packet Timing Advance Control Channel) */ memset(pdch->ptcch_msg, PTCCH_TAI_FREE, PTCCH_TAI_NUM); memset(pdch->ptcch_msg + PTCCH_TAI_NUM, PTCCH_PADDING, 7); - pdch->ulc = pdch_ulc_alloc(pdch, trx->bts); } void gprs_rlcmac_pdch::enable() { - /* TODO: Check if there are still allocated resources.. */ + OSMO_ASSERT(m_is_enabled == 0); INIT_LLIST_HEAD(&paging_list); + + OSMO_ASSERT(!this->ulc); + this->ulc = pdch_ulc_alloc(this, trx->bts); + m_is_enabled = 1; } void gprs_rlcmac_pdch::disable() { - /* TODO.. kick free_resources once we know the TRX/TS we are on */ + OSMO_ASSERT(m_is_enabled == 1); + this->free_resources(); + m_is_enabled = 0; } @@ -159,10 +164,6 @@ { struct gprs_rlcmac_paging *pag; - /* we are not enabled. there should be no resources */ - if (!is_enabled()) - return; - /* kick all TBF on slot */ pdch_free_all_tbf(this); @@ -171,6 +172,7 @@ talloc_free(pag); talloc_free(this->ulc); + this->ulc = NULL; } struct gprs_rlcmac_paging *gprs_rlcmac_pdch::dequeue_paging() @@ -1174,6 +1176,12 @@ } } -void pdch_disable(struct gprs_rlcmac_pdch *pdch) { +void pdch_disable(struct gprs_rlcmac_pdch *pdch) +{ pdch->disable(); } + +bool pdch_is_enabled(const struct gprs_rlcmac_pdch *pdch) +{ + return pdch->is_enabled(); +} diff --git a/src/pdch.h b/src/pdch.h index cfa0195..00f0b9d 100644 --- a/src/pdch.h +++ b/src/pdch.h @@ -55,8 +55,6 @@ bool add_paging(uint8_t chan_needed, const struct osmo_mobile_identity *mi); - void free_resources(); - bool is_enabled() const; void enable(); @@ -145,6 +143,8 @@ enum gprs_rlcmac_tbf_direction dir); gprs_rlcmac_tbf *tbf_by_tfi(uint8_t tfi, enum gprs_rlcmac_tbf_direction dir); + + void free_resources(); #endif uint8_t m_num_tbfs[2]; @@ -191,6 +191,7 @@ void pdch_init(struct gprs_rlcmac_pdch *pdch, struct gprs_rlcmac_trx *trx, uint8_t ts_nr); void pdch_free_all_tbf(struct gprs_rlcmac_pdch *pdch); void pdch_disable(struct gprs_rlcmac_pdch *pdch); +bool pdch_is_enabled(const struct gprs_rlcmac_pdch *pdch); #ifdef __cplusplus } #endif diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index 2c2c7ae..5065e90 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -2282,7 +2282,7 @@ the_pcu->alloc_algorithm = alloc_algorithm_b; bts->trx[0].pdch[2].enable(); bts->trx[0].pdch[3].enable(); - bts->trx[0].pdch[4].enable(); + /* bts->trx[0].pdch[4].enable(); Already enabled during setup_bts() */ bts->trx[0].pdch[5].enable(); gprs_bssgp_init(bts, 4234, 4234, 1, 1, false, 0, 0, 0); @@ -2327,7 +2327,7 @@ the_pcu->alloc_algorithm = alloc_algorithm_b; bts->trx[0].pdch[2].enable(); bts->trx[0].pdch[3].enable(); - bts->trx[0].pdch[4].enable(); + /* bts->trx[0].pdch[4].enable(); Already enabled during setup_bts()) */ bts->trx[0].pdch[5].enable(); gprs_bssgp_init(bts, 5234, 5234, 1, 1, false, 0, 0, 0); diff --git a/tests/ulc/PdchUlcTest.cpp b/tests/ulc/PdchUlcTest.cpp index c980e33..3547bf6 100644 --- a/tests/ulc/PdchUlcTest.cpp +++ b/tests/ulc/PdchUlcTest.cpp @@ -49,11 +49,19 @@ } } +static struct gprs_rlcmac_bts *setup_new_bts(void) +{ + struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); + struct gprs_rlcmac_pdch *pdch = &bts->trx[0].pdch[0]; + pdch->enable(); + return bts; +} + static void test_reserve_multiple() { printf("=== start: %s ===\n", __FUNCTION__); const uint32_t fn = 20; - struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); + struct gprs_rlcmac_bts *bts = setup_new_bts(); struct gprs_rlcmac_pdch *pdch = &bts->trx[0].pdch[0]; struct gprs_rlcmac_tbf *tbf1 = (struct gprs_rlcmac_tbf*)0x1234; /*Dummy pointer */ struct gprs_rlcmac_tbf *tbf2 = (struct gprs_rlcmac_tbf*)0x5678; /*Dummy pointer */ @@ -172,7 +180,7 @@ the_pcu->alloc_algorithm = _alloc_algorithm_dummy; - struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); + struct gprs_rlcmac_bts *bts = setup_new_bts(); struct GprsMs *ms = ms_alloc(bts, 0x12345678); struct gprs_rlcmac_tbf *tbf1 = tbf_alloc_dl_tbf(bts, ms, 0, true); struct gprs_rlcmac_pdch *pdch = &tbf1->trx->pdch[0]; @@ -215,7 +223,7 @@ static void test_next_free_fn_sba() { printf("=== start: %s ===\n", __FUNCTION__); - struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); + struct gprs_rlcmac_bts *bts = setup_new_bts(); struct gprs_rlcmac_pdch *pdch = &bts->trx[0].pdch[0]; struct gprs_rlcmac_sba *sba1, *sba2, *sba3, *sba4; @@ -239,7 +247,7 @@ static void test_next_free_fn_rrbp() { printf("=== start: %s ===\n", __FUNCTION__); - struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); + struct gprs_rlcmac_bts *bts = setup_new_bts(); struct gprs_rlcmac_pdch *pdch = &bts->trx[0].pdch[0]; struct gprs_rlcmac_sba *sba1; uint32_t poll_fn, curr_fn; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24812 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id51f5f6a54ac9f24b784c17bc360ac38f5726fc7 Gerrit-Change-Number: 24812 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 Jul 4 18:12:31 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 4 Jul 2021 18:12:31 +0000 Subject: Change in osmo-bts[master]: Rename osmo dyn ts enums to contain SDCCH8 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24799 ) Change subject: Rename osmo dyn ts enums to contain SDCCH8 ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24799 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia617d20fc52f09dbab8f4516c06fa1efac08e898 Gerrit-Change-Number: 24799 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Sun, 04 Jul 2021 18:12: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 Jul 4 18:23:42 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 4 Jul 2021 18:23:42 +0000 Subject: Change in osmo-bts[master]: Support SDCCH8 in osmo dyn ts In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24802 ) Change subject: Support SDCCH8 in osmo dyn ts ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24802 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id541dee6c224d2b8d97c07b916085883354cecbc Gerrit-Change-Number: 24802 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 04 Jul 2021 18: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 Sun Jul 4 18:24:58 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 4 Jul 2021 18:24:58 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: send dummy FACCH in the absense of RTP frames References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24846 ) Change subject: osmo-bts-trx: send dummy FACCH in the absense of RTP frames ...................................................................... osmo-bts-trx: send dummy FACCH in the absense of RTP frames Change-Id: I868afecbcb6890f40c8f146e3ce00e836b794dd3 Related: OS#4823 --- M src/osmo-bts-trx/sched_lchan_tchf.c M src/osmo-bts-trx/sched_lchan_tchh.c 2 files changed, 16 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/46/24846/1 diff --git a/src/osmo-bts-trx/sched_lchan_tchf.c b/src/osmo-bts-trx/sched_lchan_tchf.c index 689925f..8e6298c 100644 --- a/src/osmo-bts-trx/sched_lchan_tchf.c +++ b/src/osmo-bts-trx/sched_lchan_tchf.c @@ -530,9 +530,16 @@ memset(*bursts_p + 464, 0, 464); } - /* no message at all */ + /* no message at all, send a dummy L2 frame on FACCH */ if (!msg_tch && !msg_facch) { + static const uint8_t dummy[GSM_MACBLOCK_LEN] = { + 0x03, 0x03, 0x01, /* TODO: use randomized padding */ + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, + }; + LOGL1SB(DL1P, LOGL_INFO, l1ts, br, "No TCH or FACCH prim for transmit.\n"); + gsm0503_tch_fr_encode(*bursts_p, dummy, sizeof(dummy), 1); goto send_burst; } diff --git a/src/osmo-bts-trx/sched_lchan_tchh.c b/src/osmo-bts-trx/sched_lchan_tchh.c index 4f03bd1..bfebb66 100644 --- a/src/osmo-bts-trx/sched_lchan_tchh.c +++ b/src/osmo-bts-trx/sched_lchan_tchh.c @@ -417,9 +417,16 @@ } } - /* no message at all */ + /* no message at all, send a dummy L2 frame on FACCH */ if (!msg_tch && !msg_facch && !chan_state->dl_ongoing_facch) { + static const uint8_t dummy[GSM_MACBLOCK_LEN] = { + 0x03, 0x03, 0x01, /* TODO: use randomized padding */ + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, + }; + LOGL1SB(DL1P, LOGL_INFO, l1ts, br, "No TCH or FACCH prim for transmit.\n"); + gsm0503_tch_hr_encode(*bursts_p, dummy, sizeof(dummy)); goto send_burst; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24846 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I868afecbcb6890f40c8f146e3ce00e836b794dd3 Gerrit-Change-Number: 24846 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 Jul 5 08:03:05 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 5 Jul 2021 08:03:05 +0000 Subject: Change in osmo-bts[master]: Support SDCCH8 in osmo dyn ts In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24802 ) Change subject: Support SDCCH8 in osmo dyn ts ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24802 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id541dee6c224d2b8d97c07b916085883354cecbc Gerrit-Change-Number: 24802 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 05 Jul 2021 08:03:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 5 08:03:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 5 Jul 2021 08:03:08 +0000 Subject: Change in osmo-bts[master]: Rename osmo dyn ts enums to contain SDCCH8 In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24799 ) Change subject: Rename osmo dyn ts enums to contain SDCCH8 ...................................................................... Rename osmo dyn ts enums to contain SDCCH8 They will gain support to be activated as SDCCH/8 soon too. Related: SYS#5309 Depends: libosmocore.git I56dcfe4d17899630b17f80145c3ced72f1e91e68 Change-Id: Ia617d20fc52f09dbab8f4516c06fa1efac08e898 --- M doc/manuals/abis/rsl.adoc M src/common/gsm_data.c M src/common/lchan.c M src/common/oml.c M src/common/pcu_sock.c M src/common/rsl.c M src/common/vty.c M src/osmo-bts-lc15/l1_if.c M src/osmo-bts-lc15/oml.c M src/osmo-bts-oc2g/l1_if.c M src/osmo-bts-oc2g/oml.c M src/osmo-bts-octphy/l1_if.c M src/osmo-bts-octphy/l1_oml.c M src/osmo-bts-sysmo/l1_if.c M src/osmo-bts-sysmo/oml.c M src/osmo-bts-trx/l1_if.c 16 files changed, 52 insertions(+), 52 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/doc/manuals/abis/rsl.adoc b/doc/manuals/abis/rsl.adoc index b4c2609..6d8cd36 100644 --- a/doc/manuals/abis/rsl.adoc +++ b/doc/manuals/abis/rsl.adoc @@ -123,7 +123,7 @@ ==== Channel Activation When used on a timeslot using the non-standard channel combination -'NM_CHANC_OSMO_TCHFull_TCHHalf_PDCH' as configured by OML, the regular +'NM_CHANC_OSMO_DYN' as configured by OML, the regular RSL channel activation procedures can not only be used for activation of circuit-switched channels, but also for activation of a PDCH. @@ -417,7 +417,7 @@ ==== Osmocom Style Dynamic Channels This method is in use when OML uses -'NM_CHANC_OSMO_TCHFull_TCHHalf_PDCH' (0x90) for the given time-slot. +'NM_CHANC_OSMO_DYN' (0x90) for the given time-slot. The activation of PDCH is performed by using the regular 'RSL CHANNEL ACTIVATE' procedure according to <>, with these modifications: diff --git a/src/common/gsm_data.c b/src/common/gsm_data.c index f533fb9..a6b0d7e 100644 --- a/src/common/gsm_data.c +++ b/src/common/gsm_data.c @@ -52,7 +52,7 @@ { GSM_PCHAN_UNKNOWN, "UNKNOWN" }, { GSM_PCHAN_CCCH_SDCCH4_CBCH, "CCCH+SDCCH4+CBCH" }, { GSM_PCHAN_SDCCH8_SACCH8C_CBCH, "SDCCH8+CBCH" }, - { GSM_PCHAN_TCH_F_TCH_H_PDCH, "TCH/F_TCH/H_PDCH" }, + { GSM_PCHAN_OSMO_DYN, "TCH/F_TCH/H_SDCCH8_PDCH" }, { 0, NULL } }; @@ -69,7 +69,7 @@ { GSM_PCHAN_UNKNOWN, "Unknown / Unsupported channel combination" }, { GSM_PCHAN_CCCH_SDCCH4_CBCH, "FCCH + SCH + BCCH + CCCH + CBCH + 3 SDCCH + 2 SACCH (Comb. V)" }, { GSM_PCHAN_SDCCH8_SACCH8C_CBCH, "7 SDCCH + 4 SACCH + CBCH (Comb. VII)" }, - { GSM_PCHAN_TCH_F_TCH_H_PDCH, "Dynamic TCH/F or TCH/H or GPRS PDCH" }, + { GSM_PCHAN_OSMO_DYN, "Dynamic TCH/F or TCH/H or SDCCH/8 or GPRS PDCH" }, { 0, NULL } }; @@ -115,7 +115,7 @@ char *gsm_ts_and_pchan_name(const struct gsm_bts_trx_ts *ts) { switch (ts->pchan) { - case GSM_PCHAN_TCH_F_TCH_H_PDCH: + case GSM_PCHAN_OSMO_DYN: if (ts->dyn.pchan_is == ts->dyn.pchan_want) snprintf(ts2str, sizeof(ts2str), "(" GSM_TS_NAME_FMT ",pchan=%s as %s)", @@ -176,7 +176,7 @@ { uint8_t cbits, chan_nr; - OSMO_ASSERT(pchan != GSM_PCHAN_TCH_F_TCH_H_PDCH); + OSMO_ASSERT(pchan != GSM_PCHAN_OSMO_DYN); OSMO_ASSERT(pchan != GSM_PCHAN_TCH_F_PDCH); switch (pchan) { @@ -243,7 +243,7 @@ uint8_t chan_nr; switch (lchan->ts->pchan) { - case GSM_PCHAN_TCH_F_TCH_H_PDCH: + case GSM_PCHAN_OSMO_DYN: /* Return chan_nr reflecting the current TS pchan, either a standard TCH kind, or the * nonstandard value reflecting PDCH for Osmocom style dyn TS. */ chan_nr = gsm_lchan_as_pchan2chan_nr(lchan, lchan->ts->dyn.pchan_is); @@ -269,7 +269,7 @@ uint8_t gsm_lchan_as_pchan2chan_nr(const struct gsm_lchan *lchan, enum gsm_phys_chan_config as_pchan) { - if (lchan->ts->pchan == GSM_PCHAN_TCH_F_TCH_H_PDCH + if (lchan->ts->pchan == GSM_PCHAN_OSMO_DYN && as_pchan == GSM_PCHAN_PDCH) return RSL_CHAN_OSMO_PDCH | (lchan->ts->nr & ~RSL_CHAN_NR_MASK); return gsm_pchan2chan_nr(as_pchan, lchan->ts->nr, lchan->nr); @@ -347,7 +347,7 @@ if (ts->pchan != GSM_PCHAN_TCH_F && ts->pchan != GSM_PCHAN_PDCH && ts->pchan != GSM_PCHAN_TCH_F_PDCH && - ts->pchan != GSM_PCHAN_TCH_F_TCH_H_PDCH) + ts->pchan != GSM_PCHAN_OSMO_DYN) ok = false; break; case ABIS_RSL_CHAN_NR_CBITS_OSMO_VAMOS_Lm_ACCHs(0): @@ -360,7 +360,7 @@ case ABIS_RSL_CHAN_NR_CBITS_Lm_ACCHs(1): lch_idx = cbits & 0x1; /* TCH/H */ if (ts->pchan != GSM_PCHAN_TCH_H && - ts->pchan != GSM_PCHAN_TCH_F_TCH_H_PDCH) + ts->pchan != GSM_PCHAN_OSMO_DYN) ok = false; break; case ABIS_RSL_CHAN_NR_CBITS_SDCCH4_ACCH(0): @@ -397,7 +397,7 @@ break; case ABIS_RSL_CHAN_NR_CBITS_OSMO_PDCH: lch_idx = 0; - if (ts->pchan != GSM_PCHAN_TCH_F_TCH_H_PDCH) + if (ts->pchan != GSM_PCHAN_OSMO_DYN) ok = false; break; default: @@ -421,7 +421,7 @@ [GSM_PCHAN_CCCH_SDCCH4_CBCH] = 4, [GSM_PCHAN_SDCCH8_SACCH8C_CBCH] = 8, /* - * GSM_PCHAN_TCH_F_PDCH and GSM_PCHAN_TCH_F_TCH_H_PDCH should not be + * GSM_PCHAN_TCH_F_PDCH and GSM_PCHAN_OSMO_DYN should not be * part of this, those TS are handled according to their dynamic state. */ }; @@ -430,7 +430,7 @@ enum gsm_phys_chan_config ts_pchan(const struct gsm_bts_trx_ts *ts) { switch (ts->pchan) { - case GSM_PCHAN_TCH_F_TCH_H_PDCH: + case GSM_PCHAN_OSMO_DYN: return ts->dyn.pchan_is; case GSM_PCHAN_TCH_F_PDCH: if (ts->flags & TS_F_PDCH_ACTIVE) diff --git a/src/common/lchan.c b/src/common/lchan.c index 9e98166..5a3f539 100644 --- a/src/common/lchan.c +++ b/src/common/lchan.c @@ -40,7 +40,7 @@ case GSM_PCHAN_TCH_F_PDCH: return (ts->flags & TS_F_PDCH_ACTIVE) && !(ts->flags & TS_F_PDCH_PENDING_MASK); - case GSM_PCHAN_TCH_F_TCH_H_PDCH: + case GSM_PCHAN_OSMO_DYN: return ts->dyn.pchan_is == GSM_PCHAN_PDCH && ts->dyn.pchan_want == ts->dyn.pchan_is; default: diff --git a/src/common/oml.c b/src/common/oml.c index aeded8b..819b033 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -802,7 +802,7 @@ : GSM_PCHAN_TCH_F; /* Osmocom RSL CHAN ACT style dyn TS */ - if (pchan == GSM_PCHAN_TCH_F_TCH_H_PDCH) { + if (pchan == GSM_PCHAN_OSMO_DYN) { pchan = ts->dyn.pchan_is; /* If the dyn TS doesn't have a pchan yet, do nothing. */ diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index f40dd42..41a5ffc 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -99,7 +99,7 @@ return !(ts->flags & TS_F_PDCH_DEACT_PENDING); else return (ts->flags & TS_F_PDCH_ACT_PENDING); - case GSM_PCHAN_TCH_F_TCH_H_PDCH: + case GSM_PCHAN_OSMO_DYN: /* * When we're busy de-/activating the PDCH, we first set * ts->dyn.pchan_want, tell the PCU about it and wait for a @@ -867,7 +867,7 @@ gsm_lchant_name(lchan->type)); return -EINVAL; } - if (lchan->ts->pchan == GSM_PCHAN_TCH_F_TCH_H_PDCH && + if (lchan->ts->pchan == GSM_PCHAN_OSMO_DYN && lchan->ts->dyn.pchan_is != GSM_PCHAN_PDCH) { LOGP(DPCU, LOGL_ERROR, "%s request, but lchan in dyn TS is not configured as PDCH in lower layers (is %s)\n", diff --git a/src/common/rsl.c b/src/common/rsl.c index 010b9d3..8043f98 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -1132,7 +1132,7 @@ case LCHAN_REL_ACT_PCU: switch (lchan->ts->pchan) { - case GSM_PCHAN_TCH_F_TCH_H_PDCH: + case GSM_PCHAN_OSMO_DYN: if (lchan->ts->dyn.pchan_is != GSM_PCHAN_PDCH) { LOGP(DRSL, LOGL_ERROR, "%s (ss=%d) PDCH release: not in PDCH mode\n", gsm_ts_and_pchan_name(lchan->ts), lchan->nr); @@ -1140,7 +1140,7 @@ } if (lchan->ts->dyn.pchan_want != GSM_PCHAN_PDCH) { /* Continue to ack the release below. (This is a non-standard rel ack invented - * specifically for GSM_PCHAN_TCH_F_TCH_H_PDCH). */ + * specifically for GSM_PCHAN_OSMO_DYN). */ /* remember the fact that the TS is now released */ lchan->ts->dyn.pchan_is = GSM_PCHAN_NONE; send_rel_ack = true; @@ -1502,7 +1502,7 @@ return rsl_tx_chan_act_nack(lchan, RSL_ERR_EQUIPMENT_FAIL); } - if (ts->pchan == GSM_PCHAN_TCH_F_TCH_H_PDCH) { + if (ts->pchan == GSM_PCHAN_OSMO_DYN) { ts->dyn.pchan_want = dyn_pchan_from_chan_nr(dch->chan_nr); DEBUGP(DRSL, "%s rx chan activ\n", gsm_ts_and_pchan_name(ts)); @@ -1711,7 +1711,7 @@ gsm48_chan_mode_name(lchan->tch_mode)); /* Connecting PDCH on dyn TS goes via PCU instead. */ - if (ts->pchan == GSM_PCHAN_TCH_F_TCH_H_PDCH + if (ts->pchan == GSM_PCHAN_OSMO_DYN && ts->dyn.pchan_want == GSM_PCHAN_PDCH) { /* * We ack the activation to the BSC right away, regardless of @@ -1851,7 +1851,7 @@ lchan->rel_act_kind = LCHAN_REL_ACT_RSL; /* Dynamic channel in PDCH mode is released via PCU */ - if (lchan->ts->pchan == GSM_PCHAN_TCH_F_TCH_H_PDCH + if (lchan->ts->pchan == GSM_PCHAN_OSMO_DYN && lchan->ts->dyn.pchan_is == GSM_PCHAN_PDCH) { rc = dyn_ts_pdch_release(lchan); if (rc == 1) { @@ -3032,7 +3032,7 @@ switch (ts->pchan) { case GSM_PCHAN_TCH_F_PDCH: return ipacc_dyn_pdch_ts_disconnected(ts); - case GSM_PCHAN_TCH_F_TCH_H_PDCH: + case GSM_PCHAN_OSMO_DYN: return osmo_dyn_ts_disconnected(ts); default: return; @@ -3130,7 +3130,7 @@ switch (ts->pchan) { case GSM_PCHAN_TCH_F_PDCH: return ipacc_dyn_pdch_ts_connected(ts, rc); - case GSM_PCHAN_TCH_F_TCH_H_PDCH: + case GSM_PCHAN_OSMO_DYN: return osmo_dyn_ts_connected(ts, rc); default: return; diff --git a/src/common/vty.c b/src/common/vty.c index 10e1748..3065a90 100644 --- a/src/common/vty.c +++ b/src/common/vty.c @@ -1541,7 +1541,7 @@ static void vty_out_dyn_ts_status(struct vty *vty, const struct gsm_bts_trx_ts *ts) { switch (ts->pchan) { - case GSM_PCHAN_TCH_F_TCH_H_PDCH: + case GSM_PCHAN_OSMO_DYN: if (ts->dyn.pchan_is == ts->dyn.pchan_want) vty_out(vty, " as %s", gsm_pchan_name(ts->dyn.pchan_is)); @@ -1690,7 +1690,7 @@ lchan->nr, gsm_lchant_name(lchan->type), VTY_NEWLINE); /* show dyn TS details, if applicable */ switch (lchan->ts->pchan) { - case GSM_PCHAN_TCH_F_TCH_H_PDCH: + case GSM_PCHAN_OSMO_DYN: vty_out(vty, " Osmocom Dyn TS:"); vty_out_dyn_ts_status(vty, lchan->ts); vty_out(vty, VTY_NEWLINE); diff --git a/src/osmo-bts-lc15/l1_if.c b/src/osmo-bts-lc15/l1_if.c index b7c24c0..02c8646 100644 --- a/src/osmo-bts-lc15/l1_if.c +++ b/src/osmo-bts-lc15/l1_if.c @@ -682,7 +682,7 @@ if (ts->flags & TS_F_PDCH_ACTIVE) return GSM_PCHAN_PDCH; return GSM_PCHAN_TCH_F; - case GSM_PCHAN_TCH_F_TCH_H_PDCH: + case GSM_PCHAN_OSMO_DYN: return ts->dyn.pchan_is; default: return ts->pchan; @@ -696,7 +696,7 @@ uint8_t cbits = 0; enum gsm_phys_chan_config pchan = pick_pchan(ts); OSMO_ASSERT(pchan != GSM_PCHAN_TCH_F_PDCH); - OSMO_ASSERT(pchan != GSM_PCHAN_TCH_F_TCH_H_PDCH); + OSMO_ASSERT(pchan != GSM_PCHAN_OSMO_DYN); switch (sapi) { case GsmL1_Sapi_Bcch: diff --git a/src/osmo-bts-lc15/oml.c b/src/osmo-bts-lc15/oml.c index acce1d4..b4945be 100644 --- a/src/osmo-bts-lc15/oml.c +++ b/src/osmo-bts-lc15/oml.c @@ -93,7 +93,7 @@ [GSM_PCHAN_PDCH] = GsmL1_LogChComb_XIII, [GSM_PCHAN_UNKNOWN] = GsmL1_LogChComb_0, /* - * GSM_PCHAN_TCH_F_PDCH and GSM_PCHAN_TCH_F_TCH_H_PDCH should not be + * GSM_PCHAN_TCH_F_PDCH and GSM_PCHAN_OSMO_DYN should not be * part of this, only "real" pchan values will be looked up here. * See the callers of ts_connect_as(). */ @@ -525,7 +525,7 @@ GsmL1_MphConnectReq_t *cr; if (pchan == GSM_PCHAN_TCH_F_PDCH - || pchan == GSM_PCHAN_TCH_F_TCH_H_PDCH) { + || pchan == GSM_PCHAN_OSMO_DYN) { LOGP(DL1C, LOGL_ERROR, "%s Requested TS connect as %s," " expected a specific pchan instead\n", @@ -545,7 +545,7 @@ { enum gsm_phys_chan_config pchan = ts->pchan; switch (pchan) { - case GSM_PCHAN_TCH_F_TCH_H_PDCH: + case GSM_PCHAN_OSMO_DYN: ts->dyn.pchan_is = ts->dyn.pchan_want = GSM_PCHAN_NONE; /* First connect as NONE, until first RSL CHAN ACT. */ pchan = GSM_PCHAN_NONE; @@ -580,7 +580,7 @@ { enum gsm_phys_chan_config pchan = lchan->ts->pchan; - if (pchan == GSM_PCHAN_TCH_F_TCH_H_PDCH) + if (pchan == GSM_PCHAN_OSMO_DYN) pchan = lchan->ts->dyn.pchan_want; switch (pchan) { @@ -599,7 +599,7 @@ case GSM_PCHAN_PDCH: case GSM_PCHAN_UNKNOWN: default: - /* case GSM_PCHAN_TCH_F_TCH_H_PDCH: is caught above */ + /* case GSM_PCHAN_OSMO_DYN: is caught above */ return GsmL1_SubCh_NA; } diff --git a/src/osmo-bts-oc2g/l1_if.c b/src/osmo-bts-oc2g/l1_if.c index 475edd2..2cefc3b 100644 --- a/src/osmo-bts-oc2g/l1_if.c +++ b/src/osmo-bts-oc2g/l1_if.c @@ -735,7 +735,7 @@ if (ts->flags & TS_F_PDCH_ACTIVE) return GSM_PCHAN_PDCH; return GSM_PCHAN_TCH_F; - case GSM_PCHAN_TCH_F_TCH_H_PDCH: + case GSM_PCHAN_OSMO_DYN: return ts->dyn.pchan_is; default: return ts->pchan; @@ -749,7 +749,7 @@ uint8_t cbits = 0; enum gsm_phys_chan_config pchan = pick_pchan(ts); OSMO_ASSERT(pchan != GSM_PCHAN_TCH_F_PDCH); - OSMO_ASSERT(pchan != GSM_PCHAN_TCH_F_TCH_H_PDCH); + OSMO_ASSERT(pchan != GSM_PCHAN_OSMO_DYN); switch (sapi) { case GsmL1_Sapi_Bcch: diff --git a/src/osmo-bts-oc2g/oml.c b/src/osmo-bts-oc2g/oml.c index 5646cfb..9791ab8 100644 --- a/src/osmo-bts-oc2g/oml.c +++ b/src/osmo-bts-oc2g/oml.c @@ -93,7 +93,7 @@ [GSM_PCHAN_PDCH] = GsmL1_LogChComb_XIII, [GSM_PCHAN_UNKNOWN] = GsmL1_LogChComb_0, /* - * GSM_PCHAN_TCH_F_PDCH and GSM_PCHAN_TCH_F_TCH_H_PDCH should not be + * GSM_PCHAN_TCH_F_PDCH and GSM_PCHAN_OSMO_DYN should not be * part of this, only "real" pchan values will be looked up here. * See the callers of ts_connect_as(). */ @@ -540,7 +540,7 @@ GsmL1_MphConnectReq_t *cr; if (pchan == GSM_PCHAN_TCH_F_PDCH - || pchan == GSM_PCHAN_TCH_F_TCH_H_PDCH) { + || pchan == GSM_PCHAN_OSMO_DYN) { LOGP(DL1C, LOGL_ERROR, "%s Requested TS connect as %s," " expected a specific pchan instead\n", @@ -560,7 +560,7 @@ { enum gsm_phys_chan_config pchan = ts->pchan; switch (pchan) { - case GSM_PCHAN_TCH_F_TCH_H_PDCH: + case GSM_PCHAN_OSMO_DYN: ts->dyn.pchan_is = ts->dyn.pchan_want = GSM_PCHAN_NONE; /* First connect as NONE, until first RSL CHAN ACT. */ pchan = GSM_PCHAN_NONE; @@ -595,7 +595,7 @@ { enum gsm_phys_chan_config pchan = lchan->ts->pchan; - if (pchan == GSM_PCHAN_TCH_F_TCH_H_PDCH) + if (pchan == GSM_PCHAN_OSMO_DYN) pchan = lchan->ts->dyn.pchan_want; switch (pchan) { @@ -614,7 +614,7 @@ case GSM_PCHAN_PDCH: case GSM_PCHAN_UNKNOWN: default: - /* case GSM_PCHAN_TCH_F_TCH_H_PDCH: is caught above */ + /* case GSM_PCHAN_OSMO_DYN: is caught above */ return GsmL1_SubCh_NA; } diff --git a/src/osmo-bts-octphy/l1_if.c b/src/osmo-bts-octphy/l1_if.c index f69a535..294a65e 100644 --- a/src/osmo-bts-octphy/l1_if.c +++ b/src/osmo-bts-octphy/l1_if.c @@ -329,7 +329,7 @@ if (ts->flags & TS_F_PDCH_ACTIVE) return GSM_PCHAN_PDCH; return GSM_PCHAN_TCH_F; - case GSM_PCHAN_TCH_F_TCH_H_PDCH: + case GSM_PCHAN_OSMO_DYN: return ts->dyn.pchan_is; default: return ts->pchan; @@ -344,7 +344,7 @@ enum gsm_phys_chan_config pchan = pick_pchan(ts); OSMO_ASSERT(pchan != GSM_PCHAN_TCH_F_PDCH); - OSMO_ASSERT(pchan != GSM_PCHAN_TCH_F_TCH_H_PDCH); + OSMO_ASSERT(pchan != GSM_PCHAN_OSMO_DYN); switch (sapi) { case cOCTVC1_GSM_SAPI_ENUM_BCCH: diff --git a/src/osmo-bts-octphy/l1_oml.c b/src/osmo-bts-octphy/l1_oml.c index acd43e4..5b48b2e 100644 --- a/src/osmo-bts-octphy/l1_oml.c +++ b/src/osmo-bts-octphy/l1_oml.c @@ -1832,7 +1832,7 @@ { int rc; if (as_pchan == GSM_PCHAN_TCH_F_PDCH - || as_pchan == GSM_PCHAN_TCH_F_TCH_H_PDCH) { + || as_pchan == GSM_PCHAN_OSMO_DYN) { LOGP(DL1C, LOGL_ERROR, "%s Requested TS connect as %s," " expected a specific pchan instead\n", diff --git a/src/osmo-bts-sysmo/l1_if.c b/src/osmo-bts-sysmo/l1_if.c index 07f36db..5c99824 100644 --- a/src/osmo-bts-sysmo/l1_if.c +++ b/src/osmo-bts-sysmo/l1_if.c @@ -683,7 +683,7 @@ if (ts->flags & TS_F_PDCH_ACTIVE) return GSM_PCHAN_PDCH; return GSM_PCHAN_TCH_F; - case GSM_PCHAN_TCH_F_TCH_H_PDCH: + case GSM_PCHAN_OSMO_DYN: return ts->dyn.pchan_is; default: return ts->pchan; @@ -697,7 +697,7 @@ uint8_t cbits = 0; enum gsm_phys_chan_config pchan = pick_pchan(ts); OSMO_ASSERT(pchan != GSM_PCHAN_TCH_F_PDCH); - OSMO_ASSERT(pchan != GSM_PCHAN_TCH_F_TCH_H_PDCH); + OSMO_ASSERT(pchan != GSM_PCHAN_OSMO_DYN); switch (sapi) { case GsmL1_Sapi_Bcch: diff --git a/src/osmo-bts-sysmo/oml.c b/src/osmo-bts-sysmo/oml.c index 818d82b..93ecf90 100644 --- a/src/osmo-bts-sysmo/oml.c +++ b/src/osmo-bts-sysmo/oml.c @@ -90,7 +90,7 @@ [GSM_PCHAN_PDCH] = GsmL1_LogChComb_XIII, [GSM_PCHAN_UNKNOWN] = GsmL1_LogChComb_0, /* - * GSM_PCHAN_TCH_F_PDCH and GSM_PCHAN_TCH_F_TCH_H_PDCH should not be + * GSM_PCHAN_TCH_F_PDCH and GSM_PCHAN_OSMO_DYN should not be * part of this, only "real" pchan values will be looked up here. * See the callers of ts_connect_as(). */ @@ -521,7 +521,7 @@ GsmL1_MphConnectReq_t *cr; if (pchan == GSM_PCHAN_TCH_F_PDCH - || pchan == GSM_PCHAN_TCH_F_TCH_H_PDCH) { + || pchan == GSM_PCHAN_OSMO_DYN) { LOGP(DL1C, LOGL_ERROR, "%s Requested TS connect as %s," " expected a specific pchan instead\n", @@ -546,7 +546,7 @@ { enum gsm_phys_chan_config pchan = ts->pchan; switch (pchan) { - case GSM_PCHAN_TCH_F_TCH_H_PDCH: + case GSM_PCHAN_OSMO_DYN: ts->dyn.pchan_is = ts->dyn.pchan_want = GSM_PCHAN_NONE; /* First connect as NONE, until first RSL CHAN ACT. */ pchan = GSM_PCHAN_NONE; @@ -581,7 +581,7 @@ { enum gsm_phys_chan_config pchan = lchan->ts->pchan; - if (pchan == GSM_PCHAN_TCH_F_TCH_H_PDCH) + if (pchan == GSM_PCHAN_OSMO_DYN) pchan = lchan->ts->dyn.pchan_want; switch (pchan) { @@ -601,7 +601,7 @@ case GSM_PCHAN_TCH_F_PDCH: case GSM_PCHAN_UNKNOWN: default: - /* case GSM_PCHAN_TCH_F_TCH_H_PDCH: is caught above */ + /* case GSM_PCHAN_OSMO_DYN: is caught above */ return GsmL1_SubCh_NA; } diff --git a/src/osmo-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c index 3be5179..754e9d7 100644 --- a/src/osmo-bts-trx/l1_if.c +++ b/src/osmo-bts-trx/l1_if.c @@ -281,7 +281,7 @@ /* set physical channel. For dynamic timeslots, the caller should have * decided on a more specific PCHAN type already. */ OSMO_ASSERT(pchan != GSM_PCHAN_TCH_F_PDCH); - OSMO_ASSERT(pchan != GSM_PCHAN_TCH_F_TCH_H_PDCH); + OSMO_ASSERT(pchan != GSM_PCHAN_OSMO_DYN); rc = trx_sched_set_pchan(ts, pchan); if (rc) return NM_NACK_RES_NOTAVAIL; @@ -322,7 +322,7 @@ pchan = (ts->flags & TS_F_PDCH_ACTIVE)? GSM_PCHAN_PDCH : GSM_PCHAN_TCH_F; break; - case GSM_PCHAN_TCH_F_TCH_H_PDCH: + case GSM_PCHAN_OSMO_DYN: OSMO_ASSERT(ts->dyn.pchan_is == ts->dyn.pchan_want); pchan = ts->dyn.pchan_is; break; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24799 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia617d20fc52f09dbab8f4516c06fa1efac08e898 Gerrit-Change-Number: 24799 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 5 08:03:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 5 Jul 2021 08:03:08 +0000 Subject: Change in osmo-bts[master]: Support SDCCH8 in osmo dyn ts In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24802 ) Change subject: Support SDCCH8 in osmo dyn ts ...................................................................... Support SDCCH8 in osmo dyn ts Change-Id: Id541dee6c224d2b8d97c07b916085883354cecbc --- M src/common/bts.c M src/common/gsm_data.c M src/common/rsl.c 3 files changed, 19 insertions(+), 6 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/common/bts.c b/src/common/bts.c index 09d9b88..d222699 100644 --- a/src/common/bts.c +++ b/src/common/bts.c @@ -372,6 +372,7 @@ osmo_bts_set_feature(bts->features, BTS_FEAT_ETWS_PN); osmo_bts_set_feature(bts->features, BTS_FEAT_IPV6_NSVC); osmo_bts_set_feature(bts->features, BTS_FEAT_ABIS_OSMO_PCU); + osmo_bts_set_feature(bts->features, BTS_FEAT_DYN_TS_SDCCH8); rc = bts_model_init(bts); if (rc < 0) { diff --git a/src/common/gsm_data.c b/src/common/gsm_data.c index a6b0d7e..ecc4308 100644 --- a/src/common/gsm_data.c +++ b/src/common/gsm_data.c @@ -382,7 +382,8 @@ case ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(7): lch_idx = cbits & 0x7; /* SDCCH/8 */ if (ts->pchan != GSM_PCHAN_SDCCH8_SACCH8C && - ts->pchan != GSM_PCHAN_SDCCH8_SACCH8C_CBCH) + ts->pchan != GSM_PCHAN_SDCCH8_SACCH8C_CBCH && + ts->pchan != GSM_PCHAN_OSMO_DYN) ok = false; break; case ABIS_RSL_CHAN_NR_CBITS_BCCH: diff --git a/src/common/rsl.c b/src/common/rsl.c index 8043f98..57a95a1 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -1425,6 +1425,7 @@ switch (ts->dyn.pchan_want) { case GSM_PCHAN_TCH_F: case GSM_PCHAN_TCH_H: + case GSM_PCHAN_SDCCH8_SACCH8C: break; case GSM_PCHAN_PDCH: /* Only the first lchan matters for PDCH */ @@ -1448,14 +1449,23 @@ static enum gsm_phys_chan_config dyn_pchan_from_chan_nr(uint8_t chan_nr) { - uint8_t cbits = chan_nr & RSL_CHAN_NR_MASK; + uint8_t cbits = chan_nr >> 3; switch (cbits) { - case RSL_CHAN_Bm_ACCHs: + case ABIS_RSL_CHAN_NR_CBITS_Bm_ACCHs: return GSM_PCHAN_TCH_F; - case RSL_CHAN_Lm_ACCHs: - case (RSL_CHAN_Lm_ACCHs + RSL_CHAN_NR_1): + case ABIS_RSL_CHAN_NR_CBITS_Lm_ACCHs(0): + case ABIS_RSL_CHAN_NR_CBITS_Lm_ACCHs(1): return GSM_PCHAN_TCH_H; - case RSL_CHAN_OSMO_PDCH: + case ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(0): + case ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(1): + case ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(2): + case ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(3): + case ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(4): + case ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(5): + case ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(6): + case ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(7): + return GSM_PCHAN_SDCCH8_SACCH8C; + case ABIS_RSL_CHAN_NR_CBITS_OSMO_PDCH: return GSM_PCHAN_PDCH; default: LOGP(DRSL, LOGL_ERROR, @@ -3009,6 +3019,7 @@ switch (ts->dyn.pchan_want) { case GSM_PCHAN_TCH_F: case GSM_PCHAN_TCH_H: + case GSM_PCHAN_SDCCH8_SACCH8C: case GSM_PCHAN_PDCH: break; default: -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24802 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id541dee6c224d2b8d97c07b916085883354cecbc Gerrit-Change-Number: 24802 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 5 08:28:15 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 5 Jul 2021 08:28:15 +0000 Subject: Change in osmo-bts[master]: rsl: use tlvp_val16be() in rsl_rx_ipac_XXcx() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24837 ) Change subject: rsl: use tlvp_val16be() in rsl_rx_ipac_XXcx() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24837 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id883a976a03fd3022ed9d66f703b01244df2d9db Gerrit-Change-Number: 24837 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 05 Jul 2021 08:28: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 Jul 5 08:29:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 5 Jul 2021 08:29:06 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Types: add remote addr/port to ts_RSL_IPA_CRCX() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24838 ) Change subject: library/RSL_Types: add remote addr/port to ts_RSL_IPA_CRCX() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24838 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iffcac2f1c9b877393fef547fb67ee24cc1e27a11 Gerrit-Change-Number: 24838 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 05 Jul 2021 08:29:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 5 08:31:29 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 5 Jul 2021 08:31:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RTP_Emulation: add optional port for RTP sniffing In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24841 ) Change subject: library/RTP_Emulation: add optional port for RTP sniffing ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24841 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I224d25aa298b5b512ab9e2a36c144e19c23d8462 Gerrit-Change-Number: 24841 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 05 Jul 2021 08:31:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 5 08:32:07 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 5 Jul 2021 08:32:07 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RTP_Emulation: improve readability of guard statements In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24840 ) Change subject: library/RTP_Emulation: improve readability of guard statements ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24840 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic25646cca5c276feae8dda52153991a8d16913e1 Gerrit-Change-Number: 24840 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 05 Jul 2021 08:32: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 Jul 5 08:34:44 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 5 Jul 2021 08:34:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Types: use OCT4 for local/remote address fields In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24839 ) Change subject: library/RSL_Types: use OCT4 for local/remote address fields ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24839 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I389a8cb95c025c9dddc751789223621c15d9b48f Gerrit-Change-Number: 24839 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 05 Jul 2021 08:34: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 Jul 5 08:37:44 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 5 Jul 2021 08:37:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: equip ConnHdlr with the RTP emulation component In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24842 ) Change subject: BTS: equip ConnHdlr with the RTP emulation component ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24842 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icb04cb73d8d55eb75edc2af2f18bb99d2c3f24a5 Gerrit-Change-Number: 24842 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 05 Jul 2021 08:37: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 Jul 5 08:38:58 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 5 Jul 2021 08:38:58 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: add test cases for Downlink and Uplink speech frames In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24843 ) Change subject: BTS: add test cases for Downlink and Uplink speech frames ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24843 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8d301dfa47c11d9314cdfca8adadcbcb4eee798d Gerrit-Change-Number: 24843 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 05 Jul 2021 08:38: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 Jul 5 08:39:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 5 Jul 2021 08:39:47 +0000 Subject: Change in osmo-bts[master]: gsm_lchan_interf_meas_calc_band(): also print number of AVG samples In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24844 ) Change subject: gsm_lchan_interf_meas_calc_band(): also print number of AVG samples ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24844 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4cebb0c5eef16f7e20fce85c506fc271127d7259 Gerrit-Change-Number: 24844 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 05 Jul 2021 08:39: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 Jul 5 08:41:10 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 5 Jul 2021 08:41:10 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: unify and enrich decoding error messages In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24845 ) Change subject: trxcon/scheduler: unify and enrich decoding error messages ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24845 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I42d20e2da73c21ca366dd246244cd716c8ccb459 Gerrit-Change-Number: 24845 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 05 Jul 2021 08:41:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 5 10:18:51 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 5 Jul 2021 10:18:51 +0000 Subject: Change in osmo-iuh[master]: hnb-test: Fix typo in vty cmd description References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-iuh/+/24847 ) Change subject: hnb-test: Fix typo in vty cmd description ...................................................................... hnb-test: Fix typo in vty cmd description Change-Id: Id33e2e8caa37dc359d564188747cd4c1b8bc4064 --- M src/tests/hnb-test.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/47/24847/1 diff --git a/src/tests/hnb-test.c b/src/tests/hnb-test.c index acd8b13..b612814 100644 --- a/src/tests/hnb-test.c +++ b/src/tests/hnb-test.c @@ -790,7 +790,7 @@ } DEFUN(asn_dbg, asn_dbg_cmd, - "asn-debug (1|0)", "Enable or disabel libasn1c debugging") + "asn-debug (1|0)", "Enable or disable libasn1c debugging") { asn_debug = atoi(argv[0]); -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/24847 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Id33e2e8caa37dc359d564188747cd4c1b8bc4064 Gerrit-Change-Number: 24847 Gerrit-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 Jul 5 11:04:27 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 5 Jul 2021 11:04:27 +0000 Subject: Change in osmo-bsc[master]: vty: fix doc: default value for 'nri bitlen' In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24833 ) Change subject: vty: fix doc: default value for 'nri bitlen' ...................................................................... vty: fix doc: default value for 'nri bitlen' The constant is called OSMO_NRI_BITLEN_DEFAULT, NRI_BITLEN_DEFAULT does not exist and got rendered as "NRI_BITLEN_DEFAULT" in the vty doc. Add missing vty test for 'nri bitlen'. Change-Id: I8af840a4589f47eaca6bf10e37e0859f9ae53dfa --- M src/osmo-bsc/bsc_vty.c M tests/nri_cfg.vty 2 files changed, 14 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 8ba55e6..7207341 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -2326,7 +2326,7 @@ "nri bitlen <1-15>", NRI_STR "Set number of bits that an NRI has, to extract from TMSI identities (always starting just after the TMSI's most significant octet).\n" - "bit count (default: " OSMO_STRINGIFY_VAL(NRI_BITLEN_DEFAULT) ")\n", + "bit count (default: " OSMO_STRINGIFY_VAL(OSMO_NRI_BITLEN_DEFAULT) ")\n", CMD_ATTR_IMMEDIATE) { struct gsm_network *gsmnet = gsmnet_from_vty(vty); diff --git a/tests/nri_cfg.vty b/tests/nri_cfg.vty index 8287eab..d3db3c8 100644 --- a/tests/nri_cfg.vty +++ b/tests/nri_cfg.vty @@ -79,6 +79,19 @@ nri add 1024 1025 OsmoBSC(config)# network + +OsmoBSC(config-net)# list +... + nri bitlen <1-15> +... + +OsmoBSC(config-net)# nri ? + bitlen Set number of bits that an NRI has, to extract from TMSI identities (always starting just after the TMSI's most significant octet). + null Define NULL-NRI values that cause re-assignment of an MS to a different MSC, for MSC pooling. + +OsmoBSC(config-net)# nri bitlen ? + <1-15> bit count (default: 10) + OsmoBSC(config-net)# nri bitlen 11 OsmoBSC(config-net)# show running-config ... -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24833 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8af840a4589f47eaca6bf10e37e0859f9ae53dfa Gerrit-Change-Number: 24833 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 5 11:04:27 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 5 Jul 2021 11:04:27 +0000 Subject: Change in osmo-bsc[master]: vty: add vty doc test for 'nri null' commands In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24834 ) Change subject: vty: add vty doc test for 'nri null' commands ...................................................................... vty: add vty doc test for 'nri null' commands Change-Id: I2782dc547ce9751e5f1039aab9a2d36cf1be3fde --- M tests/nri_cfg.vty 1 file changed, 19 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/tests/nri_cfg.vty b/tests/nri_cfg.vty index d3db3c8..e8dec5a 100644 --- a/tests/nri_cfg.vty +++ b/tests/nri_cfg.vty @@ -118,6 +118,25 @@ nri add 512 767 nri add 1024 1025 ... + +OsmoBSC(config-net)# nri null ? + add Add NULL-NRI value (or range) + del Remove NRI value or range from the NRI mapping for this MSC + +OsmoBSC(config-net)# nri null add ? + <0-32767> First value of the NRI value range, should not surpass the configured 'nri bitlen'. +OsmoBSC(config-net)# nri null add 0 ? + [<0-32767>] Last value of the NRI value range, should not surpass the configured 'nri bitlen' and be larger than the first value; if omitted, apply only the first value. +OsmoBSC(config-net)# nri null add 0 0 ? + + +OsmoBSC(config-net)# nri null del ? + <0-32767> First value of the NRI value range, should not surpass the configured 'nri bitlen'. +OsmoBSC(config-net)# nri null del 0 ? + [<0-32767>] Last value of the NRI value range, should not surpass the configured 'nri bitlen' and be larger than the first value; if omitted, apply only the first value. +OsmoBSC(config-net)# nri null del 0 0 ? + + OsmoBSC(config-net)# exit OsmoBSC(config)# msc 0 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24834 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2782dc547ce9751e5f1039aab9a2d36cf1be3fde Gerrit-Change-Number: 24834 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 5 11:12:09 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 5 Jul 2021 11:12:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: update expected-results.xml files In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24829 to look at the new patch set (#2). Change subject: update expected-results.xml files ...................................................................... update expected-results.xml files Change-Id: Idcf764cd2d251210bb123d2a5ea782cda0d670b7 --- M bsc/expected-results.xml M gbproxy/expected-results.xml M mgw/expected-results.xml M msc/expected-results.xml M ns/expected-results.xml M pcu/expected-results.xml M sgsn/expected-results.xml 7 files changed, 169 insertions(+), 25 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/29/24829/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24829 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Idcf764cd2d251210bb123d2a5ea782cda0d670b7 Gerrit-Change-Number: 24829 Gerrit-PatchSet: 2 Gerrit-Owner: neels 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 Jul 5 11:12:27 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 5 Jul 2021 11:12:27 +0000 Subject: Change in osmo-ttcn3-hacks[master]: update expected-results.xml files In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24829 ) Change subject: update expected-results.xml files ...................................................................... update expected-results.xml files Change-Id: Idcf764cd2d251210bb123d2a5ea782cda0d670b7 --- M bsc/expected-results.xml M gbproxy/expected-results.xml M mgw/expected-results.xml M msc/expected-results.xml M ns/expected-results.xml M pcu/expected-results.xml M sgsn/expected-results.xml 7 files changed, 169 insertions(+), 25 deletions(-) diff --git a/bsc/expected-results.xml b/bsc/expected-results.xml index 0efc3e0..d2052b8 100644 --- a/bsc/expected-results.xml +++ b/bsc/expected-results.xml @@ -1,5 +1,5 @@ - + @@ -31,6 +31,8 @@ + + @@ -55,6 +57,7 @@ + @@ -133,13 +136,25 @@ + + + + + + + + + + + + @@ -195,6 +210,9 @@ + + + diff --git a/gbproxy/expected-results.xml b/gbproxy/expected-results.xml index 0e20404..e2e4918 100644 --- a/gbproxy/expected-results.xml +++ b/gbproxy/expected-results.xml @@ -1,11 +1,14 @@ - + + + + @@ -23,14 +26,22 @@ + + + + + + + + @@ -45,7 +56,51 @@ + + + + + + + + + "/osmo-ttcn3-hacks/gbproxy/GBProxy_Tests.ttcn:MASKED : Timeout waiting for BSSGP on SGSN[0] side: { pDU_BSSGP_MS_REGISTRATION_ENQUIRY := { bssgpPduType := '14'O, iMSI := { iEI := '0D'O (\"\\r\"), ext := '1'B, lengthIndicator := ?, type_of_Identity := '001'B, oddevenIndicator := ?, digits := '262420000000000'H }, mME_Query := * } }" + GBProxy_Tests.ttcn:MASKED GBProxy_Tests control part + GBProxy_Tests.ttcn:MASKED TC_ms_reg_enq testcase + + + + "/osmo-ttcn3-hacks/gbproxy/GBProxy_Tests.ttcn:MASKED : Timeout waiting for BSSGP on SGSN side: { pDU_BSSGP_STATUS := { bssgpPduType := '41'O (\"A\"), cause := { iEI := '07'O (\"\\a\"), ext := '1'B, lengthIndicator := { length1 := 1 }, cause_Value := '01'O }, bVCI := omit, pDU_in_Error := { iEI := '15'O, ext := '1'B, lengthIndicator := { length1 := ? }, erroneous_BSSGP_PDU := '2A1F84C218002304820926'O } } }" + GBProxy_Tests.ttcn:MASKED GBProxy_Tests control part + GBProxy_Tests.ttcn:MASKED TC_status_sig_ul_tlli testcase + + + + "/osmo-ttcn3-hacks/gbproxy/GBProxy_Tests.ttcn:MASKED : Timeout waiting for BSSGP on SGSN side: { pDU_BSSGP_STATUS := { bssgpPduType := '41'O (\"A\"), cause := { iEI := '07'O (\"\\a\"), ext := '1'B, lengthIndicator := { length1 := 1 }, cause_Value := '01'O }, bVCI := omit, pDU_in_Error := { iEI := '15'O, ext := '1'B, lengthIndicator := { length1 := ? }, erroneous_BSSGP_PDU := '070D8809101010325476980A82000004824E2B208442180023'O } } }" + GBProxy_Tests.ttcn:MASKED GBProxy_Tests control part + GBProxy_Tests.ttcn:MASKED TC_status_sig_ul_tmsi testcase + + + + "/osmo-ttcn3-hacks/gbproxy/GBProxy_Tests.ttcn:MASKED : Timeout waiting for BSSGP on SGSN side: { pDU_BSSGP_STATUS := { bssgpPduType := '41'O (\"A\"), cause := { iEI := '07'O (\"\\a\"), ext := '1'B, lengthIndicator := { length1 := 1 }, cause_Value := '01'O }, bVCI := omit, pDU_in_Error := { iEI := '15'O, ext := '1'B, lengthIndicator := { length1 := ? }, erroneous_BSSGP_PDU := '00C21800230050001682FFFF0E822342'O } } }" + GBProxy_Tests.ttcn:MASKED GBProxy_Tests control part + GBProxy_Tests.ttcn:MASKED TC_status_ptp_ul_tlli testcase + + + + "/osmo-ttcn3-hacks/gbproxy/GBProxy_Tests.ttcn:MASKED : Timeout waiting for BSSGP on SGSN side: { pDU_BSSGP_STATUS := { bssgpPduType := '41'O (\"A\"), cause := { iEI := '07'O (\"\\a\"), ext := '1'B, lengthIndicator := { length1 := 1 }, cause_Value := '01'O }, bVCI := omit, pDU_in_Error := { iEI := '15'O, ext := '1'B, lengthIndicator := { length1 := ? }, erroneous_BSSGP_PDU := '070D8809101010325476980A82000004824E2B208442180023'O } } }" + GBProxy_Tests.ttcn:MASKED GBProxy_Tests control part + GBProxy_Tests.ttcn:MASKED TC_status_ptp_ul_tmsi testcase + + + + "/osmo-ttcn3-hacks/gbproxy/GBProxy_Tests.ttcn:MASKED : Timeout waiting for BSSGP on PCU side: { pDU_BSSGP_STATUS := { bssgpPduType := '41'O (\"A\"), cause := { iEI := '07'O (\"\\a\"), ext := '1'B, lengthIndicator := { length1 := 1 }, cause_Value := '01'O }, bVCI := omit, pDU_in_Error := { iEI := '15'O, ext := '1'B, lengthIndicator := { length1 := ? }, erroneous_BSSGP_PDU := '2C1F84123456780F811004824E2B2583000017'O } } }" + GBProxy_Tests.ttcn:MASKED GBProxy_Tests control part + GBProxy_Tests.ttcn:MASKED TC_status_sig_dl_bvci testcase + + + diff --git a/mgw/expected-results.xml b/mgw/expected-results.xml index 5b6746b..b2b63cd 100644 --- a/mgw/expected-results.xml +++ b/mgw/expected-results.xml @@ -1,5 +1,5 @@ - + @@ -38,6 +38,7 @@ + @@ -88,4 +89,5 @@ + diff --git a/msc/expected-results.xml b/msc/expected-results.xml index 4e2eeba..ac98215 100644 --- a/msc/expected-results.xml +++ b/msc/expected-results.xml @@ -1,5 +1,5 @@ - + @@ -21,6 +21,8 @@ + + @@ -49,6 +51,7 @@ + @@ -65,6 +68,7 @@ + @@ -122,8 +126,14 @@ + + + + + + @@ -139,7 +149,6 @@ - @@ -212,7 +221,12 @@ - + + Tguard timeout + MSC_Tests_Iu.ttcn:MASKED MSC_Tests_Iu control part + MSC_Tests_Iu.ttcn:MASKED TC_iu_lu_with_invalid_mcc_mnc testcase + + diff --git a/ns/expected-results.xml b/ns/expected-results.xml index 459744d..5263981 100644 --- a/ns/expected-results.xml +++ b/ns/expected-results.xml @@ -1,4 +1,22 @@ - - + + + + + + + + + + + + + + + + + + + + diff --git a/pcu/expected-results.xml b/pcu/expected-results.xml index 11906d9..dc5aa31 100644 --- a/pcu/expected-results.xml +++ b/pcu/expected-results.xml @@ -1,11 +1,20 @@ - + + + Timing Advance mismatch: expected 2, but received 0 + PCU_Tests.ttcn:MASKED PCU_Tests control part + PCU_Tests.ttcn:MASKED TC_ta_ul_ack_nack_first_block testcase + + - + Timing Advance value doesn't match + PCU_Tests.ttcn:MASKED PCU_Tests control part + PCU_Tests.ttcn:MASKED TC_ta_idle_dl_tbf_ass testcase + Failed to match Timing Advance Index for #0 @@ -23,8 +32,13 @@ - + + + + + + @@ -37,6 +51,7 @@ + @@ -71,14 +86,31 @@ - - Expected 8 PDCH slot allocated but got 1 - PCU_Tests.ttcn:MASKED PCU_Tests control part - PCU_Tests.ttcn:MASKED TC_ul_multislot_tbf_ms_class_from_2phase testcase - - + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sgsn/expected-results.xml b/sgsn/expected-results.xml index 9997895..31484d0 100644 --- a/sgsn/expected-results.xml +++ b/sgsn/expected-results.xml @@ -1,5 +1,5 @@ - + @@ -77,14 +77,19 @@ - - No BSSGP RIM PDU received - SGSN_Tests.ttcn:MASKED SGSN_Tests control part - SGSN_Tests.ttcn:MASKED TC_bssgp_rim_single_report testcase - - + + + + + + - + + "BSSGP_Emulation.ttcnpp:818 : Couldn't find Component for TLLI 'C665E43F'O" + SGSN_Tests_Iu.ttcn:MASKED SGSN_Tests_Iu control part + SGSN_Tests_Iu.ttcn:MASKED TC_iu_attach_geran_rau testcase + + -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24829 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Idcf764cd2d251210bb123d2a5ea782cda0d670b7 Gerrit-Change-Number: 24829 Gerrit-PatchSet: 2 Gerrit-Owner: neels 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 Jul 5 11:38:54 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Mon, 5 Jul 2021 11:38:54 +0000 Subject: Change in libosmocore[master]: gprs_ns2: correct mtu value in the log line In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24828 ) Change subject: gprs_ns2: correct mtu value in the log line ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24828 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3f5445a1ba8c89c4023ff48be15a80569a128528 Gerrit-Change-Number: 24828 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 05 Jul 2021 11:38:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 5 11:39:17 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Mon, 5 Jul 2021 11:39:17 +0000 Subject: Change in libosmocore[master]: gprs_ns2: fix crash when changing the MTU In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24824 ) Change subject: gprs_ns2: fix crash when changing the MTU ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24824 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I31ba5cefea7bbb0b74060d6664b42c58815ee2a1 Gerrit-Change-Number: 24824 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 05 Jul 2021 11:39: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 Jul 5 11:40:58 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Mon, 5 Jul 2021 11:40:58 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: dump_nsvc: change output depending on NSVCI In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24686 ) Change subject: gprs_ns2_vty: dump_nsvc: change output depending on NSVCI ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24686 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iaadc806a9136436468e2b02eb0bc1f4570a10ecc Gerrit-Change-Number: 24686 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 05 Jul 2021 11:40: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 Jul 5 11:51:46 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Mon, 5 Jul 2021 11:51:46 +0000 Subject: Change in osmo-bsc[master]: Rename osmo dyn ts enums to contain SDCCH8 In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24785 ) Change subject: Rename osmo dyn ts enums to contain SDCCH8 ...................................................................... Patch Set 4: Code-Review+1 Looks good, the only worry I have is the name change of the counters might break users relying on those. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24785 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id5b89fe589a52ff88486435ac43809edb4b80f98 Gerrit-Change-Number: 24785 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Mon, 05 Jul 2021 11:51: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 Jul 5 11:52:03 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Mon, 5 Jul 2021 11:52:03 +0000 Subject: Change in osmo-bsc[master]: Support SDCCH8 in osmo dyn ts In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24786 ) Change subject: Support SDCCH8 in osmo dyn ts ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24786 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I29ac8b90168dba3ac309daeb0b6cfdbbcb8e9172 Gerrit-Change-Number: 24786 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Mon, 05 Jul 2021 11:52:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 5 11:59:40 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 5 Jul 2021 11:59:40 +0000 Subject: Change in osmo-iuh[master]: hnb-test: Fix typo in vty cmd description In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/24847 ) Change subject: hnb-test: Fix typo in vty cmd description ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/24847 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Id33e2e8caa37dc359d564188747cd4c1b8bc4064 Gerrit-Change-Number: 24847 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 05 Jul 2021 11:59:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 5 12:04:13 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 5 Jul 2021 12:04:13 +0000 Subject: Change in osmo-bsc[master]: power_control: implement BCCH carrier power reduction operation In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24777 ) Change subject: power_control: implement BCCH carrier power reduction operation ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24777 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I047fce33d4d3e4c569dd006ba17858467a2f4783 Gerrit-Change-Number: 24777 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 05 Jul 2021 12:04: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 Jul 5 12:04:56 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 5 Jul 2021 12:04:56 +0000 Subject: Change in libosmocore[master]: gprs_ns2: fix crash when changing the MTU In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24824 ) Change subject: gprs_ns2: fix crash when changing the MTU ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24824 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I31ba5cefea7bbb0b74060d6664b42c58815ee2a1 Gerrit-Change-Number: 24824 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 05 Jul 2021 12: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 Mon Jul 5 12:06:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 5 Jul 2021 12:06:10 +0000 Subject: Change in libosmocore[master]: gprs_ns2: fix check of MTU changes for frame relay In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24825 ) Change subject: gprs_ns2: fix check of MTU changes for frame relay ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24825 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I02d4e81896a473aeb79ea2f2983e12324244048f Gerrit-Change-Number: 24825 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 05 Jul 2021 12:06:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 5 12:06:18 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 5 Jul 2021 12:06:18 +0000 Subject: Change in libosmocore[master]: gprs_ns2: fix crash when changing the MTU In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24824 ) Change subject: gprs_ns2: fix crash when changing the MTU ...................................................................... gprs_ns2: fix crash when changing the MTU When the MTU changes for any fr device, all NSE will recalculate their MTU. If any NSE is alive, libosmocore will crash. Related: OS#5192 Change-Id: I31ba5cefea7bbb0b74060d6664b42c58815ee2a1 --- M src/gb/gprs_ns2.c M tests/gb/gprs_ns2_test.c 2 files changed, 12 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified daniel: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index 720e836..a8e646b 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -1552,7 +1552,7 @@ nse->mtu = mtu; if (nse->alive) - ns2_prim_status_ind(nsvc->nse, NULL, 0, GPRS_NS2_AFF_CAUSE_MTU_CHANGE); + ns2_prim_status_ind(nse, NULL, 0, GPRS_NS2_AFF_CAUSE_MTU_CHANGE); } /*! calculate the transfer capabilities for a nse diff --git a/tests/gb/gprs_ns2_test.c b/tests/gb/gprs_ns2_test.c index c53cc6d..b96e739 100644 --- a/tests/gb/gprs_ns2_test.c +++ b/tests/gb/gprs_ns2_test.c @@ -41,6 +41,7 @@ static struct log_info info = {}; static struct osmo_wqueue *unitdata = NULL; static struct osmo_gprs_ns2_prim last_nse_recovery = {}; +static struct osmo_gprs_ns2_prim last_nse_mtu_change = {}; static int ns_prim_cb(struct osmo_prim_hdr *oph, void *ctx) { @@ -54,8 +55,12 @@ msgb_free(oph->msg); } } - if (oph->primitive == GPRS_NS2_PRIM_STATUS && nsp->u.status.cause == GPRS_NS2_AFF_CAUSE_RECOVERY) { - last_nse_recovery = *nsp; + if (oph->primitive == GPRS_NS2_PRIM_STATUS) { + if (nsp->u.status.cause == GPRS_NS2_AFF_CAUSE_RECOVERY) { + last_nse_recovery = *nsp; + } else if (nsp->u.status.cause == GPRS_NS2_AFF_CAUSE_MTU_CHANGE) { + last_nse_mtu_change = *nsp; + } } return 0; } @@ -579,6 +584,10 @@ /* 1b NS PDU type, 1b NS SDU control, 2b BVCI */ OSMO_ASSERT(last_nse_recovery.u.status.mtu == 123 - 4); + bind[0]->mtu = 100; + ns2_nse_update_mtu(nse); + OSMO_ASSERT(last_nse_mtu_change.u.status.mtu == 100 - 4); + gprs_ns2_free(nsi); printf("--- Finish unitdata test\n"); } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24824 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I31ba5cefea7bbb0b74060d6664b42c58815ee2a1 Gerrit-Change-Number: 24824 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 5 12:06:18 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 5 Jul 2021 12:06:18 +0000 Subject: Change in libosmocore[master]: gprs_ns2: fix check of MTU changes for frame relay In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24825 ) Change subject: gprs_ns2: fix check of MTU changes for frame relay ...................................................................... gprs_ns2: fix check of MTU changes for frame relay The frame relay needs 2 byte for data packets. Related: OS#5192 Change-Id: I02d4e81896a473aeb79ea2f2983e12324244048f --- M src/gb/gprs_ns2_fr.c 1 file changed, 7 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved daniel: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve diff --git a/src/gb/gprs_ns2_fr.c b/src/gb/gprs_ns2_fr.c index 3113b00..35e0dd9 100644 --- a/src/gb/gprs_ns2_fr.c +++ b/src/gb/gprs_ns2_fr.c @@ -601,14 +601,18 @@ struct priv_bind *bpriv = bind->priv; struct gprs_ns2_nse *nse; + /* 2 byte DLCI header */ + if (mtu <= 2) + return; + mtu -= 2; + if (mtu == bind->mtu) return; LOGBIND(bind, LOGL_INFO, "MTU changed from %d to %d.\n", - bind->mtu, mtu); + bind->mtu + 2, mtu + 2); - /* 2 byte DLCI header */ - bind->mtu = mtu - 2; + bind->mtu = mtu; if (!bpriv->if_running) return; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24825 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I02d4e81896a473aeb79ea2f2983e12324244048f Gerrit-Change-Number: 24825 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 5 12:06:19 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 5 Jul 2021 12:06:19 +0000 Subject: Change in libosmocore[master]: gprs_ns2: correct mtu value in the log line In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24828 ) Change subject: gprs_ns2: correct mtu value in the log line ...................................................................... gprs_ns2: correct mtu value in the log line The log line should describe what's reported towards the NS user and not the NSE MTU itself Related: OS#5192 Change-Id: I3f5445a1ba8c89c4023ff48be15a80569a128528 --- M src/gb/gprs_ns2.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve daniel: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index a8e646b..3eb59e5 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -562,11 +562,11 @@ nsp.u.status.nsvc = gprs_ns2_ll_str_buf(nsvc_str, sizeof(nsvc_str), nsvc); LOGNSVC(nsvc, LOGL_NOTICE, "NS-STATUS.ind(bvci=%05u): cause=%s, transfer=%d, first=%d, mtu=%d\n", nsp.bvci, gprs_ns2_aff_cause_prim_str(nsp.u.status.cause), - nsp.u.status.transfer, nsp.u.status.first, nse->mtu); + nsp.u.status.transfer, nsp.u.status.first, nsp.u.status.mtu); } else { LOGNSE(nse, LOGL_NOTICE, "NS-STATUS.ind(bvci=%05u): cause=%s, transfer=%d, first=%d, mtu=%d\n", nsp.bvci, gprs_ns2_aff_cause_prim_str(nsp.u.status.cause), - nsp.u.status.transfer, nsp.u.status.first, nse->mtu); + nsp.u.status.transfer, nsp.u.status.first, nsp.u.status.mtu); } osmo_prim_init(&nsp.oph, SAP_NS, GPRS_NS2_PRIM_STATUS, PRIM_OP_INDICATION, NULL); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24828 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3f5445a1ba8c89c4023ff48be15a80569a128528 Gerrit-Change-Number: 24828 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 5 12:06:49 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 5 Jul 2021 12:06:49 +0000 Subject: Change in osmo-iuh[master]: hnb-test: Fix typo in vty cmd description In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/24847 ) Change subject: hnb-test: Fix typo in vty cmd description ...................................................................... hnb-test: Fix typo in vty cmd description Change-Id: Id33e2e8caa37dc359d564188747cd4c1b8bc4064 --- M src/tests/hnb-test.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/tests/hnb-test.c b/src/tests/hnb-test.c index acd8b13..b612814 100644 --- a/src/tests/hnb-test.c +++ b/src/tests/hnb-test.c @@ -790,7 +790,7 @@ } DEFUN(asn_dbg, asn_dbg_cmd, - "asn-debug (1|0)", "Enable or disabel libasn1c debugging") + "asn-debug (1|0)", "Enable or disable libasn1c debugging") { asn_debug = atoi(argv[0]); -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/24847 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Id33e2e8caa37dc359d564188747cd4c1b8bc4064 Gerrit-Change-Number: 24847 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 5 12:07:08 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 5 Jul 2021 12:07:08 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: unify and enrich decoding error messages In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24845 ) Change subject: trxcon/scheduler: unify and enrich decoding error messages ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24845 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I42d20e2da73c21ca366dd246244cd716c8ccb459 Gerrit-Change-Number: 24845 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 05 Jul 2021 12:07:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 5 12:07:11 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 5 Jul 2021 12:07:11 +0000 Subject: Change in osmocom-bb[master]: trxcon/scheduler: unify and enrich decoding error messages In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24845 ) Change subject: trxcon/scheduler: unify and enrich decoding error messages ...................................................................... trxcon/scheduler: unify and enrich decoding error messages Regarding the removal of burst_mask2str() from the TCH/H handler, it does not make sense to print it because the mask is already shifted and an earlier logging should already contain this info. Change-Id: I42d20e2da73c21ca366dd246244cd716c8ccb459 Related: OS#4823 --- 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 4 files changed, 8 insertions(+), 15 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_pdtch.c b/src/host/trxcon/sched_lchan_pdtch.c index abbd480..bd02865 100644 --- a/src/host/trxcon/sched_lchan_pdtch.c +++ b/src/host/trxcon/sched_lchan_pdtch.c @@ -99,11 +99,8 @@ rc = gsm0503_pdtch_decode(l2, buffer, 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", lchan->meas_avg.fn, - lchan->meas_avg.fn % ts->mf_layout->period, - ts->mf_layout->period, - lchan_desc->name); + LOGP(DSCHD, LOGL_ERROR, "Received bad %s frame (rc=%d, ber=%d/%d) at fn=%u\n", + lchan_desc->name, rc, n_errors, n_bits_total, lchan->meas_avg.fn); } /* Determine L2 length */ diff --git a/src/host/trxcon/sched_lchan_tchf.c b/src/host/trxcon/sched_lchan_tchf.c index 1e38e96..0b38ea1 100644 --- a/src/host/trxcon/sched_lchan_tchf.c +++ b/src/host/trxcon/sched_lchan_tchf.c @@ -125,8 +125,8 @@ /* Check decoding result */ if (rc < 4) { - LOGP(DSCHD, LOGL_ERROR, "Received bad TCH frame ending at " - "fn=%u for %s\n", fn, lchan_desc->name); + LOGP(DSCHD, LOGL_ERROR, "Received bad %s frame (rc=%d, ber=%d/%d) at fn=%u\n", + lchan_desc->name, rc, n_errors, n_bits_total, lchan->meas_avg.fn); /* Send BFI */ goto bfi; diff --git a/src/host/trxcon/sched_lchan_tchh.c b/src/host/trxcon/sched_lchan_tchh.c index 6a5c471..1079bb0 100644 --- a/src/host/trxcon/sched_lchan_tchh.c +++ b/src/host/trxcon/sched_lchan_tchh.c @@ -295,9 +295,8 @@ /* 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); + LOGP(DSCHD, LOGL_ERROR, "Received bad %s frame (rc=%d, ber=%d/%d) at fn=%u\n", + lchan_desc->name, rc, n_errors, n_bits_total, lchan->meas_avg.fn); /* Send BFI */ goto bfi; diff --git a/src/host/trxcon/sched_lchan_xcch.c b/src/host/trxcon/sched_lchan_xcch.c index 41677ec..78397fe 100644 --- a/src/host/trxcon/sched_lchan_xcch.c +++ b/src/host/trxcon/sched_lchan_xcch.c @@ -100,11 +100,8 @@ /* Attempt to decode */ 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", lchan->meas_avg.fn, - lchan->meas_avg.fn % ts->mf_layout->period, - ts->mf_layout->period, - lchan_desc->name); + LOGP(DSCHD, LOGL_ERROR, "Received bad %s frame (rc=%d, ber=%d/%d) at fn=%u\n", + lchan_desc->name, rc, n_errors, n_bits_total, lchan->meas_avg.fn); /** * We should anyway send dummy frame for -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24845 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I42d20e2da73c21ca366dd246244cd716c8ccb459 Gerrit-Change-Number: 24845 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 5 12:07:19 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 5 Jul 2021 12:07:19 +0000 Subject: Change in osmo-bts[master]: gsm_lchan_interf_meas_calc_band(): also print number of AVG samples In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24844 ) Change subject: gsm_lchan_interf_meas_calc_band(): also print number of AVG samples ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24844 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4cebb0c5eef16f7e20fce85c506fc271127d7259 Gerrit-Change-Number: 24844 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 05 Jul 2021 12:07: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 Jul 5 12:07:39 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 5 Jul 2021 12:07:39 +0000 Subject: Change in osmo-bts[master]: rsl: use tlvp_val16be() in rsl_rx_ipac_XXcx() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24837 ) Change subject: rsl: use tlvp_val16be() in rsl_rx_ipac_XXcx() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24837 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id883a976a03fd3022ed9d66f703b01244df2d9db Gerrit-Change-Number: 24837 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 05 Jul 2021 12: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 Jul 5 12:07:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 5 Jul 2021 12:07:51 +0000 Subject: Change in osmo-bts[master]: manuals/abis/rsl.adoc: clarify RF Resource Indication conformance In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24826 ) Change subject: manuals/abis/rsl.adoc: clarify RF Resource Indication conformance ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24826 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia582c55c3c20f1f91993b3113d77ef2f34ca2eda Gerrit-Change-Number: 24826 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 05 Jul 2021 12:07:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 5 12:07:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 5 Jul 2021 12:07:55 +0000 Subject: Change in osmo-bts[master]: manuals/abis/rsl.adoc: clarify RF Resource Indication conformance In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24826 ) Change subject: manuals/abis/rsl.adoc: clarify RF Resource Indication conformance ...................................................................... manuals/abis/rsl.adoc: clarify RF Resource Indication conformance Change-Id: Ia582c55c3c20f1f91993b3113d77ef2f34ca2eda Related: SYS#5313, OS#1569 --- M doc/manuals/abis/rsl.adoc 1 file changed, 5 insertions(+), 5 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/doc/manuals/abis/rsl.adoc b/doc/manuals/abis/rsl.adoc index 6d8cd36..8e2ead9 100644 --- a/doc/manuals/abis/rsl.adoc +++ b/doc/manuals/abis/rsl.adoc @@ -244,16 +244,16 @@ [[RF_RESOURCE_INDICATION]] ==== RF Resource Indication -This message does not conform to 3GPP TS 48.058 ? 8.6.1, in that it omits the -_Resource Information_ IE that would contain the actual payload data, which -renders this message void. +For all osmo-bts variants, except osmo-bts-trx, this message does not conform +to 3GPP TS 48.058 ? 8.6.1, in that it omits the _Resource Information_ IE that +would contain the actual payload data, which renders this message void. ._RF Resource Indication_ message IE exceptions [options="header",cols="10%,30%,60%"] |=== | TS 48.058 ? | IE Name | Handling -| 9.3.21 | Resource Information | OsmoBTS omits this IE, though TS 48.058 - specifies it as mandatory. +| 9.3.21 | Resource Information | DSP based osmo-bts variants omit this IE, though + TS 48.058 specifies it as mandatory. |=== -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24826 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia582c55c3c20f1f91993b3113d77ef2f34ca2eda Gerrit-Change-Number: 24826 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 5 12:07:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 5 Jul 2021 12:07:55 +0000 Subject: Change in osmo-bts[master]: rsl: use tlvp_val16be() in rsl_rx_ipac_XXcx() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24837 ) Change subject: rsl: use tlvp_val16be() in rsl_rx_ipac_XXcx() ...................................................................... rsl: use tlvp_val16be() in rsl_rx_ipac_XXcx() Instead of using tlvp_val16_unal() and then doing ntohs() here and there, convert the remote port to the host byte order once. Change-Id: Id883a976a03fd3022ed9d66f703b01244df2d9db --- M src/common/rsl.c 1 file changed, 4 insertions(+), 5 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/common/rsl.c b/src/common/rsl.c index 57a95a1..18c0349 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -2625,9 +2625,8 @@ } if (TLVP_PRES_LEN(&tp, RSL_IE_IPAC_REMOTE_PORT, 2)) { - connect_port = tlvp_val16_unal(&tp, RSL_IE_IPAC_REMOTE_PORT); - LOGPC(DRSL, LOGL_DEBUG, "connect_port=%u ", - ntohs(connect_port)); + connect_port = tlvp_val16be(&tp, RSL_IE_IPAC_REMOTE_PORT); + LOGPC(DRSL, LOGL_DEBUG, "connect_port=%u ", connect_port); } speech_mode = TLVP_VAL(&tp, RSL_IE_IPAC_SPEECH_MODE); @@ -2743,7 +2742,7 @@ } else ia.s_addr = connect_ip; rc = osmo_rtp_socket_connect(lchan->abis_ip.rtp_socket, - inet_ntoa(ia), ntohs(connect_port)); + inet_ntoa(ia), connect_port); if (rc < 0) { LOGPLCHAN(lchan, DRTP, LOGL_ERROR, "Failed to connect RTP/RTCP sockets\n"); osmo_rtp_socket_free(lchan->abis_ip.rtp_socket); @@ -2754,7 +2753,7 @@ } /* save IP address and port number */ lchan->abis_ip.connect_ip = ntohl(ia.s_addr); - lchan->abis_ip.connect_port = ntohs(connect_port); + lchan->abis_ip.connect_port = connect_port; rc = osmo_rtp_get_bound_ip_port(lchan->abis_ip.rtp_socket, &lchan->abis_ip.bound_ip, -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24837 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id883a976a03fd3022ed9d66f703b01244df2d9db Gerrit-Change-Number: 24837 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 5 12:07:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 5 Jul 2021 12:07:55 +0000 Subject: Change in osmo-bts[master]: gsm_lchan_interf_meas_calc_band(): also print number of AVG samples In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24844 ) Change subject: gsm_lchan_interf_meas_calc_band(): also print number of AVG samples ...................................................................... gsm_lchan_interf_meas_calc_band(): also print number of AVG samples Change-Id: I4cebb0c5eef16f7e20fce85c506fc271127d7259 --- M src/common/gsm_data.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/common/gsm_data.c b/src/common/gsm_data.c index ecc4308..36a5711 100644 --- a/src/common/gsm_data.c +++ b/src/common/gsm_data.c @@ -317,8 +317,8 @@ } LOGPLCHAN(lchan, DL1C, LOGL_DEBUG, - "Interference AVG: %ddBm (band %d)\n", - meas_avg, b); + "Interference AVG: %ddBm (band %d, samples %u)\n", + meas_avg, b, meas_num); return b; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24844 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I4cebb0c5eef16f7e20fce85c506fc271127d7259 Gerrit-Change-Number: 24844 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 5 12:08:18 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 5 Jul 2021 12:08:18 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Types: add remote addr/port to ts_RSL_IPA_CRCX() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24838 ) Change subject: library/RSL_Types: add remote addr/port to ts_RSL_IPA_CRCX() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24838 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iffcac2f1c9b877393fef547fb67ee24cc1e27a11 Gerrit-Change-Number: 24838 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 05 Jul 2021 12:08: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 Jul 5 12:08:32 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 5 Jul 2021 12:08:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Types: use OCT4 for local/remote address fields In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24839 ) Change subject: library/RSL_Types: use OCT4 for local/remote address fields ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24839 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I389a8cb95c025c9dddc751789223621c15d9b48f Gerrit-Change-Number: 24839 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 05 Jul 2021 12:08: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 Jul 5 12:08:42 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 5 Jul 2021 12:08:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RTP_Emulation: improve readability of guard statements In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24840 ) Change subject: library/RTP_Emulation: improve readability of guard statements ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24840 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic25646cca5c276feae8dda52153991a8d16913e1 Gerrit-Change-Number: 24840 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 05 Jul 2021 12:08: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 Jul 5 12:09:00 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 5 Jul 2021 12:09:00 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RTP_Emulation: add optional port for RTP sniffing In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24841 ) Change subject: library/RTP_Emulation: add optional port for RTP sniffing ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24841 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I224d25aa298b5b512ab9e2a36c144e19c23d8462 Gerrit-Change-Number: 24841 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 05 Jul 2021 12:09:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 5 12:09:07 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 5 Jul 2021 12:09:07 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Types: add remote addr/port to ts_RSL_IPA_CRCX() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24838 ) Change subject: library/RSL_Types: add remote addr/port to ts_RSL_IPA_CRCX() ...................................................................... library/RSL_Types: add remote addr/port to ts_RSL_IPA_CRCX() Change-Id: Iffcac2f1c9b877393fef547fb67ee24cc1e27a11 --- M library/RSL_Types.ttcn 1 file changed, 7 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn index 28ae971..4e25189 100644 --- a/library/RSL_Types.ttcn +++ b/library/RSL_Types.ttcn @@ -2003,11 +2003,16 @@ * } } - template (value) RSL_Message ts_RSL_IPA_CRCX(template (value) RslChannelNr chan_nr) := { + template (value) RSL_Message + ts_RSL_IPA_CRCX(template (value) RslChannelNr chan_nr, + template (value) uint32_t remote_ip := oct2int('7F000001'O), + template (value) uint16_t remote_port := 6766) := { msg_disc := ts_RSL_MsgDisc(RSL_MDISC_IPACCESS, false), msg_type := RSL_MT_IPAC_CRCX, ies := { - t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := chan_nr}) + t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := chan_nr}), + t_RSL_IE(RSL_IE_IPAC_REMOTE_IP, RSL_IE_Body:{ipa_remote_ip := remote_ip}), + t_RSL_IE(RSL_IE_IPAC_REMOTE_PORT, RSL_IE_Body:{ipa_remote_port := remote_port}) } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24838 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iffcac2f1c9b877393fef547fb67ee24cc1e27a11 Gerrit-Change-Number: 24838 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 5 12:09:07 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 5 Jul 2021 12:09:07 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Types: use OCT4 for local/remote address fields In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24839 ) Change subject: library/RSL_Types: use OCT4 for local/remote address fields ...................................................................... library/RSL_Types: use OCT4 for local/remote address fields This way functions like f_inet_addr() and f_inet6_addr() can be used directly without converting between bytes and integers. Change-Id: I389a8cb95c025c9dddc751789223621c15d9b48f --- M bsc/BSC_Tests_LCLS.ttcn M bsc/BSC_Tests_VAMOS.ttcn M bsc/MSC_ConnectionHandler.ttcn M bts/BTS_Tests.ttcn M library/RSL_Types.ttcn 5 files changed, 26 insertions(+), 26 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/bsc/BSC_Tests_LCLS.ttcn b/bsc/BSC_Tests_LCLS.ttcn index 72fb525..9771087 100644 --- a/bsc/BSC_Tests_LCLS.ttcn +++ b/bsc/BSC_Tests_LCLS.ttcn @@ -303,7 +303,7 @@ /* mandatory fields */ fixme_unused := f_rsl_find_ie(rsl_msg, RSL_IE_IPAC_REMOTE_IP, ie); - host := f_inet_ntoa(int2oct(ie.ipa_remote_ip, 4)); + host := f_inet_ntoa(ie.ipa_remote_ip); fixme_unused := f_rsl_find_ie(rsl_msg, RSL_IE_IPAC_REMOTE_PORT, ie); port_num := ie.ipa_remote_port; @@ -315,9 +315,9 @@ } if (send_on_a == true) { - CONN_A.send(ts_RSL_IPA_MDCX_ACK(chan_nr, conn_id, oct2int(f_inet_addr(host)), port_num, rtp_pt)); + CONN_A.send(ts_RSL_IPA_MDCX_ACK(chan_nr, conn_id, f_inet_addr(host), port_num, rtp_pt)); } else { - CONN_B.send(ts_RSL_IPA_MDCX_ACK(chan_nr, conn_id, oct2int(f_inet_addr(host)), port_num, rtp_pt)); + CONN_B.send(ts_RSL_IPA_MDCX_ACK(chan_nr, conn_id, f_inet_addr(host), port_num, rtp_pt)); } } diff --git a/bsc/BSC_Tests_VAMOS.ttcn b/bsc/BSC_Tests_VAMOS.ttcn index 9ecb255..25dee23 100644 --- a/bsc/BSC_Tests_VAMOS.ttcn +++ b/bsc/BSC_Tests_VAMOS.ttcn @@ -425,7 +425,7 @@ rtp_pt := ie.ipa_rtp_pt; } RSL.send(ts_RSL_IPA_CRCX_ACK(new_chan_nr, 123, - oct2int(f_inet_addr("1.2.3.4")), + f_inet_addr("1.2.3.4"), 4321, rtp_pt)); } @@ -436,7 +436,7 @@ /* mandatory */ b_unused := f_rsl_find_ie(rsl, RSL_IE_IPAC_REMOTE_IP, ie); var HostPort peer; - peer.host := f_inet_ntoa(int2oct(ie.ipa_remote_ip, 4)); + peer.host := f_inet_ntoa(ie.ipa_remote_ip); b_unused := f_rsl_find_ie(rsl, RSL_IE_IPAC_REMOTE_PORT, ie); peer.port_nr := ie.ipa_remote_port; var uint7_t rtp_pt := 0; @@ -445,7 +445,7 @@ rtp_pt := ie.ipa_rtp_pt; } RSL.send(ts_RSL_IPA_MDCX_ACK(new_chan_nr, conn_id, - oct2int(f_inet_addr(peer.host)), + f_inet_addr(peer.host), peer.port_nr, rtp_pt)); } @@ -535,7 +535,7 @@ rtp_pt := ie.ipa_rtp_pt; } RSL.send(ts_RSL_IPA_CRCX_ACK(new_chan_nr, 123, - oct2int(f_inet_addr("1.2.3.4")), + f_inet_addr("1.2.3.4"), 4321, rtp_pt)); } @@ -546,7 +546,7 @@ /* mandatory */ b_unused := f_rsl_find_ie(rsl, RSL_IE_IPAC_REMOTE_IP, ie); var HostPort peer; - peer.host := f_inet_ntoa(int2oct(ie.ipa_remote_ip, 4)); + peer.host := f_inet_ntoa(ie.ipa_remote_ip); b_unused := f_rsl_find_ie(rsl, RSL_IE_IPAC_REMOTE_PORT, ie); peer.port_nr := ie.ipa_remote_port; var uint7_t rtp_pt := 0; @@ -555,7 +555,7 @@ rtp_pt := ie.ipa_rtp_pt; } RSL.send(ts_RSL_IPA_MDCX_ACK(new_chan_nr, conn_id, - oct2int(f_inet_addr(peer.host)), + f_inet_addr(peer.host), peer.port_nr, rtp_pt)); } diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index 2d0bd27..3e2e4f7 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -200,7 +200,7 @@ g_media.bts.rtp_pt := ie.ipa_rtp_pt2; } RSL.send(ts_RSL_IPA_CRCX_ACK(g_chan_nr, g_media.bts.conn_id, - oct2int(f_inet_addr(g_media.bts.bts.host)), + f_inet_addr(g_media.bts.bts.host), g_media.bts.bts.port_nr, g_media.bts.rtp_pt)); g_media.bts.ipa_crcx_seen := true; @@ -214,7 +214,7 @@ } /* mandatory */ b_unused := f_rsl_find_ie(rsl, RSL_IE_IPAC_REMOTE_IP, ie); - g_media.bts.peer.host := f_inet_ntoa(int2oct(ie.ipa_remote_ip, 4)); + g_media.bts.peer.host := f_inet_ntoa(ie.ipa_remote_ip); b_unused := f_rsl_find_ie(rsl, RSL_IE_IPAC_REMOTE_PORT, ie); g_media.bts.peer.port_nr := ie.ipa_remote_port; /* optional */ @@ -225,7 +225,7 @@ g_media.bts.rtp_pt := ie.ipa_rtp_pt2; } RSL.send(ts_RSL_IPA_MDCX_ACK(g_chan_nr, g_media.bts.conn_id, - oct2int(f_inet_addr(g_media.bts.peer.host)), + f_inet_addr(g_media.bts.peer.host), g_media.bts.peer.port_nr, g_media.bts.rtp_pt)); g_media.bts.ipa_mdcx_seen := true; @@ -242,7 +242,7 @@ g_media.bts1.rtp_pt := ie.ipa_rtp_pt2; } RSL1.send(ts_RSL_IPA_CRCX_ACK(g_chan_nr, g_media.bts1.conn_id, - oct2int(f_inet_addr(g_media.bts1.bts.host)), + f_inet_addr(g_media.bts1.bts.host), g_media.bts1.bts.port_nr, g_media.bts1.rtp_pt)); g_media.bts1.ipa_crcx_seen := true; @@ -257,7 +257,7 @@ } /* mandatory */ b_unused := f_rsl_find_ie(rsl, RSL_IE_IPAC_REMOTE_IP, ie); - g_media.bts1.peer.host := f_inet_ntoa(int2oct(ie.ipa_remote_ip, 4)); + g_media.bts1.peer.host := f_inet_ntoa(ie.ipa_remote_ip); b_unused := f_rsl_find_ie(rsl, RSL_IE_IPAC_REMOTE_PORT, ie); g_media.bts1.peer.port_nr := ie.ipa_remote_port; /* optional */ @@ -268,7 +268,7 @@ g_media.bts1.rtp_pt := ie.ipa_rtp_pt2; } RSL1.send(ts_RSL_IPA_MDCX_ACK(g_chan_nr, g_media.bts1.conn_id, - oct2int(f_inet_addr(g_media.bts1.peer.host)), + f_inet_addr(g_media.bts1.peer.host), g_media.bts1.peer.port_nr, g_media.bts1.rtp_pt)); g_media.bts1.ipa_mdcx_seen := true; diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 06085c6..a7fdf16 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -4611,7 +4611,7 @@ private function f_TC_ipa_crcx_mdcx_dlcx_not_active(charstring id) runs on ConnHdlr { f_rsl_transceive(ts_RSL_IPA_CRCX(g_chan_nr), tr_RSL_IPA_CRCX_ACK(g_chan_nr, ?, ?, ?), "IPA CRCX ACK"); - var uint32_t remote_ip := f_rnd_int(c_UINT32_MAX); + var OCT4 remote_ip := f_rnd_octstring(4); var uint16_t remote_port := f_rnd_int(c_UINT16_MAX); var uint7_t rtp_pt2 := f_rnd_int(127); var uint16_t fake_conn_id := 23; /* we're too lazy to read it out from the CRCX ACK above */ @@ -4632,7 +4632,7 @@ private function f_TC_ipa_crcx_mdcx_mdcx_dlcx_not_active(charstring id) runs on ConnHdlr { f_rsl_transceive(ts_RSL_IPA_CRCX(g_chan_nr), tr_RSL_IPA_CRCX_ACK(g_chan_nr, ?, ?, ?), "IPA CRCX ACK"); - var uint32_t remote_ip := f_rnd_int(c_UINT32_MAX); + var OCT4 remote_ip := f_rnd_octstring(4); var uint16_t remote_port := f_rnd_int(c_UINT16_MAX); var uint7_t rtp_pt2 := f_rnd_int(127); var uint16_t fake_conn_id := 23; /* we're too lazy to read it out from the CRCX ACK above */ @@ -4640,7 +4640,7 @@ tr_RSL_IPA_MDCX_ACK(g_chan_nr, ?, ?, ?, rtp_pt2), "IPA MDCX ACK"); /* Second MDCX */ - remote_ip := f_rnd_int(c_UINT32_MAX); + remote_ip := f_rnd_octstring(4); remote_port := f_rnd_int(c_UINT16_MAX); f_rsl_transceive(ts_RSL_IPA_MDCX(g_chan_nr, fake_conn_id, remote_ip, remote_port, rtp_pt2), tr_RSL_IPA_MDCX_ACK(g_chan_nr, ?, ?, ?, rtp_pt2), diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn index 4e25189..aa206a3 100644 --- a/library/RSL_Types.ttcn +++ b/library/RSL_Types.ttcn @@ -919,8 +919,8 @@ uint16_t ipa_conn_id, uint16_t ipa_local_port, uint16_t ipa_remote_port, - uint32_t ipa_local_ip, - uint32_t ipa_remote_ip, + OCT4 ipa_local_ip, + OCT4 ipa_remote_ip, uint8_t ipa_rtp_pt, uint8_t ipa_rtp_pt2, RSL_IE_IPA_ConnectionStats ipa_stats, @@ -2005,7 +2005,7 @@ } template (value) RSL_Message ts_RSL_IPA_CRCX(template (value) RslChannelNr chan_nr, - template (value) uint32_t remote_ip := oct2int('7F000001'O), + template (value) OCT4 remote_ip := '7F000001'O, template (value) uint16_t remote_port := 6766) := { msg_disc := ts_RSL_MsgDisc(RSL_MDISC_IPACCESS, false), msg_type := RSL_MT_IPAC_CRCX, @@ -2018,7 +2018,7 @@ template (value) RSL_Message ts_RSL_IPA_CRCX_ACK(template (value) RslChannelNr chan_nr, - uint16_t ipa_conn_id, uint32_t local_ip, + uint16_t ipa_conn_id, OCT4 local_ip, uint16_t local_port, uint7_t rtp_pt2) := { msg_disc := ts_RSL_MsgDisc(RSL_MDISC_IPACCESS, false), msg_type := RSL_MT_IPAC_CRCX_ACK, @@ -2032,7 +2032,7 @@ } template RSL_Message tr_RSL_IPA_CRCX_ACK(template RslChannelNr chan_nr, template uint16_t ipa_conn_id, - template uint32_t local_ip, + template OCT4 local_ip, template uint16_t local_port) := { msg_disc := tr_RSL_MsgDisc(RSL_MDISC_IPACCESS, false), msg_type := RSL_MT_IPAC_CRCX_ACK, @@ -2066,7 +2066,7 @@ template (value) RSL_Message ts_RSL_IPA_MDCX(template (value) RslChannelNr chan_nr, uint16_t ipa_conn_id, - uint32_t remote_ip, uint16_t remote_port, + OCT4 remote_ip, uint16_t remote_port, uint7_t rtp_pt2) := { msg_disc := ts_RSL_MsgDisc(RSL_MDISC_IPACCESS, false), msg_type := RSL_MT_IPAC_MDCX, @@ -2092,7 +2092,7 @@ template (value) RSL_Message ts_RSL_IPA_MDCX_ACK(template (value) RslChannelNr chan_nr, uint16_t ipa_conn_id, - uint32_t local_ip, uint16_t local_port, + OCT4 local_ip, uint16_t local_port, uint7_t rtp_pt2) := { msg_disc := ts_RSL_MsgDisc(RSL_MDISC_IPACCESS, false), msg_type := RSL_MT_IPAC_MDCX_ACK, @@ -2108,7 +2108,7 @@ } template RSL_Message tr_RSL_IPA_MDCX_ACK(template RslChannelNr chan_nr, template uint16_t ipa_conn_id, - template uint32_t local_ip, + template OCT4 local_ip, template uint16_t local_port, template uint7_t rtp_pt2) := { msg_disc := tr_RSL_MsgDisc(RSL_MDISC_IPACCESS, false), -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24839 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I389a8cb95c025c9dddc751789223621c15d9b48f Gerrit-Change-Number: 24839 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 Jul 5 12:09:08 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 5 Jul 2021 12:09:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RTP_Emulation: improve readability of guard statements In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24840 ) Change subject: library/RTP_Emulation: improve readability of guard statements ...................................................................... library/RTP_Emulation: improve readability of guard statements Change-Id: Ic25646cca5c276feae8dda52153991a8d16913e1 --- M library/RTP_Emulation.ttcn 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/library/RTP_Emulation.ttcn b/library/RTP_Emulation.ttcn index 900a196..728d352 100644 --- a/library/RTP_Emulation.ttcn +++ b/library/RTP_Emulation.ttcn @@ -493,10 +493,10 @@ /* simply ignore any RTTP/RTP if receiver not enabled */ - [g_rx_enabled==false] RTP.receive(tr_rtp) { + [not g_rx_enabled] RTP.receive(tr_rtp) { g_stats_rtp.num_pkts_rx_err_disabled := g_stats_rtp.num_pkts_rx_err_disabled+1; } - [g_rx_enabled==false] RTCP.receive(tr_rtcp) { + [not g_rx_enabled] RTCP.receive(tr_rtcp) { g_stats_rtcp.num_pkts_rx_err_disabled := g_stats_rtcp.num_pkts_rx_err_disabled+1; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24840 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic25646cca5c276feae8dda52153991a8d16913e1 Gerrit-Change-Number: 24840 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 Jul 5 12:09:08 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 5 Jul 2021 12:09:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RTP_Emulation: add optional port for RTP sniffing In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24841 ) Change subject: library/RTP_Emulation: add optional port for RTP sniffing ...................................................................... library/RTP_Emulation: add optional port for RTP sniffing Change-Id: I224d25aa298b5b512ab9e2a36c144e19c23d8462 --- M library/RTP_Emulation.ttcn 1 file changed, 12 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/library/RTP_Emulation.ttcn b/library/RTP_Emulation.ttcn index 728d352..b2360dc 100644 --- a/library/RTP_Emulation.ttcn +++ b/library/RTP_Emulation.ttcn @@ -81,6 +81,8 @@ /* user-facing port for controlling the binding */ port RTPEM_CTRL_PT CTRL; + /* user-facing port for sniffing RTP frames */ + port RTPEM_DATA_PT DATA; /* configurable by user, should be fixed */ var RtpemConfig g_cfg := c_RtpemDefaultCfg; @@ -186,6 +188,10 @@ RTPEM_conn_refuse_received; } with { extension "internal" }; +type port RTPEM_DATA_PT message { + inout PDU_RTP, PDU_RTCP; +} with { extension "internal" }; + function f_rtpem_bind(RTPEM_CTRL_PT pt, in HostName local_host, inout PortNumber local_port) { pt.call(RTPEM_bind:{local_host, local_port}) { [] pt.getreply(RTPEM_bind:{local_host, ?}) -> param (local_port) {}; @@ -515,10 +521,16 @@ if (g_cfg.iuup_mode) { rx_rtp.msg.rtp.data := f_IuUP_Em_rx_decaps(g_iuup_ent, rx_rtp.msg.rtp.data); } + if (DATA.checkstate("Connected")) { + DATA.send(rx_rtp.msg.rtp); + } } [g_rx_enabled] RTCP.receive(tr_rtcp) -> value rx_rtp { //log("RX RTCP: ", rx_rtp); g_stats_rtcp.num_pkts_rx := g_stats_rtcp.num_pkts_rx+1; + if (DATA.checkstate("Connected")) { + DATA.send(rx_rtp.msg.rtcp); + } } /* transmit if timer has expired */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24841 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I224d25aa298b5b512ab9e2a36c144e19c23d8462 Gerrit-Change-Number: 24841 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 Jul 5 12:11:09 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 5 Jul 2021 12:11:09 +0000 Subject: Change in osmo-bsc[master]: power_control: implement BCCH carrier power reduction operation In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24777 ) Change subject: power_control: implement BCCH carrier power reduction operation ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24777 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I047fce33d4d3e4c569dd006ba17858467a2f4783 Gerrit-Change-Number: 24777 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 05 Jul 2021 12:11:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 5 12:17:43 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 5 Jul 2021 12:17:43 +0000 Subject: Change in osmo-bsc[master]: power_control: implement BCCH carrier power reduction operation In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24777 ) Change subject: power_control: implement BCCH carrier power reduction operation ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24777 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I047fce33d4d3e4c569dd006ba17858467a2f4783 Gerrit-Change-Number: 24777 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 05 Jul 2021 12:17:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 5 12:17:47 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 5 Jul 2021 12:17:47 +0000 Subject: Change in osmo-bsc[master]: power_control: constrain BS power reduction on BCCH carrier In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24804 ) Change subject: power_control: constrain BS power reduction on BCCH carrier ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24804 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2cc6a86731984f586ef35b43a8d3de631f7d8a2f Gerrit-Change-Number: 24804 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 05 Jul 2021 12:17:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 5 12:17:59 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 5 Jul 2021 12:17:59 +0000 Subject: Change in osmo-bsc[master]: power_control: implement BCCH carrier power reduction operation In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24777 ) Change subject: power_control: implement BCCH carrier power reduction operation ...................................................................... power_control: implement BCCH carrier power reduction operation The BCCH carrier (sometimes called C0) of a BTS shall maintain discontinuous Downlink transmission at full power in order to stay 'visible' to the mobile stations. Because of that, early versions of 3GPP TS 45.008 prohibited BS power reduction on C0. However, starting from version 13.0.0 (2015-11) there is a feature called 'BCCH carrier power reduction operation'. This is a special mode of operation, where the variation of RF level for some timeslots is relaxed for the purpose of energy saving. In BCCH carrier power reduction operation, for timeslots on the C0 carrier, except timeslots carrying BCCH/CCCH, the output power may be lower than the output power used for timeslots carrying BCCH/CCCH. In this case the maximum allowed difference in output power actually transmitted by the BTS is 6 dB. Introduce a VTY command to turn on and off the BCCH carrier power reduction operation. Also introduce a CTRL command. On the A-bis/RSL, abuse the BS POWER CONTROL message by setting the Channel Number IE to 0x80 (RSL_CHAN_BCCH). Currently, only osmo-bts-trx is supported. A value greater than zero makes it reduce the power on *inactive* timeslots of the BCCH carrier. Sending zero disables the BCCH power reduction mode completely. For more details, see 3GPP TS 45.008, section 7.1, and 3GPP TR 45.926. Change-Id: I047fce33d4d3e4c569dd006ba17858467a2f4783 Related: SYS#4919 --- M doc/manuals/chapters/power_control.adoc M include/osmocom/bsc/bts.h M src/osmo-bsc/bsc_ctrl_commands.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/bts.c M src/osmo-bsc/bts_osmobts.c M tests/osmo-bsc.vty 7 files changed, 235 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved Hoernchen: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/doc/manuals/chapters/power_control.adoc b/doc/manuals/chapters/power_control.adoc index 4c1a275..bb87c85 100644 --- a/doc/manuals/chapters/power_control.adoc +++ b/doc/manuals/chapters/power_control.adoc @@ -327,3 +327,84 @@ // TODO: Document other power control parameters: // OsmoBSC(config-net-bts)# ms max power <0-40> // OsmoBSC(config-net-bts-trx)# max_power_red <0-100> + +=== BCCH carrier power reduction operation + +According to 3GPP TS 45.008, section 7.1, the BCCH carrier (sometimes called C0) of +a BTS shall maintain continuous Downlink transmission at full power in order to +stay "visible" to the mobile stations. Because of that, early versions of this 3GPP +document prohibited BS power reduction on C0. However, a new feature was introduced +in version 13.0.0 (2015-11) - "BCCH carrier power reduction operation". + +This is a special mode of operation, in which the variation of RF power level for +some timeslots is relaxed for the purpose of energy saving. In other words, the +output power on some timeslots, except the timeslot(s) carrying BCCH/CCCH, can be +lower than the full power. In this case the maximum allowed difference is 6 dB. + +Of course, energy saving comes at a price and has impacts to the network KPI. In +particular, it does negatively affect cell reselection performance and does increase +handover failure and call drop rates. This is why BCCH carrier power reduction +operation mode is not enabled by default. More information on potential impact +and the simulation results can be found in 3GPP TR 45.926. + +==== Supported BTS models + +At the time of writing this manual, the only BTS model that can be instructed to +enter or leave the BCCH power reduction mode is osmo-bts-trx. Support for other +BTS vendors/models may be added in the future. + +TIP: If you're using OsmoBTS, make sure that it reports feature #021 "BCCH carrier +power reduction mode" in the feature vector. This can be checked by issuing +`show bts` command in OsmoBSC's VTY interface. + +==== Managing BCCH carrier power reduction + +The BCCH carrier power reduction can be controlled via the CTRL and VTY interfaces. +There is currently no logic in OsmoBSC for automatic activation and deactivation +of this mode, so it's up to the network operator (or an external monitoring suite) +when and depending on which factors to toggle it. Setting a value greater than +zero enables the BCCH power reduction mode; setting zero disables it completely. + +.Example: Activating BCCH carrier power reduction via the VTY +---- +OsmoBSC> enable +OsmoBSC# bts 0 <1> c0-power-reduction ? + <0-6> Power reduction value (in dB, even numbers only) +OsmoBSC# bts 0 <1> c0-power-reduction 4 <2> +---- +<1> BTS number for which to activate BCCH carrier power reduction +<2> Maximum BCCH carrier power reduction (in 2 dB steps, 4 dB in this example) + +.Example: Activating BCCH carrier power reduction via the CTRL +---- +$ osmo_ctrl.py \ + --host 127.0.0.1 <1> -p 4249 \ + --set "bts.0.c0-power-reduction" 4 <2> +---- +<1> Remote address of the host running osmo-bsc (localhost in this example) +<2> Maximum BCCH carrier power reduction (in 2 dB steps, 4 dB in this example) + +Once activated, it's possible to introspect the current maximum reduction value: + +.Example: Checking BCCH carrier power reduction state via the VTY +---- +OsmoBSC> enable +OsmoBSC# show bts 0 <1> +BTS 0 is of osmo-bts type in band DCS1800, has CI 0 LAC 1, BSIC 63 (NCC=7, BCC=7) and 2 TRX + Description: (null) + ARFCNs: 751 753 + BCCH carrier power reduction (maximum): 4 dB <2> + ... +---- +<1> BTS number for which to show BCCH carrier power reduction state +<2> Maximum BCCH carrier power reduction currently applied + +.Example: Checking BCCH carrier power reduction state via the CTRL +---- +$ osmo_ctrl.py \ + --host 127.0.0.1 <1> -p 4249 \ + --get "bts.0.c0-power-reduction" +Got message: b'GET_REPLY 3652121201381481804 bts.0.c0-power-reduction 4 <2>' +---- +<1> Remote address of the host running osmo-bsc (localhost in this example) +<2> Maximum BCCH carrier power reduction currently applied diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h index 49691e0..65c3be5 100644 --- a/include/osmocom/bsc/bts.h +++ b/include/osmocom/bsc/bts.h @@ -236,6 +236,8 @@ int (*power_ctrl_enc_rsl_params)(struct msgb *msg, const struct gsm_power_ctrl_params *cp); /* (Optional) function for sending default MS/BS Power Control paramaters */ int (*power_ctrl_send_def_params)(const struct gsm_bts_trx *trx); + /* (Optional) function for toggling BCCH carrier power reduction operation */ + int (*power_ctrl_set_c0_power_red)(const struct gsm_bts *bts, const uint8_t red); void (*config_write_bts)(struct vty *vty, struct gsm_bts *bts); void (*config_write_trx)(struct vty *vty, struct gsm_bts_trx *trx); @@ -543,6 +545,9 @@ struct gsm_power_ctrl_params ms_power_ctrl; struct gsm_power_ctrl_params bs_power_ctrl; + /* Maximum BCCH carrier power reduction */ + uint8_t c0_max_power_red_db; + /* Interference Measurement Parameters */ struct gsm_interf_meas_params interf_meas_params; @@ -691,6 +696,8 @@ int gsm_bts_set_system_infos(struct gsm_bts *bts); +int gsm_bts_set_c0_power_red(struct gsm_bts *bts, const uint8_t red); + int gsm_bts_model_register(struct gsm_bts_model *model); struct gsm_bts_model *bts_model_find(enum gsm_bts_type type); diff --git a/src/osmo-bsc/bsc_ctrl_commands.c b/src/osmo-bsc/bsc_ctrl_commands.c index 15f5536..be83b1b 100644 --- a/src/osmo-bsc/bsc_ctrl_commands.c +++ b/src/osmo-bsc/bsc_ctrl_commands.c @@ -550,6 +550,54 @@ } CTRL_CMD_DEFINE(trx_max_power, "max-power-reduction"); +static int verify_bts_c0_power_red(struct ctrl_cmd *cmd, const char *value, void *_data) +{ + const int red = atoi(value); + + if (red < 0 || red > 6) { + cmd->reply = "Value is out of range"; + return 1; + } else if (red % 2 != 0) { + cmd->reply = "Value must be even"; + return 1; + } + + return 0; +} + +static int get_bts_c0_power_red(struct ctrl_cmd *cmd, void *data) +{ + const struct gsm_bts *bts = cmd->node; + + cmd->reply = talloc_asprintf(cmd, "%u", bts->c0_max_power_red_db); + if (!cmd->reply) { + cmd->reply = "OOM."; + return CTRL_CMD_ERROR; + } + + return CTRL_CMD_REPLY; +} + +static int set_bts_c0_power_red(struct ctrl_cmd *cmd, void *data) +{ + struct gsm_bts *bts = cmd->node; + const int red = atoi(cmd->value); + int rc; + + rc = gsm_bts_set_c0_power_red(bts, red); + if (rc == -ENOTSUP) { + cmd->reply = "BCCH carrier power reduction is not supported"; + return CTRL_CMD_ERROR; + } else if (rc != 0) { + cmd->reply = "Failed to enable BCCH carrier power reduction"; + return CTRL_CMD_ERROR; + } + + return get_bts_c0_power_red(cmd, data); +} + +CTRL_CMD_DEFINE(bts_c0_power_red, "c0-power-reduction"); + int bsc_base_ctrl_cmds_install(void) { int rc = 0; @@ -571,6 +619,7 @@ rc |= ctrl_cmd_install(CTRL_NODE_BTS, &cmd_bts_oml_up); rc |= ctrl_cmd_install(CTRL_NODE_BTS, &cmd_bts_gprs_mode); rc |= ctrl_cmd_install(CTRL_NODE_BTS, &cmd_bts_rf_state); + rc |= ctrl_cmd_install(CTRL_NODE_BTS, &cmd_bts_c0_power_red); rc |= ctrl_cmd_install(CTRL_NODE_TRX, &cmd_trx_max_power); rc |= ctrl_cmd_install(CTRL_NODE_TRX, &cmd_trx_arfcn); diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 7207341..efa59d3 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -444,6 +444,8 @@ if (strnlen(bts->pcu_version, MAX_VERSION_LENGTH)) vty_out(vty, " PCU version %s connected%s", bts->pcu_version, VTY_NEWLINE); + vty_out(vty, " BCCH carrier power reduction (maximum): %u dB%s", + bts->c0_max_power_red_db, VTY_NEWLINE); vty_out(vty, " MS Max power: %u dBm%s", bts->ms_max_power, VTY_NEWLINE); vty_out(vty, " Minimum Rx Level for Access: %i dBm%s", rxlev2dbm(bts->si_common.cell_sel_par.rxlev_acc_min), @@ -6020,6 +6022,45 @@ return CMD_SUCCESS; } +DEFUN(bts_c0_power_red, + bts_c0_power_red_cmd, + "bts <0-255> c0-power-reduction <0-6>", + "BTS Specific Commands\n" BTS_NR_STR + "BCCH carrier power reduction operation\n" + "Power reduction value (in dB, even numbers only)\n") +{ + int bts_nr = atoi(argv[0]); + int red = atoi(argv[1]); + struct gsm_bts *bts; + int rc; + + bts = gsm_bts_num(gsmnet_from_vty(vty), bts_nr); + if (!bts) { + vty_out(vty, "%% No such BTS (%d)%s", bts_nr, VTY_NEWLINE); + return CMD_WARNING; + } + + if (red % 2 != 0) { + vty_out(vty, "%% Incorrect BCCH power reduction value, " + "an even number is expected%s", VTY_NEWLINE); + return CMD_WARNING; + } + + rc = gsm_bts_set_c0_power_red(bts, red); + if (rc == -ENOTSUP) { + vty_out(vty, "%% BCCH carrier power reduction operation mode " + "is not supported for BTS%u%s", bts_nr, VTY_NEWLINE); + return CMD_WARNING; + } else if (rc != 0) { + vty_out(vty, "%% Failed to %sable BCCH carrier power reduction " + "operation mode for BTS%u%s", red ? "en" : "dis", + bts_nr, VTY_NEWLINE); + return CMD_WARNING; + } + + return CMD_SUCCESS; +} + /* this command is now hidden, as it's a low-level debug hack, and people should * instead use osmo-cbc these days */ DEFUN_HIDDEN(smscb_cmd, smscb_cmd_cmd, @@ -8172,6 +8213,7 @@ install_element(ENABLE_NODE, &restart_bts_cmd); install_element(ENABLE_NODE, &bts_resend_sysinfo_cmd); install_element(ENABLE_NODE, &bts_resend_power_ctrl_params_cmd); + install_element(ENABLE_NODE, &bts_c0_power_red_cmd); install_element(ENABLE_NODE, &pdch_act_cmd); install_element(ENABLE_NODE, &lchan_act_cmd); install_element(ENABLE_NODE, &lchan_act_all_cmd); diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c index b64890f..c1f09ff 100644 --- a/src/osmo-bsc/bts.c +++ b/src/osmo-bsc/bts.c @@ -1,5 +1,5 @@ /* (C) 2008-2018 by Harald Welte - * (C) 2020 by sysmocom s.f.m.c. GmbH + * (C) 2021 by sysmocom s.f.m.c. GmbH * * All Rights Reserved * @@ -747,6 +747,24 @@ return 0; } +int gsm_bts_set_c0_power_red(struct gsm_bts *bts, const uint8_t red) +{ + int rc; + + if (!osmo_bts_has_feature(&bts->features, BTS_FEAT_BCCH_POWER_RED)) + return -ENOTSUP; + if (bts->model->power_ctrl_set_c0_power_red == NULL) + return -ENOTSUP; + + rc = bts->model->power_ctrl_set_c0_power_red(bts, red); + if (rc != 0) + return rc; + + bts->c0_max_power_red_db = red; + + return 0; +} + const struct rate_ctr_desc bts_ctr_description[] = { [BTS_CTR_CHREQ_TOTAL] = \ { "chreq:total", diff --git a/src/osmo-bsc/bts_osmobts.c b/src/osmo-bsc/bts_osmobts.c index 1814ada..9813a26 100644 --- a/src/osmo-bsc/bts_osmobts.c +++ b/src/osmo-bsc/bts_osmobts.c @@ -1,6 +1,7 @@ /* Osmocom OsmoBTS specific code */ /* (C) 2010-2012 by Harald Welte + * (C) 2021 by sysmocom - s.m.f.c. GmbH * * All Rights Reserved * @@ -43,6 +44,35 @@ static struct gsm_bts_model model_osmobts; +static int power_ctrl_set_c0_power_red(const struct gsm_bts *bts, + const uint8_t red) +{ + struct abis_rsl_dchan_hdr *dh; + struct msgb *msg; + + msg = rsl_msgb_alloc(); + if (msg == NULL) + return -ENOMEM; + + LOGP(DRSL, LOGL_NOTICE, "%sabling BCCH carrier power reduction " + "operation mode for BTS%u (maximum %u dB)\n", + red ? "En" : "Dis", bts->nr, red); + + /* Abuse the standard BS POWER CONTROL message by specifying 'Common Channel' + * in the Protocol Discriminator field and 'BCCH' in the Channel Number IE. */ + dh = (struct abis_rsl_dchan_hdr *) msgb_put(msg, sizeof(*dh)); + dh->c.msg_discr = ABIS_RSL_MDISC_COM_CHAN; + dh->c.msg_type = RSL_MT_BS_POWER_CONTROL; + dh->ie_chan = RSL_IE_CHAN_NR; + dh->chan_nr = RSL_CHAN_BCCH; + + msgb_tv_put(msg, RSL_IE_BS_POWER, red / 2); + + msg->dst = bts->c0->rsl_link_primary; + + return abis_rsl_sendmsg(msg); +} + int bts_model_osmobts_init(void) { model_osmobts = bts_model_nanobts; @@ -52,6 +82,9 @@ /* Unlike nanoBTS, osmo-bts does support SI2bis and SI2ter fine */ model_osmobts.force_combined_si = false; + /* Power control API */ + model_osmobts.power_ctrl_set_c0_power_red = &power_ctrl_set_c0_power_red; + model_osmobts.features.data = &model_osmobts._features_data[0]; model_osmobts.features.data_len = sizeof(model_osmobts._features_data); diff --git a/tests/osmo-bsc.vty b/tests/osmo-bsc.vty index 48f3f0b..22e2a06 100644 --- a/tests/osmo-bsc.vty +++ b/tests/osmo-bsc.vty @@ -46,10 +46,14 @@ OsmoBSC# bts 0 ? resend-system-information Re-generate + re-send BCCH SYSTEM INFORMATION resend-power-control-defaults Re-generate + re-send default MS/BS Power control parameters + c0-power-reduction BCCH carrier power reduction operation trx TRX for manual command oml Manipulate the OML managed objects om2000 Manipulate the OM2000 managed objects +OsmoBSC# bts 0 c0-power-reduction ? + <0-6> Power reduction value (in dB, even numbers only) + OsmoBSC# bts 0 trx ? <0-255> TRX Number -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24777 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I047fce33d4d3e4c569dd006ba17858467a2f4783 Gerrit-Change-Number: 24777 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 5 12:18:01 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 5 Jul 2021 12:18:01 +0000 Subject: Change in osmo-bsc[master]: power_control: constrain BS power reduction on BCCH carrier In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24804 ) Change subject: power_control: constrain BS power reduction on BCCH carrier ...................................................................... power_control: constrain BS power reduction on BCCH carrier BS Power Control is not allowed on the BCCH/CCCH carrier, unless the BTS is operating in the BCCH carrier power reduction mode. Allow constrained BS power reduction (up to 6 dB) on active logical channels iff BCCH carrier power reduction mode is enabled. Take into account that the maximum power difference between a timeslot used for BCCH/CCCH and the timeslot preceding it shall not exceed 3 dB. Change-Id: I2cc6a86731984f586ef35b43a8d3de631f7d8a2f Related: SYS#4919, SYS#4918 --- M doc/manuals/chapters/power_control.adoc M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bts.c M src/osmo-bsc/lchan_fsm.c 4 files changed, 65 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/doc/manuals/chapters/power_control.adoc b/doc/manuals/chapters/power_control.adoc index bb87c85..d456484 100644 --- a/doc/manuals/chapters/power_control.adoc +++ b/doc/manuals/chapters/power_control.adoc @@ -357,6 +357,30 @@ power reduction mode" in the feature vector. This can be checked by issuing `show bts` command in OsmoBSC's VTY interface. +==== Interworking with static and dynamic power control + +The key difference between BCCH carrier power reduction and the BS power control +is that the former affects *inactive* timeslots (or sub-channels), so only dummy +bursts are affected. The later depends on the Downlink measurement reports sent +by the MS, and thus applies to *active* channels only. However, both features +are interconnected: the maximum BCCH carrier power reduction value constrains +the BS Power value that can be used for dynamic or static BS power control. + +BS power control on the BCCH carrier will not be enabled unless the BTS is in BCCH +carrier power reduction mode of operation. Once it is, the BS power reduction +value in either of `dyn-bts` or `static` modes would be constrained by currently +applied BCCH power reduction value, and thus would never exceed the maximum of 6 dB. + +For example, consider a BTS with BS power control configured to use _dynamic_ mode +and the maximum power reduction of 16 dB. Once this BTS is switched into the BCCH +carrier power reduction mode with the maximum attenuation of 4 dB, the maximum +power reduction value for the BS power loop on the C0 carrier would be 4 dB. + +Moreover, according to 3GPP TS 45.008, between a timeslot used for BCCH/CCCH and +the timeslot preceding it, the difference in output power actually transmitted by +the BTS shall not exceed 3 dB. This means that on some timeslots the power +reduction value can be constrained even further. + ==== Managing BCCH carrier power reduction The BCCH carrier power reduction can be controlled via the CTRL and VTY interfaces. diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 569e288..31759cc 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -841,6 +841,9 @@ } rbs2000; }; + /* Maximum BCCH carrier power reduction */ + uint8_t c0_max_power_red_db; + /* Maximum number of lchans that could become usable, for example by switching a dynamic timeslot's type or by * enabling VAMOS secondary lchans. This does include the maximum count of possible VAMOS secondary lchans. */ uint8_t max_lchans_possible; diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c index c1f09ff..8608767 100644 --- a/src/osmo-bsc/bts.c +++ b/src/osmo-bsc/bts.c @@ -749,6 +749,8 @@ int gsm_bts_set_c0_power_red(struct gsm_bts *bts, const uint8_t red) { + struct gsm_bts_trx *c0 = bts->c0; + unsigned int tn; int rc; if (!osmo_bts_has_feature(&bts->features, BTS_FEAT_BCCH_POWER_RED)) @@ -760,6 +762,35 @@ if (rc != 0) return rc; + /* Timeslot 0 is always transmitting BCCH/CCCH */ + c0->ts[0].c0_max_power_red_db = 0; + + for (tn = 1; tn < ARRAY_SIZE(c0->ts); tn++) { + struct gsm_bts_trx_ts *ts = &c0->ts[tn]; + struct gsm_bts_trx_ts *prev = ts - 1; + + switch (ts->pchan_is) { + /* Not allowed on CCCH/BCCH */ + case GSM_PCHAN_CCCH: + /* Preceeding timeslot shall not exceed 2 dB */ + if (prev->c0_max_power_red_db > 0) + prev->c0_max_power_red_db = 2; + /* fall-through */ + /* Not recommended on SDCCH/8 */ + case GSM_PCHAN_SDCCH8_SACCH8C: + case GSM_PCHAN_SDCCH8_SACCH8C_CBCH: + ts->c0_max_power_red_db = 0; + break; + default: + ts->c0_max_power_red_db = red; + break; + } + } + + /* Timeslot 7 is always preceding BCCH/CCCH */ + if (c0->ts[7].c0_max_power_red_db > 0) + c0->ts[7].c0_max_power_red_db = 2; + bts->c0_max_power_red_db = red; return 0; diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 03ccec0..6350481 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -675,6 +675,13 @@ lchan->bs_power_db = bts->bs_power_ctrl.bs_power_val_db; } + /* BS Power Control is generally not allowed on the BCCH/CCCH carrier. + * However, we allow it in the BCCH carrier power reduction mode of operation. */ + if (lchan->ts->trx == bts->c0) { + lchan->bs_power_db = OSMO_MIN(lchan->ts->c0_max_power_red_db, + lchan->bs_power_db); + } + if (lchan_activate_set_ch_mode_rate_and_mr_config(lchan)) return; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24804 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2cc6a86731984f586ef35b43a8d3de631f7d8a2f Gerrit-Change-Number: 24804 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 5 13:47:55 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 5 Jul 2021 13:47:55 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: send dummy FACCH in the absense of RTP frames In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24846 ) Change subject: osmo-bts-trx: send dummy FACCH in the absense of RTP frames ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24846 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I868afecbcb6890f40c8f146e3ce00e836b794dd3 Gerrit-Change-Number: 24846 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 05 Jul 2021 13:47: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 Mon Jul 5 14:29:35 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 5 Jul 2021 14:29:35 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: send dummy FACCH in the absense of RTP frames In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24846 ) Change subject: osmo-bts-trx: send dummy FACCH in the absense of RTP frames ...................................................................... Patch Set 2: Code-Review+1 I guess you know what you are doing here :P -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24846 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I868afecbcb6890f40c8f146e3ce00e836b794dd3 Gerrit-Change-Number: 24846 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 05 Jul 2021 14:29: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 Jul 5 15:21:18 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 5 Jul 2021 15:21:18 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: Fix null pointer dereference rx ASSIGNMENT_EV_LCHAN_E... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24848 ) Change subject: assignment_fsm: Fix null pointer dereference rx ASSIGNMENT_EV_LCHAN_ERROR ...................................................................... assignment_fsm: Fix null pointer dereference rx ASSIGNMENT_EV_LCHAN_ERROR gsm_lchan_name always expects a valid lchan pointer. This patch fixes a crash seen: """ <000f> lchan_fsm.c:99 lchan(12-2-5-TCH_H-1)[0x559b880f2980]{WAIT_RLL_RTP_ESTABLISH}: (type=TCH_H) Signalling Assignment FSM of error (lchan allocation failed in state WAIT_RLL_RTP_ESTABLISH: Timeout) Assert failed lchan ../../include/osmocom/bsc/gsm_data.h:1034 """ Related: SYS#5392 Change-Id: I23a337d411e857954008c6f8ae60be714509d351 --- M src/osmo-bsc/assignment_fsm.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/48/24848/1 diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index f5aee82..928d3b2 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -935,7 +935,7 @@ assignment_fail(new_lchan->activate.gsm0808_error_cause, "Failed to %s lchan %s", conn->assignment.new_lchan ? "activate" : "modify", - gsm_lchan_name(conn->assignment.new_lchan)); + conn->assignment.new_lchan ? gsm_lchan_name(conn->assignment.new_lchan) : ""); return; default: -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24848 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I23a337d411e857954008c6f8ae60be714509d351 Gerrit-Change-Number: 24848 Gerrit-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 Jul 5 15:21:19 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 5 Jul 2021 15:21:19 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: Add assert to guard ptr access References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24849 ) Change subject: assignment_fsm: Add assert to guard ptr access ...................................................................... assignment_fsm: Add assert to guard ptr access Let's make sure the null pointer is caught by the assert if ever code ends up here with conn->lchan being NULL. Change-Id: I404df638da6a93caa535f10fd330ea24a775bfc3 --- M src/osmo-bsc/assignment_fsm.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/49/24849/1 diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index 928d3b2..2c52d22 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -575,6 +575,7 @@ matching_mode = true; } if (!matching_mode) { + OSMO_ASSERT(conn->lchan); assignment_fail(GSM0808_CAUSE_NO_RADIO_RESOURCE_AVAILABLE, "Assignment of lchan %s to %s type %s requested, but lchan is not compatible", gsm_lchan_name(conn->lchan), -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24849 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I404df638da6a93caa535f10fd330ea24a775bfc3 Gerrit-Change-Number: 24849 Gerrit-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 Jul 5 15:44:21 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 5 Jul 2021 15:44:21 +0000 Subject: Change in osmo-bsc[master]: hodec2: [1/2] implement automatic choice between FULL and SUBSET meas... References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24850 ) Change subject: hodec2: [1/2] implement automatic choice between FULL and SUBSET measurements ...................................................................... hodec2: [1/2] implement automatic choice between FULL and SUBSET measurements Cosmetic preparation for enabling automatic choice between FULL and SUBSET measurements depending on DTX in handover decision 2. Change the internal API to pass separate enums for the choices {RXLEV, RXQUAL}, {UL, DL} and {FULL, SUB}. Change-Id: I283e03126a6bc1f5f1b35f9801e841053edd2947 --- M include/osmocom/bsc/meas_rep.h M src/osmo-bsc/handover_decision.c M src/osmo-bsc/handover_decision_2.c M src/osmo-bsc/meas_rep.c 4 files changed, 77 insertions(+), 26 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/50/24850/1 diff --git a/include/osmocom/bsc/meas_rep.h b/include/osmocom/bsc/meas_rep.h index 54e0519..77af365 100644 --- a/include/osmocom/bsc/meas_rep.h +++ b/include/osmocom/bsc/meas_rep.h @@ -51,14 +51,31 @@ struct gsm_meas_rep_cell cell[6]; }; +enum tdma_meas_field { + TDMA_MEAS_FIELD_RXLEV, + TDMA_MEAS_FIELD_RXQUAL, +}; + +enum tdma_meas_dir { + TDMA_MEAS_DIR_UL, + TDMA_MEAS_DIR_DL, +}; + +enum tdma_meas_set { + TDMA_MEAS_SET_FULL, + TDMA_MEAS_SET_SUB, + TDMA_MEAS_SET_AUTO, +}; + /* obtain an average over the last 'num' fields in the meas reps */ int get_meas_rep_avg(const struct gsm_lchan *lchan, - enum meas_rep_field field, unsigned int num); + enum tdma_meas_field field, enum tdma_meas_dir dir, enum tdma_meas_set set, + unsigned int num); /* Check if N out of M last values for FIELD are >= bd */ int meas_rep_n_out_of_m_be(const struct gsm_lchan *lchan, - enum meas_rep_field field, - unsigned int n, unsigned int m, int be); + enum tdma_meas_field field, enum tdma_meas_dir dir, enum tdma_meas_set set, + unsigned int n, unsigned int m, int be); unsigned int calc_initial_idx(unsigned int array_size, unsigned int meas_rep_idx, diff --git a/src/osmo-bsc/handover_decision.c b/src/osmo-bsc/handover_decision.c index 1eeb277..220fa1c 100644 --- a/src/osmo-bsc/handover_decision.c +++ b/src/osmo-bsc/handover_decision.c @@ -214,7 +214,7 @@ static void on_measurement_report(struct gsm_meas_rep *mr) { struct gsm_bts *bts = mr->lchan->ts->trx->bts; - enum meas_rep_field dlev, dqual; + enum tdma_meas_set meas_set; int av_rxlev; unsigned int pwr_interval; @@ -231,24 +231,18 @@ return; } - if (mr->flags & MEAS_REP_F_DL_DTX) { - dlev = MEAS_REP_DL_RXLEV_SUB; - dqual = MEAS_REP_DL_RXQUAL_SUB; - } else { - dlev = MEAS_REP_DL_RXLEV_FULL; - dqual = MEAS_REP_DL_RXQUAL_FULL; - } + meas_set = (mr->flags & MEAS_REP_F_DL_DTX) ? TDMA_MEAS_SET_SUB : TDMA_MEAS_SET_FULL; /* parse actual neighbor cell info */ if (mr->num_cell > 0 && mr->num_cell < 7) process_meas_neigh(mr); - av_rxlev = get_meas_rep_avg(mr->lchan, dlev, + av_rxlev = get_meas_rep_avg(mr->lchan, TDMA_MEAS_FIELD_RXLEV, TDMA_MEAS_DIR_DL, meas_set, ho_get_hodec1_rxlev_avg_win(bts->ho)); /* Interference HO */ if (rxlev2dbm(av_rxlev) > -85 && - meas_rep_n_out_of_m_be(mr->lchan, dqual, 3, 4, 5)) { + meas_rep_n_out_of_m_be(mr->lchan, TDMA_MEAS_FIELD_RXQUAL, TDMA_MEAS_DIR_DL, meas_set, 3, 4, 5)) { LOGPC(DHO, LOGL_INFO, "HO cause: Interference HO av_rxlev=%d dBm\n", rxlev2dbm(av_rxlev)); attempt_handover(mr); @@ -256,7 +250,7 @@ } /* Bad Quality */ - if (meas_rep_n_out_of_m_be(mr->lchan, dqual, 3, 4, 5)) { + if (meas_rep_n_out_of_m_be(mr->lchan, TDMA_MEAS_FIELD_RXQUAL, TDMA_MEAS_DIR_DL, meas_set, 3, 4, 5)) { LOGPC(DHO, LOGL_INFO, "HO cause: Bad Quality av_rxlev=%d dBm\n", rxlev2dbm(av_rxlev)); attempt_handover(mr); return; diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index 0966583..c3674ff 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -244,18 +244,16 @@ static int current_rxlev(struct gsm_lchan *lchan) { struct gsm_bts *bts = lchan->ts->trx->bts; - return get_meas_rep_avg(lchan, - ho_get_hodec2_full_tdma(bts->ho) ? - MEAS_REP_DL_RXLEV_FULL : MEAS_REP_DL_RXLEV_SUB, + return get_meas_rep_avg(lchan, TDMA_MEAS_FIELD_RXLEV, TDMA_MEAS_DIR_DL, + ho_get_hodec2_full_tdma(bts->ho) ? TDMA_MEAS_SET_FULL : TDMA_MEAS_SET_SUB, ho_get_hodec2_rxlev_avg_win(bts->ho)); } static int current_rxqual(struct gsm_lchan *lchan) { struct gsm_bts *bts = lchan->ts->trx->bts; - return get_meas_rep_avg(lchan, - ho_get_hodec2_full_tdma(bts->ho) ? - MEAS_REP_DL_RXQUAL_FULL : MEAS_REP_DL_RXQUAL_SUB, + return get_meas_rep_avg(lchan, TDMA_MEAS_FIELD_RXQUAL, TDMA_MEAS_DIR_DL, + ho_get_hodec2_full_tdma(bts->ho) ? TDMA_MEAS_SET_FULL : TDMA_MEAS_SET_SUB, ho_get_hodec2_rxqual_avg_win(bts->ho)); } diff --git a/src/osmo-bsc/meas_rep.c b/src/osmo-bsc/meas_rep.c index 32c689d..0ddf349 100644 --- a/src/osmo-bsc/meas_rep.c +++ b/src/osmo-bsc/meas_rep.c @@ -80,9 +80,43 @@ return idx; } -/* obtain an average over the last 'num' fields in the meas reps */ +static inline enum meas_rep_field choose_meas_rep_field(enum tdma_meas_field field, enum tdma_meas_dir dir, + enum tdma_meas_set set) +{ + const enum meas_rep_field map[2][2][2] = { + [TDMA_MEAS_FIELD_RXLEV] = { + [TDMA_MEAS_DIR_UL] = { + [TDMA_MEAS_SET_FULL] = MEAS_REP_UL_RXLEV_FULL, + [TDMA_MEAS_SET_SUB] = MEAS_REP_UL_RXLEV_SUB, + }, + [TDMA_MEAS_DIR_DL] = { + [TDMA_MEAS_SET_FULL] = MEAS_REP_DL_RXLEV_FULL, + [TDMA_MEAS_SET_SUB] = MEAS_REP_DL_RXLEV_SUB, + }, + }, + [TDMA_MEAS_FIELD_RXQUAL] = { + [TDMA_MEAS_DIR_UL] = { + [TDMA_MEAS_SET_FULL] = MEAS_REP_UL_RXQUAL_FULL, + [TDMA_MEAS_SET_SUB] = MEAS_REP_UL_RXQUAL_SUB, + }, + [TDMA_MEAS_DIR_DL] = { + [TDMA_MEAS_SET_FULL] = MEAS_REP_DL_RXQUAL_FULL, + [TDMA_MEAS_SET_SUB] = MEAS_REP_DL_RXQUAL_SUB, + }, + }, + }; + + OSMO_ASSERT(field == TDMA_MEAS_FIELD_RXQUAL || field == TDMA_MEAS_FIELD_RXLEV); + OSMO_ASSERT(dir == TDMA_MEAS_DIR_UL || dir == TDMA_MEAS_DIR_DL); + OSMO_ASSERT(set == TDMA_MEAS_SET_FULL || set == TDMA_MEAS_SET_SUB); + return map[field][dir][set]; +} + +/* obtain an average over the last 'num' fields in the meas reps. For 'field', pass either DL_RXLEV or DL_RXQUAL, and + * by tdma_meas_set, choose between full, subset or automatic choice of set. */ int get_meas_rep_avg(const struct gsm_lchan *lchan, - enum meas_rep_field field, unsigned int num) + enum tdma_meas_field field, enum tdma_meas_dir dir, enum tdma_meas_set set, + unsigned int num) { unsigned int i, idx; int avg = 0, valid_num = 0; @@ -98,7 +132,11 @@ for (i = 0; i < num; i++) { int j = (idx+i) % ARRAY_SIZE(lchan->meas_rep); - int val = get_field(&lchan->meas_rep[j], field); + enum meas_rep_field use_field; + int val; + + use_field = choose_meas_rep_field(field, dir, set); + val = get_field(&lchan->meas_rep[j], use_field); if (val >= 0) { avg += val; @@ -114,8 +152,8 @@ /* Check if N out of M last values for FIELD are >= bd */ int meas_rep_n_out_of_m_be(const struct gsm_lchan *lchan, - enum meas_rep_field field, - unsigned int n, unsigned int m, int be) + enum tdma_meas_field field, enum tdma_meas_dir dir, enum tdma_meas_set set, + unsigned int n, unsigned int m, int be) { unsigned int i, idx; int count = 0; @@ -125,7 +163,11 @@ for (i = 0; i < m; i++) { int j = (idx + i) % ARRAY_SIZE(lchan->meas_rep); - int val = get_field(&lchan->meas_rep[j], field); + enum meas_rep_field use_field; + int val; + + use_field = choose_meas_rep_field(field, dir, set); + val = get_field(&lchan->meas_rep[j], use_field); if (val >= be) /* implies that val < 0 will not count */ count++; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24850 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I283e03126a6bc1f5f1b35f9801e841053edd2947 Gerrit-Change-Number: 24850 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 Jul 5 15:44:22 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 5 Jul 2021 15:44:22 +0000 Subject: Change in osmo-bsc[master]: hodec2: [2/2] implement automatic choice between FULL and SUBSET meas... References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24851 ) Change subject: hodec2: [2/2] implement automatic choice between FULL and SUBSET measurements ...................................................................... hodec2: [2/2] implement automatic choice between FULL and SUBSET measurements Add TDMA_MEAS_SET_AUTO to indicate automatic choice between FULL and SUBSET measurements depending on DTX in both hodec1 and hodec2. TDMA_MEAS_SET_AUTO looks at each individual measurement report's DTX flag and for each report chooses FULL if DTX is not used, or SUB if DTX is used. The default setting for 'handover2 tdma-measurement' is still 'subset'. To use the automatic choice, users need configure handover2 tdma-measurement auto Change-Id: I67dce55ccf892c8679272ee5dfedc25620f0f725 --- M include/osmocom/bsc/handover_cfg.h M include/osmocom/bsc/meas_rep.h M src/osmo-bsc/handover_decision_2.c M src/osmo-bsc/meas_rep.c M tests/bsc/Makefile.am M tests/handover_cfg.vty 6 files changed, 35 insertions(+), 22 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/51/24851/1 diff --git a/include/osmocom/bsc/handover_cfg.h b/include/osmocom/bsc/handover_cfg.h index 6e003af..551ce8d 100644 --- a/include/osmocom/bsc/handover_cfg.h +++ b/include/osmocom/bsc/handover_cfg.h @@ -38,18 +38,6 @@ return arg? 1 : 0; } -static inline bool a2tdma(const char *arg) -{ - if (!strcmp(arg, "full")) - return true; - return false; -} - -static inline const char *tdma2a(bool val) -{ - return val? "full" : "subset"; -} - /* The HO_CFG_ONE_MEMBER macro gets redefined, depending on whether to define struct members, * function declarations or definitions... It is of the format * HO_CFG_ONE_MEMBER(TYPE, NAME, DEFAULT_VAL, @@ -188,10 +176,13 @@ "Disable in-call assignment\n" \ "Enable in-call assignment\n") \ \ - HO_CFG_ONE_MEMBER(bool, hodec2_full_tdma, subset, \ - "handover2 ", "tdma-measurement", "full|subset", a2tdma, "%s", tdma2a, \ + HO_CFG_ONE_MEMBER(enum tdma_meas_set, hodec2_tdma_meas_set, subset, \ + "handover2 ", "tdma-measurement", "auto|full|subset", \ + tdma_meas_set_from_str, "%s", tdma_meas_set_name, \ HO_CFG_STR_HANDOVER2 \ "Define measurement set of TDMA frames\n" \ + "Use full set when DTX is not in use, use subset when DTX is in use," \ + " as indicated by each Measurement Report\n" \ "Full set of 102/104 TDMA frames\n" \ "Sub set of 4 TDMA frames (SACCH)\n") \ \ diff --git a/include/osmocom/bsc/meas_rep.h b/include/osmocom/bsc/meas_rep.h index 77af365..e30121f 100644 --- a/include/osmocom/bsc/meas_rep.h +++ b/include/osmocom/bsc/meas_rep.h @@ -67,6 +67,12 @@ TDMA_MEAS_SET_AUTO, }; +extern const struct value_string tdma_meas_set_names[]; +static inline const char *tdma_meas_set_name(enum tdma_meas_set val) +{ return get_value_string(tdma_meas_set_names, val); } +static inline enum tdma_meas_set tdma_meas_set_from_str(const char *name) +{ return get_string_value(tdma_meas_set_names, name); } + /* obtain an average over the last 'num' fields in the meas reps */ int get_meas_rep_avg(const struct gsm_lchan *lchan, enum tdma_meas_field field, enum tdma_meas_dir dir, enum tdma_meas_set set, diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index c3674ff..dd35c73 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -244,16 +244,14 @@ static int current_rxlev(struct gsm_lchan *lchan) { struct gsm_bts *bts = lchan->ts->trx->bts; - return get_meas_rep_avg(lchan, TDMA_MEAS_FIELD_RXLEV, TDMA_MEAS_DIR_DL, - ho_get_hodec2_full_tdma(bts->ho) ? TDMA_MEAS_SET_FULL : TDMA_MEAS_SET_SUB, + return get_meas_rep_avg(lchan, TDMA_MEAS_FIELD_RXLEV, TDMA_MEAS_DIR_DL, ho_get_hodec2_tdma_meas_set(bts->ho), ho_get_hodec2_rxlev_avg_win(bts->ho)); } static int current_rxqual(struct gsm_lchan *lchan) { struct gsm_bts *bts = lchan->ts->trx->bts; - return get_meas_rep_avg(lchan, TDMA_MEAS_FIELD_RXQUAL, TDMA_MEAS_DIR_DL, - ho_get_hodec2_full_tdma(bts->ho) ? TDMA_MEAS_SET_FULL : TDMA_MEAS_SET_SUB, + return get_meas_rep_avg(lchan, TDMA_MEAS_FIELD_RXQUAL, TDMA_MEAS_DIR_DL, ho_get_hodec2_tdma_meas_set(bts->ho), ho_get_hodec2_rxqual_avg_win(bts->ho)); } diff --git a/src/osmo-bsc/meas_rep.c b/src/osmo-bsc/meas_rep.c index 0ddf349..ee8555d 100644 --- a/src/osmo-bsc/meas_rep.c +++ b/src/osmo-bsc/meas_rep.c @@ -81,7 +81,7 @@ } static inline enum meas_rep_field choose_meas_rep_field(enum tdma_meas_field field, enum tdma_meas_dir dir, - enum tdma_meas_set set) + enum tdma_meas_set set, const struct gsm_meas_rep *meas_rep) { const enum meas_rep_field map[2][2][2] = { [TDMA_MEAS_FIELD_RXLEV] = { @@ -106,6 +106,14 @@ }, }; + if (set == TDMA_MEAS_SET_AUTO) { + bool dtx_in_use; + OSMO_ASSERT(meas_rep); + + dtx_in_use = (meas_rep->flags & ((dir == TDMA_MEAS_DIR_UL) ? MEAS_REP_F_UL_DTX : MEAS_REP_F_DL_DTX)); + set = (dtx_in_use ? TDMA_MEAS_SET_SUB : TDMA_MEAS_SET_FULL); + } + OSMO_ASSERT(field == TDMA_MEAS_FIELD_RXQUAL || field == TDMA_MEAS_FIELD_RXLEV); OSMO_ASSERT(dir == TDMA_MEAS_DIR_UL || dir == TDMA_MEAS_DIR_DL); OSMO_ASSERT(set == TDMA_MEAS_SET_FULL || set == TDMA_MEAS_SET_SUB); @@ -135,7 +143,7 @@ enum meas_rep_field use_field; int val; - use_field = choose_meas_rep_field(field, dir, set); + use_field = choose_meas_rep_field(field, dir, set, &lchan->meas_rep[j]); val = get_field(&lchan->meas_rep[j], use_field); if (val >= 0) { @@ -166,7 +174,7 @@ enum meas_rep_field use_field; int val; - use_field = choose_meas_rep_field(field, dir, set); + use_field = choose_meas_rep_field(field, dir, set, &lchan->meas_rep[j]); val = get_field(&lchan->meas_rep[j], use_field); if (val >= be) /* implies that val < 0 will not count */ @@ -178,3 +186,10 @@ return 0; } + +const struct value_string tdma_meas_set_names[] = { + { TDMA_MEAS_SET_FULL, "full" }, + { TDMA_MEAS_SET_SUB, "subset" }, + { TDMA_MEAS_SET_AUTO, "auto" }, + {} +}; diff --git a/tests/bsc/Makefile.am b/tests/bsc/Makefile.am index a0bbb81..2f66778 100644 --- a/tests/bsc/Makefile.am +++ b/tests/bsc/Makefile.am @@ -46,6 +46,7 @@ $(top_builddir)/src/osmo-bsc/gsm_data.o \ $(top_builddir)/src/osmo-bsc/handover_cfg.o \ $(top_builddir)/src/osmo-bsc/handover_logic.o \ + $(top_builddir)/src/osmo-bsc/meas_rep.o \ $(top_builddir)/src/osmo-bsc/neighbor_ident.o \ $(top_builddir)/src/osmo-bsc/net_init.o \ $(top_builddir)/src/osmo-bsc/nm_common_fsm.o \ diff --git a/tests/handover_cfg.vty b/tests/handover_cfg.vty index 4bafd72..ccb1a6b 100644 --- a/tests/handover_cfg.vty +++ b/tests/handover_cfg.vty @@ -178,7 +178,7 @@ handover2 power budget hysteresis (<0-999>|default) handover2 maximum distance (<0-9999>|default) handover2 assignment (0|1|default) - handover2 tdma-measurement (full|subset|default) + handover2 tdma-measurement (auto|full|subset|default) handover2 min rxlev (<-110--50>|default) handover2 min rxqual (<0-7>|default) handover2 afs-bias rxlev (<0-20>|default) @@ -335,6 +335,7 @@ default Use default (0), remove explicit setting on this node OsmoBSC(config-net)# handover2 tdma-measurement ? + auto Use full set when DTX is not in use, use subset when DTX is in use, as indicated by each Measurement Report full Full set of 102/104 TDMA frames subset Sub set of 4 TDMA frames (SACCH) default Use default (subset), remove explicit setting on this node @@ -553,6 +554,7 @@ default Use default (0), remove explicit setting on this node OsmoBSC(config-net-bts)# handover2 tdma-measurement ? + auto Use full set when DTX is not in use, use subset when DTX is in use, as indicated by each Measurement Report full Full set of 102/104 TDMA frames subset Sub set of 4 TDMA frames (SACCH) default Use default (subset), remove explicit setting on this node -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24851 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I67dce55ccf892c8679272ee5dfedc25620f0f725 Gerrit-Change-Number: 24851 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 Jul 5 15:44:22 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 5 Jul 2021 15:44:22 +0000 Subject: Change in osmo-bsc[master]: hodec1: use same automatic FULL/SUBSET choice as in hodec2 References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24852 ) Change subject: hodec1: use same automatic FULL/SUBSET choice as in hodec2 ...................................................................... hodec1: use same automatic FULL/SUBSET choice as in hodec2 So far handover decision 1 uses the FULL or SUBSET TDMA measurements across all measurement reports, depending on whether the last measurement report indicates that DTX is in use or not. Handover decision 2 since recently uses TDMA_MEAS_SET_AUTO to choose for each individual measurement report whether to use the FULL or the SUBSET value, depending on each single report's DTX use flag. Also switch handover decision 1 to heed every single report's DTX flag, by simply using TDMA_MEAS_SET_AUTO, replacing the current decision. Change-Id: Iebe980254b8c4a53ef9e7d720e417dc67077eff7 --- M src/osmo-bsc/handover_decision.c 1 file changed, 3 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/52/24852/1 diff --git a/src/osmo-bsc/handover_decision.c b/src/osmo-bsc/handover_decision.c index 220fa1c..2fb466c 100644 --- a/src/osmo-bsc/handover_decision.c +++ b/src/osmo-bsc/handover_decision.c @@ -214,7 +214,6 @@ static void on_measurement_report(struct gsm_meas_rep *mr) { struct gsm_bts *bts = mr->lchan->ts->trx->bts; - enum tdma_meas_set meas_set; int av_rxlev; unsigned int pwr_interval; @@ -231,18 +230,16 @@ return; } - meas_set = (mr->flags & MEAS_REP_F_DL_DTX) ? TDMA_MEAS_SET_SUB : TDMA_MEAS_SET_FULL; - /* parse actual neighbor cell info */ if (mr->num_cell > 0 && mr->num_cell < 7) process_meas_neigh(mr); - av_rxlev = get_meas_rep_avg(mr->lchan, TDMA_MEAS_FIELD_RXLEV, TDMA_MEAS_DIR_DL, meas_set, + av_rxlev = get_meas_rep_avg(mr->lchan, TDMA_MEAS_FIELD_RXLEV, TDMA_MEAS_DIR_DL, TDMA_MEAS_SET_AUTO, ho_get_hodec1_rxlev_avg_win(bts->ho)); /* Interference HO */ if (rxlev2dbm(av_rxlev) > -85 && - meas_rep_n_out_of_m_be(mr->lchan, TDMA_MEAS_FIELD_RXQUAL, TDMA_MEAS_DIR_DL, meas_set, 3, 4, 5)) { + meas_rep_n_out_of_m_be(mr->lchan, TDMA_MEAS_FIELD_RXQUAL, TDMA_MEAS_DIR_DL, TDMA_MEAS_SET_AUTO, 3, 4, 5)) { LOGPC(DHO, LOGL_INFO, "HO cause: Interference HO av_rxlev=%d dBm\n", rxlev2dbm(av_rxlev)); attempt_handover(mr); @@ -250,7 +247,7 @@ } /* Bad Quality */ - if (meas_rep_n_out_of_m_be(mr->lchan, TDMA_MEAS_FIELD_RXQUAL, TDMA_MEAS_DIR_DL, meas_set, 3, 4, 5)) { + if (meas_rep_n_out_of_m_be(mr->lchan, TDMA_MEAS_FIELD_RXQUAL, TDMA_MEAS_DIR_DL, TDMA_MEAS_SET_AUTO, 3, 4, 5)) { LOGPC(DHO, LOGL_INFO, "HO cause: Bad Quality av_rxlev=%d dBm\n", rxlev2dbm(av_rxlev)); attempt_handover(mr); return; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24852 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iebe980254b8c4a53ef9e7d720e417dc67077eff7 Gerrit-Change-Number: 24852 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 Jul 5 15:44:32 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 5 Jul 2021 15:44:32 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: Allow rx LCHAN_EV_RLL_REL_IND in WAIT_BEFORE_RF_RELEASE References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24853 ) Change subject: lchan_fsm: Allow rx LCHAN_EV_RLL_REL_IND in WAIT_BEFORE_RF_RELEASE ...................................................................... lchan_fsm: Allow rx LCHAN_EV_RLL_REL_IND in WAIT_BEFORE_RF_RELEASE As seen in osmo-bsc log during heavy load scenario: <000f> abis_rsl.c:2171 lchan(12-2-6-TCH_H-0)[0x559b880d1f40]{WAIT_RF_RELEASE_ACK}: Event LCHAN_EV_RLL_REL_IND not permitted Related: SYS#5523 Change-Id: Ie307872851490ae4d60c8117a5f4e2d8c2a414d6 --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/53/24853/1 diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 6350481..d728fab 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -1349,6 +1349,12 @@ /* ignore late lchan_rtp_fsm release events */ return; + case LCHAN_EV_RLL_REL_IND: + /* let's just ignore this. We are already logging the + * fact that this message was received inside + * abis_rsl.c. There can be any number of reasons why the + * radio link layer failed */ + return; default: OSMO_ASSERT(false); } @@ -1594,6 +1600,7 @@ .action = lchan_fsm_wait_rf_release_ack, .in_event_mask = 0 | S(LCHAN_EV_RSL_RF_CHAN_REL_ACK) + | S(LCHAN_EV_RLL_REL_IND) /* allow late REL_IND of SAPI[0] */ | S(LCHAN_EV_RTP_RELEASED) /* ignore late lchan_rtp_fsm release events */ , .out_state_mask = 0 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24853 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie307872851490ae4d60c8117a5f4e2d8c2a414d6 Gerrit-Change-Number: 24853 Gerrit-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 Jul 5 15:46:59 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 5 Jul 2021 15:46:59 +0000 Subject: Change in osmo-bsc[master]: hodec2: [2/2] implement automatic choice between FULL and SUBSET meas... In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24851 ) Change subject: hodec2: [2/2] implement automatic choice between FULL and SUBSET measurements ...................................................................... Patch Set 1: It looks more sane to me, but I'm not 100% sure that it is a good idea to take each measurement's DTX flag into account. This implementation looks at each individual report's DTX flag and then picks that measurement's FULL or SUBSET rating. So in the end we may average between a number of mixed FULL and SUBSET values. So far handover decision 1 uses only the last report's DTX flag to use either FULL or SUBSET across all reports. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24851 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I67dce55ccf892c8679272ee5dfedc25620f0f725 Gerrit-Change-Number: 24851 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 05 Jul 2021 15:46: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 Jul 5 16:57:44 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 5 Jul 2021 16:57:44 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: Fix null pointer dereference rx ASSIGNMENT_EV_LCHAN_E... In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24848 ) Change subject: assignment_fsm: Fix null pointer dereference rx ASSIGNMENT_EV_LCHAN_ERROR ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24848/2/src/osmo-bsc/assignment_fsm.c File src/osmo-bsc/assignment_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24848/2/src/osmo-bsc/assignment_fsm.c at 938 PS2, Line 938: gsm_lchan_name Why not to make this function itself NULL-safe? It could simply return "(null)". -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24848 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I23a337d411e857954008c6f8ae60be714509d351 Gerrit-Change-Number: 24848 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 05 Jul 2021 16:57: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 Mon Jul 5 16:58:08 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 5 Jul 2021 16:58:08 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: Add assert to guard ptr access In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24849 ) Change subject: assignment_fsm: Add assert to guard ptr access ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24849 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I404df638da6a93caa535f10fd330ea24a775bfc3 Gerrit-Change-Number: 24849 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 05 Jul 2021 16:58:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 5 17:07:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 5 Jul 2021 17:07:38 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: Fix null pointer dereference rx ASSIGNMENT_EV_LCHAN_E... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24848 ) Change subject: assignment_fsm: Fix null pointer dereference rx ASSIGNMENT_EV_LCHAN_ERROR ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24848/2/src/osmo-bsc/assignment_fsm.c File src/osmo-bsc/assignment_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24848/2/src/osmo-bsc/assignment_fsm.c at 938 PS2, Line 938: gsm_lchan_name > Why not to make this function itself NULL-safe? It could simply return "(null)". Because it's already used like this in lots of places with the required logic. Anyway, in this specific case it wouldn't make much sense to print "Failed to modify chan null". -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24848 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I23a337d411e857954008c6f8ae60be714509d351 Gerrit-Change-Number: 24848 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 05 Jul 2021 17:07: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 Mon Jul 5 17:25:58 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 5 Jul 2021 17:25:58 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: Fix null pointer dereference rx ASSIGNMENT_EV_LCHAN_E... In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24848 ) Change subject: assignment_fsm: Fix null pointer dereference rx ASSIGNMENT_EV_LCHAN_ERROR ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24848 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I23a337d411e857954008c6f8ae60be714509d351 Gerrit-Change-Number: 24848 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 05 Jul 2021 17:25: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 Jul 5 20:10:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 5 Jul 2021 20:10:57 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: Fix null pointer dereference rx ASSIGNMENT_EV_LCHAN_E... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24848 ) Change subject: assignment_fsm: Fix null pointer dereference rx ASSIGNMENT_EV_LCHAN_ERROR ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24848 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I23a337d411e857954008c6f8ae60be714509d351 Gerrit-Change-Number: 24848 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 05 Jul 2021 20:10: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 Jul 5 20:11:08 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 5 Jul 2021 20:11:08 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: Add assert to guard ptr access In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24849 ) Change subject: assignment_fsm: Add assert to guard ptr access ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24849 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I404df638da6a93caa535f10fd330ea24a775bfc3 Gerrit-Change-Number: 24849 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 05 Jul 2021 20: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 Jul 5 20:11:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 5 Jul 2021 20:11:10 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: Fix null pointer dereference rx ASSIGNMENT_EV_LCHAN_E... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24848 ) Change subject: assignment_fsm: Fix null pointer dereference rx ASSIGNMENT_EV_LCHAN_ERROR ...................................................................... assignment_fsm: Fix null pointer dereference rx ASSIGNMENT_EV_LCHAN_ERROR gsm_lchan_name always expects a valid lchan pointer. This patch fixes a crash seen: """ <000f> lchan_fsm.c:99 lchan(12-2-5-TCH_H-1)[0x559b880f2980]{WAIT_RLL_RTP_ESTABLISH}: (type=TCH_H) Signalling Assignment FSM of error (lchan allocation failed in state WAIT_RLL_RTP_ESTABLISH: Timeout) Assert failed lchan ../../include/osmocom/bsc/gsm_data.h:1034 """ Related: SYS#5392 Change-Id: I23a337d411e857954008c6f8ae60be714509d351 --- M src/osmo-bsc/assignment_fsm.c 1 file changed, 1 insertion(+), 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/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index f5aee82..928d3b2 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -935,7 +935,7 @@ assignment_fail(new_lchan->activate.gsm0808_error_cause, "Failed to %s lchan %s", conn->assignment.new_lchan ? "activate" : "modify", - gsm_lchan_name(conn->assignment.new_lchan)); + conn->assignment.new_lchan ? gsm_lchan_name(conn->assignment.new_lchan) : ""); return; default: -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24848 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I23a337d411e857954008c6f8ae60be714509d351 Gerrit-Change-Number: 24848 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 5 20:11:11 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 5 Jul 2021 20:11:11 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: Add assert to guard ptr access In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24849 ) Change subject: assignment_fsm: Add assert to guard ptr access ...................................................................... assignment_fsm: Add assert to guard ptr access Let's make sure the null pointer is caught by the assert if ever code ends up here with conn->lchan being NULL. Change-Id: I404df638da6a93caa535f10fd330ea24a775bfc3 --- M src/osmo-bsc/assignment_fsm.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/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index 928d3b2..2c52d22 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -575,6 +575,7 @@ matching_mode = true; } if (!matching_mode) { + OSMO_ASSERT(conn->lchan); assignment_fail(GSM0808_CAUSE_NO_RADIO_RESOURCE_AVAILABLE, "Assignment of lchan %s to %s type %s requested, but lchan is not compatible", gsm_lchan_name(conn->lchan), -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24849 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I404df638da6a93caa535f10fd330ea24a775bfc3 Gerrit-Change-Number: 24849 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 5 20:11:50 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 5 Jul 2021 20:11:50 +0000 Subject: Change in osmo-bsc[master]: hodec2: [1/2] implement automatic choice between FULL and SUBSET meas... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24850 ) Change subject: hodec2: [1/2] implement automatic choice between FULL and SUBSET measurements ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24850 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I283e03126a6bc1f5f1b35f9801e841053edd2947 Gerrit-Change-Number: 24850 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 05 Jul 2021 20:11: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 Jul 5 20:12:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 5 Jul 2021 20:12:10 +0000 Subject: Change in osmo-bsc[master]: hodec2: [2/2] implement automatic choice between FULL and SUBSET meas... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24851 ) Change subject: hodec2: [2/2] implement automatic choice between FULL and SUBSET measurements ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24851 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I67dce55ccf892c8679272ee5dfedc25620f0f725 Gerrit-Change-Number: 24851 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 05 Jul 2021 20:12:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 5 20:12:37 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 5 Jul 2021 20:12:37 +0000 Subject: Change in osmo-bsc[master]: hodec1: use same automatic FULL/SUBSET choice as in hodec2 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24852 ) Change subject: hodec1: use same automatic FULL/SUBSET choice as in hodec2 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24852 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iebe980254b8c4a53ef9e7d720e417dc67077eff7 Gerrit-Change-Number: 24852 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 05 Jul 2021 20:12: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 Mon Jul 5 20:13:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 5 Jul 2021 20:13:06 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: Allow rx LCHAN_EV_RLL_REL_IND in WAIT_BEFORE_RF_RELEASE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24853 ) Change subject: lchan_fsm: Allow rx LCHAN_EV_RLL_REL_IND in WAIT_BEFORE_RF_RELEASE ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24853 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie307872851490ae4d60c8117a5f4e2d8c2a414d6 Gerrit-Change-Number: 24853 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 05 Jul 2021 20:13: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 Jul 5 20:14:02 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 5 Jul 2021 20:14:02 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: send dummy FACCH in the absense of RTP frames In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24846 ) Change subject: osmo-bts-trx: send dummy FACCH in the absense of RTP frames ...................................................................... Patch Set 2: Code-Review+1 some more verbosity in the commit log and/or a spec reference would definitely make it easier for a reviewer to understand this is the right choice. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24846 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I868afecbcb6890f40c8f146e3ce00e836b794dd3 Gerrit-Change-Number: 24846 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 05 Jul 2021 20:14: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 Jul 5 20:16:15 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 5 Jul 2021 20:16:15 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: send dummy FACCH in the absense of RTP frames In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24846 ) Change subject: osmo-bts-trx: send dummy FACCH in the absense of RTP frames ...................................................................... Patch Set 2: > Patch Set 2: Code-Review+1 > > some more verbosity in the commit log and/or a spec reference would definitely make it easier for a reviewer to understand this is the right choice. I am not aware if this behavior is defined in the specs. at all. More details can be found in the related ticket: I am making osmo-bts-trx behave like nanoBTS. But I agree, the commit message needs to give at least a brief explanation. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24846 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I868afecbcb6890f40c8f146e3ce00e836b794dd3 Gerrit-Change-Number: 24846 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 05 Jul 2021 20:16:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 5 20:37:28 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 5 Jul 2021 20:37:28 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: Allow rx LCHAN_EV_RLL_REL_IND in WAIT_BEFORE_RF_RELEASE In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24853 ) Change subject: lchan_fsm: Allow rx LCHAN_EV_RLL_REL_IND in WAIT_BEFORE_RF_RELEASE ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/24853/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bsc/+/24853/1//COMMIT_MSG at 7 PS1, Line 7: lchan_fsm: Allow rx LCHAN_EV_RLL_REL_IND in WAIT_BEFORE_RF_RELEASE log message talks of "WAIT_BEFORE_RF_RELEASE" but the patch actually changes "WAIT_RF_RELEASE_ACK"? https://gerrit.osmocom.org/c/osmo-bsc/+/24853/1/src/osmo-bsc/lchan_fsm.c File src/osmo-bsc/lchan_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24853/1/src/osmo-bsc/lchan_fsm.c at 1356 PS1, Line 1356: * radio link layer failed */ full width lines just takes a V gw in vim : ) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24853 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie307872851490ae4d60c8117a5f4e2d8c2a414d6 Gerrit-Change-Number: 24853 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-Comment-Date: Mon, 05 Jul 2021 20:37: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 Mon Jul 5 20:43:57 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 5 Jul 2021 20:43:57 +0000 Subject: Change in osmo-bsc[master]: Support SDCCH8 in osmo dyn ts In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24786 ) Change subject: Support SDCCH8 in osmo dyn ts ...................................................................... Patch Set 5: Code-Review+2 positively surprised by the elegance of very few changes to support a nontrivial feature -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24786 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I29ac8b90168dba3ac309daeb0b6cfdbbcb8e9172 Gerrit-Change-Number: 24786 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Mon, 05 Jul 2021 20:43: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 Jul 5 20:56:54 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 5 Jul 2021 20:56:54 +0000 Subject: Change in osmo-bsc[master]: Rename osmo dyn ts enums to contain SDCCH8 In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24785 ) Change subject: Rename osmo dyn ts enums to contain SDCCH8 ...................................................................... Patch Set 4: can you explain in the commit log why some places get renamed to TCH/F_TCH/H_SDCCH8_PDCH and others to OSMO_DYN? how is the vty and the ctrl affected? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24785 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id5b89fe589a52ff88486435ac43809edb4b80f98 Gerrit-Change-Number: 24785 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Mon, 05 Jul 2021 20:56: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 Mon Jul 5 21:01:22 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 5 Jul 2021 21:01:22 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: add test cases for Downlink and Uplink speech frames In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24843 ) Change subject: BTS: add test cases for Downlink and Uplink speech frames ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24843 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8d301dfa47c11d9314cdfca8adadcbcb4eee798d Gerrit-Change-Number: 24843 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 05 Jul 2021 21:01:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 5 21:02:28 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 5 Jul 2021 21:02:28 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: equip ConnHdlr with the RTP emulation component In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24842 ) Change subject: BTS: equip ConnHdlr with the RTP emulation component ...................................................................... Patch Set 3: Code-Review+1 must admit i don't understand really but here is a +1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24842 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icb04cb73d8d55eb75edc2af2f18bb99d2c3f24a5 Gerrit-Change-Number: 24842 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 05 Jul 2021 21:02: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 Jul 5 21:06:56 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 5 Jul 2021 21:06:56 +0000 Subject: Change in osmo-msc[master]: vlr_sgs: Drop recorded LastEutranPlmnId when UE no longer associated In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24832 ) Change subject: vlr_sgs: Drop recorded LastEutranPlmnId when UE no longer associated ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-msc/+/24832/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-msc/+/24832/2//COMMIT_MSG at 8 PS2, Line 8: Related: SYS#5337 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24832 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I0dcb1850ab4f6f7d42bfcb19665ddeae2d3b057a Gerrit-Change-Number: 24832 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-CC: neels Gerrit-Comment-Date: Mon, 05 Jul 2021 21:06:56 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 5 21:14:59 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 5 Jul 2021 21:14:59 +0000 Subject: Change in osmo-msc[master]: vlr_sgs: Drop recorded LastEutranPlmnId when UE no longer associated In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24832 ) Change subject: vlr_sgs: Drop recorded LastEutranPlmnId when UE no longer associated ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-msc/+/24832/2/src/libvlr/vlr_sgs_fsm.c File src/libvlr/vlr_sgs_fsm.c: https://gerrit.osmocom.org/c/osmo-msc/+/24832/2/src/libvlr/vlr_sgs_fsm.c at 64 PS2, Line 64: vlr_subscr_set_last_used_eutran_plmn_id(vsub, NULL); looking at the semantics and reading the related issue it seems that immediate removal is not necessarily the right thing to do. Are you sure the intended functionality from "last_used_eutran_plmn_id" is still intact? does some spec indicate conditions for removal? Maybe a timer or something? what is the rationale behind clearing upon LU via GERAN? are you sure to_null() is only called upon LU via GERAN? -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24832 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I0dcb1850ab4f6f7d42bfcb19665ddeae2d3b057a Gerrit-Change-Number: 24832 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-CC: neels Gerrit-Comment-Date: Mon, 05 Jul 2021 21:14: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 Jul 5 21:42:37 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 5 Jul 2021 21:42:37 +0000 Subject: Change in osmo-bsc[master]: handover_ctrl: add control interface for handover settings In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24600 ) Change subject: handover_ctrl: add control interface for handover settings ...................................................................... Patch Set 6: (4 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/24600/6/include/osmocom/bsc/handover_cfg.h File include/osmocom/bsc/handover_cfg.h: https://gerrit.osmocom.org/c/osmo-bsc/+/24600/6/include/osmocom/bsc/handover_cfg.h at 264 PS6, Line 264: "handover2 min-free-slots tch-h\0") \ you should not need to include '\0' because a terminating nul is present in every string constant https://gerrit.osmocom.org/c/osmo-bsc/+/24600/6/src/osmo-bsc/handover_ctrl.c File src/osmo-bsc/handover_ctrl.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24600/6/src/osmo-bsc/handover_ctrl.c at 32 PS6, Line 32: /* Verify a VTY command argument against its value specification, the value Here we could add: In handover_cfg.h the config items are described in VTY syntax. To be able to use those here in the CTRL interface, we parse the config arguments like the VTY would. https://gerrit.osmocom.org/c/osmo-bsc/+/24600/6/src/osmo-bsc/handover_ctrl.c at 73 PS6, Line 73: CTRL_CMD_DEFINE(NAME, CTRL_CMD VTY_CMD_PREFIX VTY_CMD); \ Hm, I don't understand how this works. so CTRL_CMD is mostly "", so the name becomes like "" "handover 2 " "power budget hysteresis" = "handover 2 power budget hysteresis" But how about "handover2 min-free-slots tch-f"? IIUC this should become "handover2 min-free-slots tch-f" "handover2 " "min-free-slots tch/f" = "handover2 min-free-slots tch-fhandover2 min-free-slots tch/f" https://gerrit.osmocom.org/c/osmo-bsc/+/24600/6/src/osmo-bsc/handover_ctrl.c at 114 PS6, Line 114: cmd->reply = talloc_asprintf(cmd, "%s", #DEFAULT_VAL); \ (we would usually also put { } around the else-scope) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24600 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I12f143906818fd6b16e8783157cbb1eb51e49ffc Gerrit-Change-Number: 24600 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 05 Jul 2021 21:42: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 Mon Jul 5 21:43:08 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 5 Jul 2021 21:43:08 +0000 Subject: Change in osmo-bsc[master]: handover_ctrl: add control interface for handover settings In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24600 ) Change subject: handover_ctrl: add control interface for handover settings ...................................................................... Patch Set 6: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24600/1/src/osmo-bsc/handover_ctrl.c File src/osmo-bsc/handover_ctrl.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24600/1/src/osmo-bsc/handover_ctrl.c at 33 PS1, Line 33: bool verify_vty_cmd_arg(void *ctx, const char *range, const char *value) > This is still holding VTY naming... yes, for a reason -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24600 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I12f143906818fd6b16e8783157cbb1eb51e49ffc Gerrit-Change-Number: 24600 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 05 Jul 2021 21:43:08 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: neels Comment-In-Reply-To: laforge Comment-In-Reply-To: pespin Comment-In-Reply-To: dexter Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 5 22:05:34 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 5 Jul 2021 22:05:34 +0000 Subject: Change in osmo-bsc[master]: assignment: special mixed desc/alloc conditions In-Reply-To: References: Message-ID: Hello Jenkins Builder, neels, laforge, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24646 to look at the new patch set (#5). Change subject: assignment: special mixed desc/alloc conditions ...................................................................... assignment: special mixed desc/alloc conditions There was a request to enable descending alloc in case a (averaged) rxlev condition AND a #used ts threshold was met. This is a hack that should not be merged. Change-Id: I4ef37874807ebd26a14616fa49498e6ab124b07b Related: SYS#5460 --- M include/osmocom/bsc/bts.h M include/osmocom/bsc/lchan_select.h M include/osmocom/bsc/meas_rep.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/handover_decision_2.c M src/osmo-bsc/lchan_select.c M src/osmo-bsc/meas_rep.c 9 files changed, 194 insertions(+), 30 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/46/24646/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24646 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4ef37874807ebd26a14616fa49498e6ab124b07b Gerrit-Change-Number: 24646 Gerrit-PatchSet: 5 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: dexter Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 5 22:13:52 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 5 Jul 2021 22:13:52 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: add support for wildcarded DLCX In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24823 ) Change subject: mgcp_protocol: add support for wildcarded DLCX ...................................................................... Patch Set 2: (2 comments) Could you give an example of such a wildcard DLCX command? Like, is it "DLCX rtpbridge/*"? and it removes all 1 at mgw, 2 at mgw, ... endpoints, each releasing two RTP conns? So does such a wildcarded DLCX clear out the entire MGW state? In practice we would then damage the use case of multiple programs using the same osmo-mgw. E.g. if one osmo-mgw is shared between MSC and BSC, a wildcard DLCX from the BSC would also clear the MSC's conns? Or imagine two BSCs are using the same osmo-mgw. If one crashes and restarts, the other also gets all calls dumped. For a while now I've been having the idea on my mind that osmo-mgw should have an inactivity timeout on endpoints. When we didn't see any RTP nor MGCP for a long long time (one hour?) then we discard the endpoint implicitly. That would not need a clean wipe from any client program. one hour: I'd pick a really long time for cases where a call is on hold / mute, or with local-call-local-switch, so that an endpoint can remain inactive for some time to support those use cases. As I'm writing I'm also getting another idea: we already support using distinct domain names from MGCP clients. For example, I often configure my osmo-msc to use "1 at msc" and the osmo-bsc to use "1 at bsc" domain names in endpoints. If each client of an osmo-mgw has a distinct name (say "@bsc1" and "@bsc2"), it could clear out all its own endpoints like "DLCX *@bsc2" and leave the others intact. ... Is there a redmine issue describing this? (add "Related:" to commit log?) ... code wise i'm confused about the role of 'endp' in this patch. Isn't 'endp' one single "123 at mgw" endpoint? Why does MGCP like "DLCX *@mgw" then go through an 'endp'? https://gerrit.osmocom.org/c/osmo-mgw/+/24823/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-mgw/+/24823/2//COMMIT_MSG at 9 PS2, Line 9: At the moment osmo-mgw does not support wildcarded DLCX requests that oh wow, i thought we were already using them https://gerrit.osmocom.org/c/osmo-mgw/+/24823/2/src/libosmo-mgcp/mgcp_protocol.c File src/libosmo-mgcp/mgcp_protocol.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24823/2/src/libosmo-mgcp/mgcp_protocol.c at 1341 PS2, Line 1341: trank trunk -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24823 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I0770cf46d93ab09efe9cafdd56d2e3f1132db189 Gerrit-Change-Number: 24823 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: neels Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 05 Jul 2021 22:13:52 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 5 22:25:32 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 5 Jul 2021 22:25:32 +0000 Subject: Change in osmo-mgw[master]: mgcp_ctrl: add functions to inspect trunk usage In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24822 ) Change subject: mgcp_ctrl: add functions to inspect trunk usage ...................................................................... Patch Set 1: (3 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/24822/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-mgw/+/24822/1//COMMIT_MSG at 10 PS1, Line 10: endpoints and of the number of endpoints not forgetting the number of endpoints https://gerrit.osmocom.org/c/osmo-mgw/+/24822/1//COMMIT_MSG at 11 PS1, Line 11: operators to monitor the MGW usage and also simplifies TTCN3 tests (monitoring: wouldn't that be via stats exporting?) https://gerrit.osmocom.org/c/osmo-mgw/+/24822/1/src/libosmo-mgcp/mgcp_ctrl.c File src/libosmo-mgcp/mgcp_ctrl.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24822/1/src/libosmo-mgcp/mgcp_ctrl.c at 48 PS1, Line 48: CTRL_CMD_DEFINE_RO(endpoint_count, "endpoint_count"); what's the dif between endpoint_usage and endpoint_count? -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24822 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib8b5a6e733f521828647742085cad8eccb3e715b Gerrit-Change-Number: 24822 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Mon, 05 Jul 2021 22:25: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 Jul 5 23:15:45 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 5 Jul 2021 23:15:45 +0000 Subject: Change in osmo-bsc[master]: hodec2: [2/2] implement automatic choice between FULL and SUBSET meas... In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24851 to look at the new patch set (#2). Change subject: hodec2: [2/2] implement automatic choice between FULL and SUBSET measurements ...................................................................... hodec2: [2/2] implement automatic choice between FULL and SUBSET measurements Add TDMA_MEAS_SET_AUTO to indicate automatic choice between FULL and SUBSET measurements depending on DTX. So far use only in hodec2. TDMA_MEAS_SET_AUTO looks at each individual measurement report's DTX flag and for each report chooses FULL if DTX is not used, or SUB if DTX is used. The default setting for 'handover2 tdma-measurement' is still 'subset'. To use the automatic choice, users need configure handover2 tdma-measurement auto Change-Id: I67dce55ccf892c8679272ee5dfedc25620f0f725 --- M include/osmocom/bsc/handover_cfg.h M include/osmocom/bsc/meas_rep.h M src/osmo-bsc/handover_decision_2.c M src/osmo-bsc/meas_rep.c M tests/bsc/Makefile.am M tests/handover_cfg.vty 6 files changed, 35 insertions(+), 22 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/51/24851/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24851 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I67dce55ccf892c8679272ee5dfedc25620f0f725 Gerrit-Change-Number: 24851 Gerrit-PatchSet: 2 Gerrit-Owner: neels 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 Jul 5 23:16:29 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 5 Jul 2021 23:16:29 +0000 Subject: Change in osmo-bsc[master]: hodec2: [2/2] implement automatic choice between FULL and SUBSET meas... In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24851 ) Change subject: hodec2: [2/2] implement automatic choice between FULL and SUBSET measurements ...................................................................... Patch Set 2: Code-Review+1 (re-add +1 from laforge after trivial rebase and commit log tweak) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24851 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I67dce55ccf892c8679272ee5dfedc25620f0f725 Gerrit-Change-Number: 24851 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Mon, 05 Jul 2021 23:16:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 5 23:22:49 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 5 Jul 2021 23:22:49 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: Allow rx LCHAN_EV_RLL_REL_IND in WAIT_BEFORE_RF_RELEASE In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24853 ) Change subject: lchan_fsm: Allow rx LCHAN_EV_RLL_REL_IND in WAIT_BEFORE_RF_RELEASE ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24853/1/src/osmo-bsc/lchan_fsm.c File src/osmo-bsc/lchan_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24853/1/src/osmo-bsc/lchan_fsm.c at 1603 PS1, Line 1603: | S(LCHAN_EV_RLL_REL_IND) /* allow late REL_IND of SAPI[0] */ (i guess rather "ignore" than "allow") -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24853 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie307872851490ae4d60c8117a5f4e2d8c2a414d6 Gerrit-Change-Number: 24853 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-Comment-Date: Mon, 05 Jul 2021 23:22: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 Jul 5 23:25:56 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 5 Jul 2021 23:25:56 +0000 Subject: Change in osmo-bsc[master]: hodec2: [1/2] implement automatic choice between FULL and SUBSET meas... In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24850 ) Change subject: hodec2: [1/2] implement automatic choice between FULL and SUBSET measurements ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24850 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I283e03126a6bc1f5f1b35f9801e841053edd2947 Gerrit-Change-Number: 24850 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 05 Jul 2021 23: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 Mon Jul 5 23:27:40 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 5 Jul 2021 23:27:40 +0000 Subject: Change in osmo-bsc[master]: hodec2: [2/2] implement automatic choice between FULL and SUBSET meas... In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24851 ) Change subject: hodec2: [2/2] implement automatic choice between FULL and SUBSET measurements ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24851 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I67dce55ccf892c8679272ee5dfedc25620f0f725 Gerrit-Change-Number: 24851 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Mon, 05 Jul 2021 23:27:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 5 23:38:00 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 5 Jul 2021 23:38:00 +0000 Subject: Change in osmo-bsc[master]: hodec1: use same automatic FULL/SUBSET choice as in hodec2 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24852 ) Change subject: hodec1: use same automatic FULL/SUBSET choice as in hodec2 ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24852 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iebe980254b8c4a53ef9e7d720e417dc67077eff7 Gerrit-Change-Number: 24852 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 05 Jul 2021 23:38:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 6 00:18:35 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 6 Jul 2021 00:18:35 +0000 Subject: Change in osmo-bsc[master]: hodec2: [2/2] implement automatic choice between FULL and SUBSET meas... In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24851 ) Change subject: hodec2: [2/2] implement automatic choice between FULL and SUBSET measurements ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24851/2/src/osmo-bsc/meas_rep.c File src/osmo-bsc/meas_rep.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24851/2/src/osmo-bsc/meas_rep.c at 120 PS2, Line 120: return map[field][dir][set]; I would implement this function in a different way: bool full = (set == TDMA_MEAS_SET_FULL); if (set == TDMA_MEAS_SET_AUTO) { const uint8_t mask = (dir == TDMA_MEAS_DIR_UL) ? MEAS_REP_F_UL_DTX : MEAS_REP_F_DL_DTX; full = (meas_rep->flags & mask) != mask; } #define MUX(dir, field) \ ((dir << 8) | field) switch(MUX(dir, field)) { case MUX(TDMA_MEAS_DIR_UL, TDMA_MEAS_FIELD_RXLEV): return full ? MEAS_REP_UL_RXLEV_FULL : MEAS_REP_UL_RXLEV_SUB; case MUX(TDMA_MEAS_DIR_DL, TDMA_MEAS_FIELD_RXLEV): return full ? MEAS_REP_DL_RXLEV_FULL : MEAS_REP_DL_RXLEV_SUB; case MUX(TDMA_MEAS_DIR_UL, TDMA_MEAS_FIELD_RXQUAL): return full ? MEAS_REP_UL_RXQUAL_FULL : MEAS_REP_UL_RXQUAL_SUB; case MUX(TDMA_MEAS_DIR_DL, TDMA_MEAS_FIELD_RXQUAL): return full ? MEAS_REP_DL_RXQUAL_FULL : MEAS_REP_DL_RXQUAL_SUB; default: ASSERT(0); } #undef MUX P.S. Does not mean that you have to refactor it, just suggesting a possible approach. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24851 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I67dce55ccf892c8679272ee5dfedc25620f0f725 Gerrit-Change-Number: 24851 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Tue, 06 Jul 2021 00:18:35 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 6 00:30:29 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 6 Jul 2021 00:30:29 +0000 Subject: Change in osmo-bsc[master]: hodec2: [1/2] implement automatic choice between FULL and SUBSET meas... In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, fixeria, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24850 to look at the new patch set (#3). Change subject: hodec2: [1/2] implement automatic choice between FULL and SUBSET measurements ...................................................................... hodec2: [1/2] implement automatic choice between FULL and SUBSET measurements Cosmetic preparation for enabling automatic choice between FULL and SUBSET measurements depending on DTX in handover decision 2. Change the internal API to pass separate enums for the choices {RXLEV, RXQUAL}, {UL, DL} and {FULL, SUB}. Change-Id: I283e03126a6bc1f5f1b35f9801e841053edd2947 --- M include/osmocom/bsc/meas_rep.h M src/osmo-bsc/handover_decision.c M src/osmo-bsc/handover_decision_2.c M src/osmo-bsc/meas_rep.c 4 files changed, 74 insertions(+), 26 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/50/24850/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24850 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I283e03126a6bc1f5f1b35f9801e841053edd2947 Gerrit-Change-Number: 24850 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter 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 Jul 6 00:30:29 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 6 Jul 2021 00:30:29 +0000 Subject: Change in osmo-bsc[master]: hodec2: [2/2] implement automatic choice between FULL and SUBSET meas... In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24851 to look at the new patch set (#3). Change subject: hodec2: [2/2] implement automatic choice between FULL and SUBSET measurements ...................................................................... hodec2: [2/2] implement automatic choice between FULL and SUBSET measurements Add TDMA_MEAS_SET_AUTO to indicate automatic choice between FULL and SUBSET measurements depending on DTX. So far use only in hodec2. TDMA_MEAS_SET_AUTO looks at each individual measurement report's DTX flag and for each report chooses FULL if DTX is not used, or SUB if DTX is used. The default setting for 'handover2 tdma-measurement' is still 'subset'. To use the automatic choice, users need configure handover2 tdma-measurement auto Change-Id: I67dce55ccf892c8679272ee5dfedc25620f0f725 --- M include/osmocom/bsc/handover_cfg.h M include/osmocom/bsc/meas_rep.h M src/osmo-bsc/handover_decision_2.c M src/osmo-bsc/meas_rep.c M tests/bsc/Makefile.am M tests/handover_cfg.vty 6 files changed, 33 insertions(+), 22 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/51/24851/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24851 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I67dce55ccf892c8679272ee5dfedc25620f0f725 Gerrit-Change-Number: 24851 Gerrit-PatchSet: 3 Gerrit-Owner: neels 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 Tue Jul 6 00:31:29 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 6 Jul 2021 00:31:29 +0000 Subject: Change in osmo-bsc[master]: hodec2: [1/2] implement automatic choice between FULL and SUBSET meas... In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24850 ) Change subject: hodec2: [1/2] implement automatic choice between FULL and SUBSET measurements ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24850/3/src/osmo-bsc/meas_rep.c File src/osmo-bsc/meas_rep.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24850/3/src/osmo-bsc/meas_rep.c at 107 PS3, Line 107: } how do you like this. worse error checking, but admittedly all input params are from a controlled environment. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24850 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I283e03126a6bc1f5f1b35f9801e841053edd2947 Gerrit-Change-Number: 24850 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 06 Jul 2021 00:31: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 Jul 6 01:29:47 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 6 Jul 2021 01:29:47 +0000 Subject: Change in osmo-pcu[master]: Indicate to the BTS whether DATA.req contains a dummy block References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24854 ) Change subject: Indicate to the BTS whether DATA.req contains a dummy block ...................................................................... Indicate to the BTS whether DATA.req contains a dummy block This will allow the BTS to decide whether transmission of a given DATA.req can be avoided on non-BCCH carriers for the purpose of energy saving. The idea is simple: if a PDCH timeslot has no Uplink nor Downlink TBFs allocated, then (most likely) nobody is listening to it. Add a new field 'flags' to DATA.req message, and use the first LSB bit to indicate that it contains a potentially ignorable RLC/MAC block. Given that INFO.ind is currently the longest possible message, we can easily add new fields to shorter messages like DATA.{ind,req}. Change-Id: I72c7f0f0853f2bda77c20e3ec1bcd0c7c815c750 Related: SYS#4919, OS#4772 --- M include/osmocom/pcu/pcuif_proto.h M src/gprs_rlcmac_sched.cpp M src/pcu_l1_if.cpp M src/pcu_l1_if.h 4 files changed, 32 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/54/24854/1 diff --git a/include/osmocom/pcu/pcuif_proto.h b/include/osmocom/pcu/pcuif_proto.h index 23b7a2c..caa52bb 100644 --- a/include/osmocom/pcu/pcuif_proto.h +++ b/include/osmocom/pcu/pcuif_proto.h @@ -70,6 +70,9 @@ char text[TXT_MAX_LEN]; /* Text to be transmitted to BTS */ } __attribute__ ((packed)); +/* Indicates that the PDU contains a dummy RLC/MAC block */ +#define PCU_IF_DATA_F_DUMMY (1 << 0) + struct gsm_pcu_if_data { uint8_t sapi; uint8_t len; @@ -83,6 +86,7 @@ uint16_t ber10k; /* !< \brief BER in units of 0.01% */ int16_t ta_offs_qbits; /* !< \brief Burst TA Offset in quarter bits */ int16_t lqual_cb; /* !< \brief Link quality in centiBel */ + uint8_t flags; /* !< \brief See PCU_IF_DATA_F_* above */ } __attribute__ ((packed)); /* data confirmation with direct tlli (instead of raw mac block with tlli) */ diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index 2adf1f3..c99c45b 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -421,6 +421,7 @@ bool tx_is_egprs = false; bool require_gprs_only; enum mcs_kind req_mcs_kind; /* Restrict CS/MCS if DL Data block is to be sent */ + uint8_t flags = 0x00; if (trx >= 8 || ts >= 8) return -EINVAL; @@ -495,6 +496,12 @@ else if ((msg = sched_dummy())) { /* increase counter */ gsmtap_cat = PCU_GSMTAP_C_DL_DUMMY; + + /* the BTS can potentially suspend transmission of this block */ + const unsigned num_tbfs = pdch->num_tbfs(GPRS_RLCMAC_DL_TBF) + + pdch->num_tbfs(GPRS_RLCMAC_UL_TBF); + if (num_tbfs == 0 && usf_tbf == NULL) + flags |= PCU_IF_DATA_F_DUMMY; } else { return -ENOMEM; } @@ -520,7 +527,7 @@ tap_n_acc(msg, bts, trx, ts, fn, gsmtap_cat); /* send PDTCH/PACCH to L1 */ - pcu_l1if_tx_pdtch(msg, bts, trx, ts, bts->trx[trx].arfcn, fn, block_nr); + pcu_l1if_tx_pdtch(msg, bts, trx, ts, bts->trx[trx].arfcn, fn, block_nr, flags); return 0; } diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 5aa8849..0432923 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -170,8 +170,7 @@ } static int pcu_tx_data_req(struct gprs_rlcmac_bts *bts, uint8_t trx, uint8_t ts, uint8_t sapi, - uint16_t arfcn, uint32_t fn, uint8_t block_nr, uint8_t *data, - uint8_t len) + uint16_t arfcn, uint32_t fn, uint8_t block_nr, uint8_t *data, uint8_t len, uint8_t flags) { struct msgb *msg; struct gsm_pcu_if *pcu_prim; @@ -196,12 +195,13 @@ data_req->block_nr = block_nr; memcpy(data_req->data, data, len); data_req->len = len; + data_req->flags = flags; return pcu_sock_send(msg); } void pcu_l1if_tx_pdtch(msgb *msg, struct gprs_rlcmac_bts *bts, uint8_t trx, uint8_t ts, uint16_t arfcn, - uint32_t fn, uint8_t block_nr) + uint32_t fn, uint8_t block_nr, uint8_t flags) { #ifdef ENABLE_DIRECT_PHY if (bts->trx[trx].fl1h) { @@ -212,14 +212,15 @@ } #endif pcu_tx_data_req(bts, trx, ts, PCU_IF_SAPI_PDTCH, arfcn, fn, block_nr, - msg->data, msg->len); + msg->data, msg->len, flags); msgb_free(msg); } void pcu_l1if_tx_ptcch(struct gprs_rlcmac_bts *bts, uint8_t trx, uint8_t ts, uint16_t arfcn, uint32_t fn, uint8_t block_nr, - uint8_t *data, size_t data_len) + uint8_t *data, size_t data_len, + uint8_t flags) { if (the_pcu->gsmtap_categ_mask & (1 << PCU_GSMTAP_C_DL_PTCCH)) gsmtap_send(the_pcu->gsmtap, arfcn, ts, GSMTAP_CHANNEL_PTCCH, 0, fn, 0, 0, data, data_len); @@ -229,7 +230,7 @@ return; } #endif - pcu_tx_data_req(bts, trx, ts, PCU_IF_SAPI_PTCCH, arfcn, fn, block_nr, data, data_len); + pcu_tx_data_req(bts, trx, ts, PCU_IF_SAPI_PTCCH, arfcn, fn, block_nr, data, data_len, flags); } void pcu_l1if_tx_agch(struct gprs_rlcmac_bts *bts, bitvec * block, int plen) @@ -243,7 +244,7 @@ if (the_pcu->gsmtap_categ_mask & (1 << PCU_GSMTAP_C_DL_AGCH)) gsmtap_send(the_pcu->gsmtap, 0, 0, GSMTAP_CHANNEL_AGCH, 0, 0, 0, 0, data, GSM_MACBLOCK_LEN); - pcu_tx_data_req(bts, 0, 0, PCU_IF_SAPI_AGCH, 0, 0, 0, data, GSM_MACBLOCK_LEN); + pcu_tx_data_req(bts, 0, 0, PCU_IF_SAPI_AGCH, 0, 0, 0, data, GSM_MACBLOCK_LEN, 0x00); } void pcu_l1if_tx_pch(struct gprs_rlcmac_bts *bts, bitvec * block, int plen, uint16_t pgroup) @@ -268,7 +269,7 @@ if (the_pcu->gsmtap_categ_mask & (1 << PCU_GSMTAP_C_DL_PCH)) gsmtap_send(the_pcu->gsmtap, 0, 0, GSMTAP_CHANNEL_PCH, 0, 0, 0, 0, data + 3, GSM_MACBLOCK_LEN); - pcu_tx_data_req(bts, 0, 0, PCU_IF_SAPI_PCH, 0, 0, 0, data, PAGING_GROUP_LEN + GSM_MACBLOCK_LEN); + pcu_tx_data_req(bts, 0, 0, PCU_IF_SAPI_PCH, 0, 0, 0, data, PAGING_GROUP_LEN + GSM_MACBLOCK_LEN, 0x00); } void pcu_rx_block_time(struct gprs_rlcmac_bts *bts, uint16_t arfcn, uint32_t fn, uint8_t ts_no) @@ -471,6 +472,7 @@ uint32_t fn, uint8_t block_nr) { struct gprs_rlcmac_pdch *pdch; + uint8_t flags = 0x00; /* Prevent buffer overflow */ if (trx >= ARRAY_SIZE(bts->trx) || ts >= 8) @@ -481,8 +483,14 @@ if (!pdch->m_is_enabled) return -EAGAIN; + /* determine if the BTS can suspend transmission of this block */ + const unsigned num_tbfs = pdch->num_tbfs(GPRS_RLCMAC_DL_TBF) + + pdch->num_tbfs(GPRS_RLCMAC_UL_TBF); + if (num_tbfs == 0) + flags |= PCU_IF_DATA_F_DUMMY; + pcu_l1if_tx_ptcch(bts, trx, ts, bts->trx[trx].arfcn, fn, block_nr, - pdch->ptcch_msg, GSM_MACBLOCK_LEN); + pdch->ptcch_msg, GSM_MACBLOCK_LEN, flags); return 0; } diff --git a/src/pcu_l1_if.h b/src/pcu_l1_if.h index 2a4f0ea..26e092e 100644 --- a/src/pcu_l1_if.h +++ b/src/pcu_l1_if.h @@ -145,11 +145,12 @@ #ifdef __cplusplus struct gprs_rlcmac_bts; void pcu_l1if_tx_pdtch(msgb *msg, struct gprs_rlcmac_bts *bts, uint8_t trx, uint8_t ts, - uint16_t arfcn, uint32_t fn, uint8_t block_nr); + uint16_t arfcn, uint32_t fn, uint8_t block_nr, uint8_t flags); void pcu_l1if_tx_ptcch(struct gprs_rlcmac_bts *bts, uint8_t trx, uint8_t ts, uint16_t arfcn, uint32_t fn, uint8_t block_nr, - uint8_t *data, size_t data_len); + uint8_t *data, size_t data_len, + uint8_t flags); void pcu_l1if_tx_agch(struct gprs_rlcmac_bts *bts, bitvec * block, int len); void pcu_l1if_tx_pch(struct gprs_rlcmac_bts *bts, bitvec * block, int plen, uint16_t pgroup); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24854 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I72c7f0f0853f2bda77c20e3ec1bcd0c7c815c750 Gerrit-Change-Number: 24854 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 Jul 6 01:33:43 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 6 Jul 2021 01:33:43 +0000 Subject: Change in osmo-pcu[master]: Indicate to the BTS whether DATA.req contains a dummy block In-Reply-To: References: Message-ID: fixeria has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-pcu/+/24854 ) Change subject: Indicate to the BTS whether DATA.req contains a dummy block ...................................................................... Indicate to the BTS whether DATA.req contains a dummy block This will allow the BTS to decide whether transmission of a given DATA.req can be avoided on non-BCCH carriers for the purpose of energy saving. The idea is simple: if a PDCH timeslot has no Uplink nor Downlink TBFs allocated, then (most likely) nobody is listening to it. Given that INFO.ind is currently the longest possible message, we can easily add new fields to shorter messages like DATA.{ind,req}. Add a new field 'flags' to DATA.req message, and use the first LSB bit to indicate that it contains a potentially ignorable RLC/MAC block. Older versions of OsmoBTS, which are not aware of this bit, will keep transmitting the RLC/MAC blocks regardless of its value. Older versions of OsmoPCU do pad messages with '00'O, so we're safe. Change-Id: I72c7f0f0853f2bda77c20e3ec1bcd0c7c815c750 Related: SYS#4919, OS#4772 --- M include/osmocom/pcu/pcuif_proto.h M src/gprs_rlcmac_sched.cpp M src/pcu_l1_if.cpp M src/pcu_l1_if.h 4 files changed, 32 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/54/24854/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24854 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I72c7f0f0853f2bda77c20e3ec1bcd0c7c815c750 Gerrit-Change-Number: 24854 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 Jul 6 03:57:59 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 6 Jul 2021 03:57:59 +0000 Subject: Change in osmo-bts[master]: Do not transmit dummy RLC/MAC blocks on non-BCCH carriers References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24855 ) Change subject: Do not transmit dummy RLC/MAC blocks on non-BCCH carriers ...................................................................... Do not transmit dummy RLC/MAC blocks on non-BCCH carriers Transmission of dummy RLC/MAC blocks over the Um-interface can be avoided on non-BCCH carriers for the purpose of energy saving. The idea is simple: if a PDCH timeslot has no Uplink nor Downlink TBFs allocated, then (most likely) nobody is listening to it. This is indicated by the PCU using the least significant bit of a new field 'flags' in PCUIF DATA.req messages. Change-Id: I2bf5271c4f1eaf5a975129f73091eb51cee50e57 Related: SYS#4919, OS#4772 --- M include/osmo-bts/pcuif_proto.h M src/common/pcu_sock.c 2 files changed, 9 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/55/24855/1 diff --git a/include/osmo-bts/pcuif_proto.h b/include/osmo-bts/pcuif_proto.h index 3e6f651..c3605ec 100644 --- a/include/osmo-bts/pcuif_proto.h +++ b/include/osmo-bts/pcuif_proto.h @@ -68,6 +68,9 @@ char text[TXT_MAX_LEN]; /* Text to be transmitted to BTS */ } __attribute__ ((packed)); +/* Indicates that the PDU contains a dummy RLC/MAC block */ +#define PCU_IF_DATA_F_DUMMY (1 << 0) + struct gsm_pcu_if_data { uint8_t sapi; uint8_t len; @@ -81,6 +84,7 @@ uint16_t ber10k; /* !< \brief BER in units of 0.01% */ int16_t ta_offs_qbits; /* !< \brief Burst TA Offset in quarter bits */ int16_t lqual_cb; /* !< \brief Link quality in centiBel */ + uint8_t flags; /* !< \brief See See PCU_IF_DATA_F_* above */ } __attribute__ ((packed)); /* data confirmation with direct tlli (instead of raw mac block with tlli) */ diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index 41a5ffc..32a572a 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -690,6 +690,11 @@ break; case PCU_IF_SAPI_PDTCH: case PCU_IF_SAPI_PTCCH: + /* Energy saving (OS#4772): do not transmit dummy RLC/MAC blocks on non-BCCH + * carriers if the PCU indicates that no TBFs are active at the moment. */ + if (data_req->flags & PCU_IF_DATA_F_DUMMY) + if (data_req->trx_nr > 0) + return 0; trx = gsm_bts_trx_num(bts, data_req->trx_nr); if (!trx) { LOGP(DPCU, LOGL_ERROR, "Received PCU data request with " -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24855 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I2bf5271c4f1eaf5a975129f73091eb51cee50e57 Gerrit-Change-Number: 24855 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 Jul 6 07:16:11 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 6 Jul 2021 07:16:11 +0000 Subject: Change in osmo-bsc[master]: Rename osmo dyn ts enums to contain SDCCH8 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24785 ) Change subject: Rename osmo dyn ts enums to contain SDCCH8 ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24785 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id5b89fe589a52ff88486435ac43809edb4b80f98 Gerrit-Change-Number: 24785 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 06 Jul 2021 07:16: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 Jul 6 07:16:15 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 6 Jul 2021 07:16:15 +0000 Subject: Change in osmo-bsc[master]: Rename osmo dyn ts enums to contain SDCCH8 In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24785 ) Change subject: Rename osmo dyn ts enums to contain SDCCH8 ...................................................................... Rename osmo dyn ts enums to contain SDCCH8 They will gain support to be activated as SDCCH/8 soon too. Related: OS#5309 Depends: libosmocore.git I56dcfe4d17899630b17f80145c3ced72f1e91e68 Change-Id: Id5b89fe589a52ff88486435ac43809edb4b80f98 --- M TODO-RELEASE M doc/manuals/chapters/bts.adoc M include/osmocom/bsc/bts.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_nm.c M src/osmo-bsc/abis_om2000.c M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/bts.c M src/osmo-bsc/bts_trx.c M src/osmo-bsc/chan_alloc.c M src/osmo-bsc/codec_pref.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/handover_decision_2.c M src/osmo-bsc/lchan_select.c M src/osmo-bsc/timeslot_fsm.c M tests/ctrl_test_runner.py M tests/handover/handover_test.c 18 files changed, 81 insertions(+), 76 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve daniel: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/TODO-RELEASE b/TODO-RELEASE index e64aebb..a9bf06c 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -12,3 +12,4 @@ libosmogsm >1.5.1 introduced struct needed gsm0808_old_bss_to_new_bss_info->last_eutran_plmn_id libosmo-mgcp-client >1.8.0 need osmo_mgcpc_ep_ci_get_remote_rtp_info() libosmovty >1.5.1 needs vty_read_config_filep() +libosmosgsm >1.5.1 needs GSM_PCHAN_OSMO_DYN diff --git a/doc/manuals/chapters/bts.adoc b/doc/manuals/chapters/bts.adoc index 1b33d73..acd2200 100644 --- a/doc/manuals/chapters/bts.adoc +++ b/doc/manuals/chapters/bts.adoc @@ -295,7 +295,7 @@ .Dynamic timeslot support by various BTS models [cols="50%,25%,25%"] |=== -| |`TCH/F_TCH/H_PDCH` |`TCH/F_PDCH` +| |`TCH/F_TCH/H_SDCCH8_PDCH` |`TCH/F_PDCH` |ip.access nanoBTS |- |supported |Ericsson RBS |supported |- |sysmoBTS using _osmo-bts-sysmo_ |supported |supported @@ -310,11 +310,11 @@ NOTE: Same as for dedicated PDCH timeslots, you need to enable GPRS and operate a PCU, SGSN and GGSN to provide the actual data service. -==== Osmocom Style Dynamic Timeslots (TCH/F_TCH/H_PDCH) +==== Osmocom Style Dynamic Timeslots (TCH/F_TCH/H_SDCCH8_PDCH) -Timeslots of the `TCH/F_TCH/H_PDCH` type dynamically switch between TCH/F, +Timeslots of the `TCH/F_TCH/H_SDCCH8_PDCH` type dynamically switch between TCH/F, TCH/H and PDCH, depending on the channel kind requested by the MSC. The RSL -messaging for `TCH/F_TCH/H_PDCH` timeslots is compatible with Ericsson RBS. +messaging for `TCH/F_TCH/H_SDCCH8_PDCH` timeslots is compatible with Ericsson RBS. BTS models supporting this timeslot kind are shown in <>. @@ -361,15 +361,15 @@ timeslot 1 phys_chan_config SDCCH8 timeslot 2 - phys_chan_config TCH/F_TCH/H_PDCH + phys_chan_config TCH/F_TCH/H_SDCCH8_PDCH timeslot 3 - phys_chan_config TCH/F_TCH/H_PDCH + phys_chan_config TCH/F_TCH/H_SDCCH8_PDCH timeslot 4 - phys_chan_config TCH/F_TCH/H_PDCH + phys_chan_config TCH/F_TCH/H_SDCCH8_PDCH timeslot 5 - phys_chan_config TCH/F_TCH/H_PDCH + phys_chan_config TCH/F_TCH/H_SDCCH8_PDCH timeslot 6 - phys_chan_config TCH/F_TCH/H_PDCH + phys_chan_config TCH/F_TCH/H_SDCCH8_PDCH timeslot 7 phys_chan_config PDCH ---- diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h index 65c3be5..2e88129 100644 --- a/include/osmocom/bsc/bts.h +++ b/include/osmocom/bsc/bts.h @@ -166,8 +166,8 @@ BTS_STAT_CHAN_CCCH_SDCCH4_CBCH_TOTAL, BTS_STAT_CHAN_SDCCH8_CBCH_USED, BTS_STAT_CHAN_SDCCH8_CBCH_TOTAL, - BTS_STAT_CHAN_TCH_F_TCH_H_PDCH_USED, - BTS_STAT_CHAN_TCH_F_TCH_H_PDCH_TOTAL, + BTS_STAT_CHAN_OSMO_DYN_USED, + BTS_STAT_CHAN_OSMO_DYN_TOTAL, BTS_STAT_T3122, BTS_STAT_RACH_BUSY, BTS_STAT_RACH_ACCESS, diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 31759cc..b07345d 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -796,7 +796,7 @@ * vty after OML activation. Gets written on vty 'write file'. */ enum gsm_phys_chan_config pchan_from_config; /* When the timeslot OML is established, pchan_from_config is copied here. This is the pchan - * currently in effect; for dynamic ts, this is the dyn kind (GSM_PCHAN_TCH_F_TCH_H_PDCH or + * currently in effect; for dynamic ts, this is the dyn kind (GSM_PCHAN_OSMO_DYN or * GSM_PCHAN_TCH_F_PDCH) and does not show the pchan type currently active. */ enum gsm_phys_chan_config pchan_on_init; /* This is the *actual* pchan type currently active. For dynamic timeslots, this reflects either @@ -1302,7 +1302,7 @@ /* control interface */ struct ctrl_handle *ctrl; - /* Allow or disallow TCH/F on dynamic TCH/F_TCH/H_PDCH; OS#1778 */ + /* Allow or disallow TCH/F on dynamic TCH/F_TCH/H_SDCCH8_PDCH; OS#1778 */ bool dyn_ts_allow_tch_f; /* all active subscriber connections. */ diff --git a/src/osmo-bsc/abis_nm.c b/src/osmo-bsc/abis_nm.c index c98d225..7c04394 100644 --- a/src/osmo-bsc/abis_nm.c +++ b/src/osmo-bsc/abis_nm.c @@ -1892,7 +1892,7 @@ switch (chan_comb) { case NM_CHANC_TCHHalf: case NM_CHANC_TCHHalf2: - case NM_CHANC_OSMO_TCHFull_TCHHalf_PDCH: + case NM_CHANC_OSMO_DYN: /* not supported */ *reason = "TCH/H is not supported."; return -EINVAL; @@ -1990,7 +1990,7 @@ case NM_CHANC_TCHHalf: case NM_CHANC_IPAC_TCHFull_TCHHalf: case NM_CHANC_IPAC_TCHFull_PDCH: - case NM_CHANC_OSMO_TCHFull_TCHHalf_PDCH: + case NM_CHANC_OSMO_DYN: return 0; default: *reason = "TS1 must carry a CBCH, SDCCH or TCH."; @@ -2022,7 +2022,7 @@ return 0; case NM_CHANC_IPAC_PDCH: case NM_CHANC_IPAC_TCHFull_PDCH: - case NM_CHANC_OSMO_TCHFull_TCHHalf_PDCH: + case NM_CHANC_OSMO_DYN: if (ts->trx->nr == 0) return 0; else { diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c index 61db437..8ee6371 100644 --- a/src/osmo-bsc/abis_om2000.c +++ b/src/osmo-bsc/abis_om2000.c @@ -1411,7 +1411,7 @@ case GSM_PCHAN_TCH_H: case GSM_PCHAN_PDCH: case GSM_PCHAN_TCH_F_PDCH: - case GSM_PCHAN_TCH_F_TCH_H_PDCH: + case GSM_PCHAN_OSMO_DYN: return 8; default: return 0; @@ -1423,7 +1423,7 @@ if (ts->pchan_on_init == GSM_PCHAN_TCH_F_PDCH) { LOGP(DNM, LOGL_ERROR, "%s pchan %s not intended for use with OM2000, use %s instead\n", gsm_ts_and_pchan_name(ts), gsm_pchan_name(GSM_PCHAN_TCH_F_PDCH), - gsm_pchan_name(GSM_PCHAN_TCH_F_TCH_H_PDCH)); + gsm_pchan_name(GSM_PCHAN_OSMO_DYN)); /* If we allowed initialization of TCH/F_PDCH, it would fail * when we try to send the ip.access specific RSL PDCH Act * message for it. Rather fail completely right now: */ diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 809cd9b..f0adc56 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1054,7 +1054,7 @@ static bool msg_for_osmocom_dyn_ts(struct msgb *msg) { struct abis_rsl_dchan_hdr *rslh = msgb_l2(msg); - if (msg->lchan->ts->pchan_on_init != GSM_PCHAN_TCH_F_TCH_H_PDCH) + if (msg->lchan->ts->pchan_on_init != GSM_PCHAN_OSMO_DYN) return false; /* dyn TS messages always come in on the first lchan of a timeslot */ if (msg->lchan->nr != 0) @@ -2676,7 +2676,7 @@ const char *act; switch (ts->pchan_on_init) { - case GSM_PCHAN_TCH_F_TCH_H_PDCH: + case GSM_PCHAN_OSMO_DYN: what = "Osmocom dyn TS"; act = activate? "PDCH Chan Activ" : "PDCH Chan RF Release"; diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index efa59d3..070b660 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -1484,7 +1484,7 @@ { /* show dyn TS details, if applicable */ switch (ts->pchan_on_init) { - case GSM_PCHAN_TCH_F_TCH_H_PDCH: + case GSM_PCHAN_OSMO_DYN: vty_out(vty, " Osmocom Dyn TS:"); vty_out_dyn_ts_status(vty, ts); vty_out(vty, VTY_NEWLINE); @@ -5648,7 +5648,7 @@ } /* used for backwards compatibility with old config files that still - * have uppercase pchan type names */ + * have uppercase pchan type names. Also match older names for existing types. */ DEFUN_HIDDEN(cfg_ts_pchan_compat, cfg_ts_pchan_compat_cmd, "phys_chan_config PCHAN", @@ -5659,8 +5659,12 @@ pchanc = gsm_pchan_parse(argv[0]); if (pchanc < 0) { - vty_out(vty, "Unknown physical channel name '%s'%s", argv[0], VTY_NEWLINE); - return CMD_ERR_NO_MATCH; + if (strcasecmp(argv[0], "tch/f_tch/h_pdch") == 0) { + pchanc = GSM_PCHAN_OSMO_DYN; + } else { + vty_out(vty, "Unknown physical channel name '%s'%s", argv[0], VTY_NEWLINE); + return CMD_ERR_NO_MATCH; + } } ts->pchan_from_config = pchanc; @@ -6155,9 +6159,9 @@ return CMD_WARNING; } - if (ts->pchan_on_init != GSM_PCHAN_TCH_F_TCH_H_PDCH + if (ts->pchan_on_init != GSM_PCHAN_OSMO_DYN && ts->pchan_on_init != GSM_PCHAN_TCH_F_PDCH) { - vty_out(vty, "%% Timeslot %u is not dynamic TCH/F_TCH/H_PDCH or TCH/F_PDCH%s", + vty_out(vty, "%% Timeslot %u is not dynamic TCH/F_TCH/H_SDCCH8_PDCH or TCH/F_PDCH%s", ts->nr, VTY_NEWLINE); return CMD_WARNING; } @@ -6217,10 +6221,10 @@ if (lchan_t < 0) { if (lchan->ts->pchan_on_init == GSM_PCHAN_TCH_F_PDCH && !strcmp(codec_str, "fr")) lchan_t = GSM_LCHAN_TCH_F; - else if (lchan->ts->pchan_on_init == GSM_PCHAN_TCH_F_TCH_H_PDCH && !strcmp(codec_str, "hr")) + else if (lchan->ts->pchan_on_init == GSM_PCHAN_OSMO_DYN && !strcmp(codec_str, "hr")) lchan_t = GSM_LCHAN_TCH_H; else if ((lchan->ts->pchan_on_init == GSM_PCHAN_TCH_F_PDCH - || lchan->ts->pchan_on_init == GSM_PCHAN_TCH_F_TCH_H_PDCH) + || lchan->ts->pchan_on_init == GSM_PCHAN_OSMO_DYN) && !strcmp(codec_str, "fr")) lchan_t = GSM_LCHAN_TCH_F; else { @@ -6323,7 +6327,7 @@ break; case GSM_PCHAN_TCH_F: case GSM_PCHAN_TCH_F_PDCH: - case GSM_PCHAN_TCH_F_TCH_H_PDCH: + case GSM_PCHAN_OSMO_DYN: codec_str = "fr"; break; case GSM_PCHAN_TCH_H: @@ -6336,9 +6340,9 @@ if (codec_str && skip_next == false) { lchan_act_single(vty, lchan, codec_str, -1, activate); - /* We use GSM_PCHAN_TCH_F_TCH_H_PDCH slots as TCH_F for this test, so we + /* We use GSM_PCHAN_OSMO_DYN slots as TCH_F for this test, so we * must not use the TCH_H reserved lchan in subslot 1. */ - if (ts->pchan_on_init == GSM_PCHAN_TCH_F_TCH_H_PDCH) + if (ts->pchan_on_init == GSM_PCHAN_OSMO_DYN) skip_next = true; } else { diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c index 8608767..cf3a6b8 100644 --- a/src/osmo-bsc/bts.c +++ b/src/osmo-bsc/bts.c @@ -1256,13 +1256,13 @@ { "chan_sdcch8_cbch:total", "Number of SDCCH8+CBCH channels total", "", 60, 0 }, - [BTS_STAT_CHAN_TCH_F_TCH_H_PDCH_USED] = \ - { "chan_tch_f_tch_h_pdch:used", - "Number of TCH/F_TCH/H_PDCH channels used", + [BTS_STAT_CHAN_OSMO_DYN_USED] = \ + { "chan_osmo_dyn:used", + "Number of TCH/F_TCH/H_SDCCH8_PDCH channels used", "", 60, 0 }, - [BTS_STAT_CHAN_TCH_F_TCH_H_PDCH_TOTAL] = \ - { "chan_tch_f_tch_h_pdch:total", - "Number of TCH/F_TCH/H_PDCH channels total", + [BTS_STAT_CHAN_OSMO_DYN_TOTAL] = \ + { "chan_osmo_dyn:total", + "Number of TCH/F_TCH/H_SDCCH8_PDCH channels total", "", 60, 0 }, [BTS_STAT_T3122] = \ { "T3122", diff --git a/src/osmo-bsc/bts_trx.c b/src/osmo-bsc/bts_trx.c index bef98c0..f183d4b 100644 --- a/src/osmo-bsc/bts_trx.c +++ b/src/osmo-bsc/bts_trx.c @@ -216,7 +216,7 @@ break; case ABIS_RSL_CHAN_NR_CBITS_OSMO_PDCH: lch_idx = 0; - ok = (ts->pchan_on_init == GSM_PCHAN_TCH_F_TCH_H_PDCH); + ok = (ts->pchan_on_init == GSM_PCHAN_OSMO_DYN); break; default: return NULL; @@ -296,7 +296,7 @@ count++; continue; - case GSM_PCHAN_TCH_F_TCH_H_PDCH: + case GSM_PCHAN_OSMO_DYN: if (pchan == GSM_PCHAN_TCH_F) count++; else if (pchan == GSM_PCHAN_TCH_H) diff --git a/src/osmo-bsc/chan_alloc.c b/src/osmo-bsc/chan_alloc.c index f2a41b7..fea4efd 100644 --- a/src/osmo-bsc/chan_alloc.c +++ b/src/osmo-bsc/chan_alloc.c @@ -59,10 +59,10 @@ if (!nm_is_running(&ts->mo.nm_state)) continue; - /* A dynamic timeslot currently in PDCH mode are available as TCH, beause they can be switched - * to TCH mode at any moment. Count TCH/F_TCH/H_PDCH as one total timeslot, even though it may + /* A dynamic timeslot currently in PDCH mode are available as TCH or SDCCH8, beause they can be switched + * to TCH or SDCCH mode at any moment. Count TCH/F_TCH/H_SDCCH8_PDCH as one total timeslot, even though it may * be switched to TCH/H and would then count as two -- hence opt for pessimistic load. */ - if ((ts->pchan_on_init == GSM_PCHAN_TCH_F_TCH_H_PDCH || + if ((ts->pchan_on_init == GSM_PCHAN_OSMO_DYN || ts->pchan_on_init == GSM_PCHAN_TCH_F_PDCH) && (ts->pchan_is == GSM_PCHAN_NONE || ts->pchan_is == GSM_PCHAN_PDCH)) { @@ -147,9 +147,9 @@ osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_SDCCH8_CBCH_USED), lc->used); osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_SDCCH8_CBCH_TOTAL), lc->total); break; - case GSM_PCHAN_TCH_F_TCH_H_PDCH: - osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_TCH_F_TCH_H_PDCH_USED), lc->used); - osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_TCH_F_TCH_H_PDCH_TOTAL), lc->total); + case GSM_PCHAN_OSMO_DYN: + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_OSMO_DYN_USED), lc->used); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_OSMO_DYN_TOTAL), lc->total); break; default: LOG_BTS(bts, DRLL, LOGL_NOTICE, "Unknown channel type %d\n", pchan); diff --git a/src/osmo-bsc/codec_pref.c b/src/osmo-bsc/codec_pref.c index 58a7867..9b4b37f 100644 --- a/src/osmo-bsc/codec_pref.c +++ b/src/osmo-bsc/codec_pref.c @@ -197,7 +197,7 @@ llist_for_each_entry(trx, &bts->trx_list, list) { for (i = 0; i < TRX_NR_TS; i++) { pchan = trx->ts[i].pchan_from_config; - if (pchan == GSM_PCHAN_TCH_F_TCH_H_PDCH) + if (pchan == GSM_PCHAN_OSMO_DYN) rate_match = true; else if (full_rate && pchan == GSM_PCHAN_TCH_F) rate_match = true; diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index 0d1395c..30590fb 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -191,7 +191,7 @@ { GSM_PCHAN_UNKNOWN, "UNKNOWN" }, { GSM_PCHAN_CCCH_SDCCH4_CBCH, "CCCH+SDCCH4+CBCH" }, { GSM_PCHAN_SDCCH8_SACCH8C_CBCH, "SDCCH8+CBCH" }, - { GSM_PCHAN_TCH_F_TCH_H_PDCH, "TCH/F_TCH/H_PDCH" }, + { GSM_PCHAN_OSMO_DYN, "TCH/F_TCH/H_SDCCH8_PDCH" }, { 0, NULL } }; @@ -207,7 +207,7 @@ { GSM_PCHAN_UNKNOWN, "UNKNOWN" }, { GSM_PCHAN_CCCH_SDCCH4_CBCH, "CCCH_SDCCH4_CBCH" }, { GSM_PCHAN_SDCCH8_SACCH8C_CBCH, "SDCCH8_CBCH" }, - { GSM_PCHAN_TCH_F_TCH_H_PDCH, "TCH_F_TCH_H_PDCH" }, + { GSM_PCHAN_OSMO_DYN, "OSMO_DYN" }, { 0, NULL } }; @@ -224,7 +224,7 @@ { GSM_PCHAN_UNKNOWN, "Unknown / Unsupported channel combination" }, { GSM_PCHAN_CCCH_SDCCH4_CBCH, "FCCH + SCH + BCCH + CCCH + CBCH + 3 SDCCH + 2 SACCH (Comb. V)" }, { GSM_PCHAN_SDCCH8_SACCH8C_CBCH, "7 SDCCH + 4 SACCH + CBCH (Comb. VII)" }, - { GSM_PCHAN_TCH_F_TCH_H_PDCH, "Dynamic TCH/F or TCH/H or GPRS PDCH" }, + { GSM_PCHAN_OSMO_DYN, "Dynamic TCH/F or TCH/H or SDCCH/8 or GPRS PDCH" }, { 0, NULL } }; @@ -604,7 +604,7 @@ [GSM_PCHAN_CCCH_SDCCH4_CBCH] = 4, [GSM_PCHAN_SDCCH8_SACCH8C_CBCH] = 8, /* Dyn TS: maximum allowed subslots */ - [GSM_PCHAN_TCH_F_TCH_H_PDCH] = 2, + [GSM_PCHAN_OSMO_DYN] = 2, [GSM_PCHAN_TCH_F_PDCH] = 1, }; @@ -628,7 +628,7 @@ [GSM_PCHAN_SDCCH8_SACCH8C] = 0, [GSM_PCHAN_CCCH_SDCCH4_CBCH] = 0, [GSM_PCHAN_SDCCH8_SACCH8C_CBCH] = 0, - [GSM_PCHAN_TCH_F_TCH_H_PDCH] = 2, + [GSM_PCHAN_OSMO_DYN] = 2, [GSM_PCHAN_TCH_F_PDCH] = 2, }; @@ -832,7 +832,7 @@ return false; } - case GSM_PCHAN_TCH_F_TCH_H_PDCH: + case GSM_PCHAN_OSMO_DYN: switch (pchan) { case GSM_PCHAN_TCH_F: case GSM_PCHAN_TCH_H: @@ -904,7 +904,7 @@ return false; } - case GSM_PCHAN_TCH_F_TCH_H_PDCH: + case GSM_PCHAN_OSMO_DYN: switch (type) { case GSM_LCHAN_TCH_F: case GSM_LCHAN_TCH_H: diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index 0966583..d778876 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -1005,7 +1005,7 @@ c->current.free_tch = c->current.free_tchf; c->current.min_free_tch = c->current.min_free_tchf; c->current.lchan_frees_tchf = 1; - if (c->current.lchan->ts->pchan_on_init == GSM_PCHAN_TCH_F_TCH_H_PDCH) + if (c->current.lchan->ts->pchan_on_init == GSM_PCHAN_OSMO_DYN) c->current.lchan_frees_tchh = 2; else c->current.lchan_frees_tchh = 0; @@ -1017,7 +1017,7 @@ /* Freeing one of two TCH/H does not free a dyn TS and would not free a TCH/F. It has to be the last * TCH/H of a dynamic timeslot that is freed to get a new TCH/F in the current cell from the handover. * Hence the ts_usage_count() condition. */ - if (c->current.lchan->ts->pchan_on_init == GSM_PCHAN_TCH_F_TCH_H_PDCH + if (c->current.lchan->ts->pchan_on_init == GSM_PCHAN_OSMO_DYN && ts_usage_count(c->current.lchan->ts) == 1) c->current.lchan_frees_tchf = 1; else @@ -1034,7 +1034,7 @@ /* Would the next TCH/F lchan occupy a dynamic timeslot that currently counts for free TCH/H timeslots? */ next_lchan = lchan_avail_by_type(c->target.bts, GSM_LCHAN_TCH_F, false); - if (next_lchan && next_lchan->ts->pchan_on_init == GSM_PCHAN_TCH_F_TCH_H_PDCH) + if (next_lchan && next_lchan->ts->pchan_on_init == GSM_PCHAN_OSMO_DYN) c->target.next_tchf_reduces_tchh = 2; else c->target.next_tchf_reduces_tchh = 0; @@ -1042,7 +1042,7 @@ /* Would the next TCH/H lchan occupy a dynamic timeslot that currently counts for free TCH/F timeslots? * Note that a dyn TS already in TCH/H mode (half occupied) would not reduce free TCH/F. */ next_lchan = lchan_avail_by_type(c->target.bts, GSM_LCHAN_TCH_H, false); - if (next_lchan && next_lchan->ts->pchan_on_init == GSM_PCHAN_TCH_F_TCH_H_PDCH + if (next_lchan && next_lchan->ts->pchan_on_init == GSM_PCHAN_OSMO_DYN && next_lchan->ts->pchan_is != GSM_PCHAN_TCH_H) c->target.next_tchh_reduces_tchf = 1; else @@ -1568,7 +1568,7 @@ static bool lchan_is_on_dynamic_ts(struct gsm_lchan *lchan) { - return lchan->ts->pchan_on_init == GSM_PCHAN_TCH_F_TCH_H_PDCH + return lchan->ts->pchan_on_init == GSM_PCHAN_OSMO_DYN || lchan->ts->pchan_on_init == GSM_PCHAN_TCH_F_PDCH; } diff --git a/src/osmo-bsc/lchan_select.c b/src/osmo-bsc/lchan_select.c index a1f6c82..5e9d800 100644 --- a/src/osmo-bsc/lchan_select.c +++ b/src/osmo-bsc/lchan_select.c @@ -70,7 +70,7 @@ if (!ts_is_usable(ts)) continue; /* The caller first selects what kind of TS to search in, e.g. looking for exact - * GSM_PCHAN_TCH_F, or maybe among dynamic GSM_PCHAN_TCH_F_TCH_H_PDCH... */ + * GSM_PCHAN_TCH_F, or maybe among dynamic GSM_PCHAN_OSMO_DYN... */ if (ts->pchan_on_init != pchan) { LOGPLCHANALLOC("%s is != %s\n", gsm_ts_and_pchan_name(ts), gsm_pchan_name(pchan)); @@ -227,7 +227,7 @@ /* Try fully dynamic TCH/F_TCH/H_PDCH as TCH/F... */ if (!lchan && bts->network->dyn_ts_allow_tch_f) lchan = _lc_dyn_find_bts(bts, - GSM_PCHAN_TCH_F_TCH_H_PDCH, + GSM_PCHAN_OSMO_DYN, GSM_PCHAN_TCH_F, log); break; case GSM_LCHAN_TCH_H: @@ -236,7 +236,7 @@ * TCH/F_TCH/H_PDCH */ if (!lchan) lchan = _lc_dyn_find_bts(bts, - GSM_PCHAN_TCH_F_TCH_H_PDCH, + GSM_PCHAN_OSMO_DYN, GSM_PCHAN_TCH_H, log); break; default: diff --git a/src/osmo-bsc/timeslot_fsm.c b/src/osmo-bsc/timeslot_fsm.c index b9c86df..2664245 100644 --- a/src/osmo-bsc/timeslot_fsm.c +++ b/src/osmo-bsc/timeslot_fsm.c @@ -85,7 +85,7 @@ return LCHAN_IS_READY_TO_GO; switch (ts->pchan_on_init) { - case GSM_PCHAN_TCH_F_TCH_H_PDCH: + case GSM_PCHAN_OSMO_DYN: if (lchan->type == GSM_LCHAN_TCH_H) return LCHAN_NEEDS_PCHAN_CHANGE; /* fall thru */ @@ -241,7 +241,7 @@ } switch (ts->pchan_on_init) { - case GSM_PCHAN_TCH_F_TCH_H_PDCH: + case GSM_PCHAN_OSMO_DYN: ts_set_pchan_is(ts, GSM_PCHAN_NONE); break; case GSM_PCHAN_TCH_F_PDCH: @@ -314,7 +314,7 @@ } switch (ts->pchan_on_init) { - case GSM_PCHAN_TCH_F_TCH_H_PDCH: + case GSM_PCHAN_OSMO_DYN: case GSM_PCHAN_TCH_F_PDCH: if (bts->gprs.mode == BTS_GPRS_NONE) { LOG_TS(ts, LOGL_DEBUG, "GPRS mode is 'none': not activating PDCH.\n"); @@ -451,7 +451,7 @@ /* Set pchan = PDCH status, but double check. */ switch (ts->pchan_on_init) { - case GSM_PCHAN_TCH_F_TCH_H_PDCH: + case GSM_PCHAN_OSMO_DYN: case GSM_PCHAN_TCH_F_PDCH: case GSM_PCHAN_PDCH: ts_set_pchan_is(ts, GSM_PCHAN_PDCH); @@ -526,7 +526,7 @@ case TS_EV_PDCH_DEACT_ACK: /* Remove pchan = PDCH status, but double check. */ switch (ts->pchan_on_init) { - case GSM_PCHAN_TCH_F_TCH_H_PDCH: + case GSM_PCHAN_OSMO_DYN: ts_set_pchan_is(ts, GSM_PCHAN_NONE); break; case GSM_PCHAN_TCH_F_PDCH: @@ -650,8 +650,8 @@ } /* Make sure dyn TS pchan_is is updated. For TCH/F_PDCH, there are only PDCH or TCH/F modes, but - * for Osmocom style TCH/F_TCH/H_PDCH the pchan_is == NONE until an lchan is activated. */ - if (ts->pchan_on_init == GSM_PCHAN_TCH_F_TCH_H_PDCH) + * for Osmocom style TCH/F_TCH/H_SDCCH8_PDCH the pchan_is == NONE until an lchan is activated. */ + if (ts->pchan_on_init == GSM_PCHAN_OSMO_DYN) ts_set_pchan_is(ts, gsm_pchan_by_lchan_type(activating_type)); ts_lchans_dispatch(ts, LCHAN_ST_WAIT_TS_READY, LCHAN_EV_TS_READY); } @@ -1019,7 +1019,7 @@ * waiting for PDCH DEACT (N)ACK */ if (target_pchan) { switch (ts->pchan_on_init) { - case GSM_PCHAN_TCH_F_TCH_H_PDCH: + case GSM_PCHAN_OSMO_DYN: if (target_pchan) *target_pchan = GSM_PCHAN_NONE; break; diff --git a/tests/ctrl_test_runner.py b/tests/ctrl_test_runner.py index 64f93fc..bd2cb10 100755 --- a/tests/ctrl_test_runner.py +++ b/tests/ctrl_test_runner.py @@ -234,7 +234,7 @@ self.assertEqual(r['value'], 'CCCH+SDCCH4,0,0 TCH/F,0,0 TCH/H,0,0 SDCCH8,0,0' + ' TCH/F_PDCH,0,0 CCCH+SDCCH4+CBCH,0,0' - + ' SDCCH8+CBCH,0,0 TCH/F_TCH/H_PDCH,0,0') + + ' SDCCH8+CBCH,0,0 TCH/F_TCH/H_SDCCH8_PDCH,0,0') def testBtsOmlConnectionState(self): """Check OML state. It will not be connected""" diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index bcf9019..2ff9f31 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -187,7 +187,7 @@ { enum gsm_phys_chan_config pchan; if (!strcmp(str, "dyn")) - return GSM_PCHAN_TCH_F_TCH_H_PDCH; + return GSM_PCHAN_OSMO_DYN; if (!strcmp(str, "c+s4")) return GSM_PCHAN_CCCH_SDCCH4; if (!strcmp(str, "-")) @@ -270,7 +270,7 @@ /* Unused dyn TS start out as used for PDCH */ switch (trx->ts[i].pchan_on_init) { - case GSM_PCHAN_TCH_F_TCH_H_PDCH: + case GSM_PCHAN_OSMO_DYN: case GSM_PCHAN_TCH_F_PDCH: ts_set_pchan_is(&trx->ts[i], GSM_PCHAN_PDCH); break; @@ -392,7 +392,7 @@ /* Fake osmo_mgcpc_ep_ci to indicate that the lchan is used for voice */ lchan->mgw_endpoint_ci_bts = (void*)1; - if (lchan->ts->pchan_on_init == GSM_PCHAN_TCH_F_TCH_H_PDCH) + if (lchan->ts->pchan_on_init == GSM_PCHAN_OSMO_DYN) ts_set_pchan_is(lchan->ts, full_rate ? GSM_PCHAN_TCH_F : GSM_PCHAN_TCH_H); if (lchan->ts->pchan_on_init == GSM_PCHAN_TCH_F_PDCH) { OSMO_ASSERT(full_rate); @@ -722,7 +722,7 @@ /* send dyn TS back to PDCH if unused */ switch (lchan->ts->pchan_on_init) { - case GSM_PCHAN_TCH_F_TCH_H_PDCH: + case GSM_PCHAN_OSMO_DYN: case GSM_PCHAN_TCH_F_PDCH: switch (lchan->ts->pchan_is) { case GSM_PCHAN_TCH_H: @@ -884,8 +884,8 @@ "Create N TRX in the new BTS\n" "TRX count\n" "Timeslot config\n" - "Timeslot types for 8 * trx-count, each being one of CCCH+SDCCH4|SDCCH8|TCH/F|TCH/H|TCH/F_TCH/H_PDCH|...;" - " shorthands: cs+4 = CCCH+SDCCH4; dyn = TCH/F_TCH/H_PDCH\n") + "Timeslot types for 8 * trx-count, each being one of CCCH+SDCCH4|SDCCH8|TCH/F|TCH/H|TCH/F_TCH/H_SDCCH8_PDCH|...;" + " shorthands: cs+4 = CCCH+SDCCH4; dyn = TCH/F_TCH/H_SDCCH8_PDCH\n") { int num_trx = atoi(argv[0]); VTY_ECHO(); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24785 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id5b89fe589a52ff88486435ac43809edb4b80f98 Gerrit-Change-Number: 24785 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 6 07:16:16 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 6 Jul 2021 07:16:16 +0000 Subject: Change in osmo-bsc[master]: Support SDCCH8 in osmo dyn ts In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24786 ) Change subject: Support SDCCH8 in osmo dyn ts ...................................................................... Support SDCCH8 in osmo dyn ts This feature signals support to configure Osmocom Dynamic Timeslot type as SDCCH8, on top of historically supported TCH/H and TCH/F. The idea is that when unneeded, the TS is configured as PDCH, and as soon as there's need for an SDCCH and there's none available, the TS is dynamically reconfigured to SDCCH8. Once all logical channels in the dynamic TS are released and hence becomes free, the BSC will reconfigure it to PDCH. Related: SYS#5309 Depends: libosmocore.git Change-Id Ifc0ca8916bd3e93e5a60a7dd7391d2588fdb5532 Change-Id: I29ac8b90168dba3ac309daeb0b6cfdbbcb8e9172 --- M src/osmo-bsc/gsm_data.c M src/osmo-bsc/lchan_select.c M src/osmo-bsc/timeslot_fsm.c 3 files changed, 12 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve neels: Looks good to me, approved daniel: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index 30590fb..7140ad7 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -792,6 +792,8 @@ return GSM_PCHAN_TCH_F; case GSM_LCHAN_TCH_H: return GSM_PCHAN_TCH_H; + case GSM_LCHAN_SDCCH: + return GSM_PCHAN_SDCCH8_SACCH8C; case GSM_LCHAN_NONE: case GSM_LCHAN_PDTCH: /* TODO: so far lchan->type is NONE in PDCH mode. PDTCH is only @@ -837,6 +839,7 @@ case GSM_PCHAN_TCH_F: case GSM_PCHAN_TCH_H: case GSM_PCHAN_PDCH: + case GSM_PCHAN_SDCCH8_SACCH8C: return true; default: return false; @@ -909,6 +912,7 @@ case GSM_LCHAN_TCH_F: case GSM_LCHAN_TCH_H: case GSM_LCHAN_PDTCH: + case GSM_LCHAN_SDCCH: return true; default: return false; diff --git a/src/osmo-bsc/lchan_select.c b/src/osmo-bsc/lchan_select.c index 5e9d800..efa2ff2 100644 --- a/src/osmo-bsc/lchan_select.c +++ b/src/osmo-bsc/lchan_select.c @@ -216,6 +216,12 @@ lchan = _lc_find_bts(bts, second, log); if (lchan == NULL) lchan = _lc_find_bts(bts, second_cbch, log); + /* No dedicated SDCCH available -- try fully dynamic + * TCH/F_TCH/H_SDCCH8_PDCH if BTS supports it: */ + if (lchan == NULL && osmo_bts_has_feature(&bts->features, BTS_FEAT_DYN_TS_SDCCH8)) + lchan = _lc_dyn_find_bts(bts, + GSM_PCHAN_OSMO_DYN, + GSM_PCHAN_SDCCH8_SACCH8C, log); break; case GSM_LCHAN_TCH_F: lchan = _lc_find_bts(bts, GSM_PCHAN_TCH_F, log); diff --git a/src/osmo-bsc/timeslot_fsm.c b/src/osmo-bsc/timeslot_fsm.c index 2664245..adca31d 100644 --- a/src/osmo-bsc/timeslot_fsm.c +++ b/src/osmo-bsc/timeslot_fsm.c @@ -86,6 +86,8 @@ switch (ts->pchan_on_init) { case GSM_PCHAN_OSMO_DYN: + if (lchan->type == GSM_LCHAN_SDCCH) + return LCHAN_NEEDS_PCHAN_CHANGE; if (lchan->type == GSM_LCHAN_TCH_H) return LCHAN_NEEDS_PCHAN_CHANGE; /* fall thru */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24786 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I29ac8b90168dba3ac309daeb0b6cfdbbcb8e9172 Gerrit-Change-Number: 24786 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 6 07:16:23 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 6 Jul 2021 07:16:23 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: Fix CommonId expectancies on subscr from A iface In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24831 ) Change subject: msc: Fix CommonId expectancies on subscr from A iface ...................................................................... msc: Fix CommonId expectancies on subscr from A iface When back on the A interface, the subscriber should no longer contain a Last Eutran PLMN Id related entry in the VLR, since the SGs association is no longer alive. Related: SYS#5337 Change-Id: I8c72eaa4d41b8523f483ac3a343b782d1ef7c937 --- M msc/MSC_Tests.ttcn 1 file changed, 5 insertions(+), 0 deletions(-) Approvals: fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 00fc4e9..0d95c61 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -4543,6 +4543,11 @@ private function f_sgsap_bssmap_screening() runs on BSC_ConnHdlr { var SmsParameters spars := valueof(t_SmsPars); + /* From now on, since we initiated LU from A-Interface, we expect no + * LastEutranPLMNId on Common Id, since the SGs interface should be gone + */ + g_pars.common_id_last_eutran_plmn := omit; + /* Perform a location update, the SGs association is expected to fall * back to NULL */ f_perform_lu(); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24831 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8c72eaa4d41b8523f483ac3a343b782d1ef7c937 Gerrit-Change-Number: 24831 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 Tue Jul 6 07:51:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 6 Jul 2021 07:51:08 +0000 Subject: Change in osmo-msc[master]: vlr_sgs: Drop recorded LastEutranPlmnId when UE no longer associated In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24832 ) Change subject: vlr_sgs: Drop recorded LastEutranPlmnId when UE no longer associated ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-msc/+/24832/2/src/libvlr/vlr_sgs_fsm.c File src/libvlr/vlr_sgs_fsm.c: https://gerrit.osmocom.org/c/osmo-msc/+/24832/2/src/libvlr/vlr_sgs_fsm.c at 64 PS2, Line 64: vlr_subscr_set_last_used_eutran_plmn_id(vsub, NULL); > looking at the semantics and reading the related issue it seems that immediate removal is not necess [?] I did run the existing TTCN3 tests and actually have to change them to validate that they work as expected when applying this patch. Some of those tests validate the case where a GERAN LU is done after having done stuff over SGs, to make sure later GERAN Lu erases correctly previous state. I think it makes sense to link the use of LastUsedEutranPLMN to the availability of the MS in the SGs interface. If the MS came from EUTRAN (eg CSFB), the MSC passes the info to the BSC in order to accomplish fast return. However, if the MSC did GERAN LU, the MSC should avoid sending it to avoid the MS doing fast return, since it didn't come from EUTRAN in first place, so it's a good rationale to let it stay in GERAN. The easiest and most elegant way is actually to simply drop the information when the MS stops being available on EUTRAN, as done here. I verified in general the required paths call this to_null() function to clean up the FSm and go to NULL state (MS not handled in EUTRAN), so we are fine here. -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24832 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I0dcb1850ab4f6f7d42bfcb19665ddeae2d3b057a Gerrit-Change-Number: 24832 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-CC: neels Gerrit-Comment-Date: Tue, 06 Jul 2021 07:51:08 +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 Tue Jul 6 07:54:31 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 6 Jul 2021 07:54:31 +0000 Subject: Change in osmo-bsc[master]: handover_ctrl: add control interface for handover settings In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24600 ) Change subject: handover_ctrl: add control interface for handover settings ...................................................................... Patch Set 6: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24600/6/include/osmocom/bsc/handover_cfg.h File include/osmocom/bsc/handover_cfg.h: https://gerrit.osmocom.org/c/osmo-bsc/+/24600/6/include/osmocom/bsc/handover_cfg.h at 264 PS6, Line 264: "handover2 min-free-slots tch-h\0") \ > you should not need to include '\0' because a terminating nul is present in every string constant I guess this is a typo and he meant '\n' -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24600 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I12f143906818fd6b16e8783157cbb1eb51e49ffc Gerrit-Change-Number: 24600 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 06 Jul 2021 07:54:31 +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 noreply at opensuse.org Tue Jul 6 08:50:26 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 06 Jul 2021 08:50:26 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <60e419639cf4c_3dca2b0a15cfa5f43802c1@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bsc/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/osmo-bsc failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bsc Last lines of build log: [ 184s] [406/437] installing po-debconf-1.0.21 [ 184s] Processing triggers for man-db (2.9.1-1) ... [ 185s] [407/437] installing texlive-latex-base-2019.20200218-1 [ 186s] Processing triggers for man-db (2.9.1-1) ... [ 186s] Processing triggers for tex-common (6.13) ... [ 186s] Running mktexlsr. This may take some time... done. [ 187s] Running updmap-sys. This may take some time... done. [ 187s] Running mktexlsr /var/lib/texmf ... done. [ 187s] Building format(s) --all. [ 197s] This may take some time... done. [ 197s] [408/437] installing mount-2.34-0.1ubuntu9 [ 197s] Processing triggers for man-db (2.9.1-1) ... [ 197s] [409/437] installing texlive-lang-greek-2019.20200218-1 [ 205s] Processing triggers for tex-common (6.13) ... [ 205s] Running mktexlsr. This may take some time... done. [ 205s] Running updmap-sys. This may take some time... done. [ 206s] Running mktexlsr /var/lib/texmf ... done. [ 206s] Building latex-based formats --byhyphen language.dat. [ 213s] This may take some time... done. [ 213s] Building e-tex based formats --byhyphen language.def. [ 216s] This may take some time... done. [ 216s] [410/437] installing libpangocairo-1.0-0-1.44.7-2ubuntu4 [29026s] qemu-kvm: terminating on signal 15 from pid 27773 () Job seems to be stuck here, killed. (after 28800 seconds of inactivity) [29026s] ### VM INTERACTION END ### [29026s] No buildstatus set, either the base system is broken (kernel/initrd/udev/glibc/bash/perl) [29026s] or the build host has a kernel or hardware problem... -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue Jul 6 09:02:27 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 6 Jul 2021 09:02:27 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: Allow rx LCHAN_EV_RLL_REL_IND in WAIT_RF_RELEASE_ACK In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24853 to look at the new patch set (#2). Change subject: lchan_fsm: Allow rx LCHAN_EV_RLL_REL_IND in WAIT_RF_RELEASE_ACK ...................................................................... lchan_fsm: Allow rx LCHAN_EV_RLL_REL_IND in WAIT_RF_RELEASE_ACK As seen in osmo-bsc log during heavy load scenario: <000f> abis_rsl.c:2171 lchan(12-2-6-TCH_H-0)[0x559b880d1f40]{WAIT_RF_RELEASE_ACK}: Event LCHAN_EV_RLL_REL_IND not permitted Related: SYS#5523 Change-Id: Ie307872851490ae4d60c8117a5f4e2d8c2a414d6 --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/53/24853/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24853 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie307872851490ae4d60c8117a5f4e2d8c2a414d6 Gerrit-Change-Number: 24853 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 6 09:03:48 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 6 Jul 2021 09:03:48 +0000 Subject: Change in libosmocore[master]: gprs_ns2: use gprs_ns2_free_bind() to clean up a bind References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24856 ) Change subject: gprs_ns2: use gprs_ns2_free_bind() to clean up a bind ...................................................................... gprs_ns2: use gprs_ns2_free_bind() to clean up a bind gprs_ns2_free_bind() takes care of all required steps to clean up a bind. The driver->free_bind() operation only cleans up the driver internal state but not NSVCs and other generic things. Change-Id: I0a2ad22905bcacb929b9b5f5b034af0da3081826 --- M src/gb/gprs_ns2_vty.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/56/24856/1 diff --git a/src/gb/gprs_ns2_vty.c b/src/gb/gprs_ns2_vty.c index 705b60e..2f540c2 100644 --- a/src/gb/gprs_ns2_vty.c +++ b/src/gb/gprs_ns2_vty.c @@ -423,7 +423,7 @@ vty_bind_free(vbind); bind = gprs_ns2_bind_by_name(vty_nsi, name); if (bind) - bind->driver->free_bind(bind); + gprs_ns2_free_bind(bind); return CMD_SUCCESS; } @@ -678,7 +678,7 @@ return CMD_ERR_NOTHING_TODO; OSMO_ASSERT(bind->ll == GPRS_NS2_LL_UDP); - bind->driver->free_bind(bind); + gprs_ns2_free_bind(bind); return CMD_SUCCESS; } @@ -939,7 +939,7 @@ return CMD_WARNING; } - bind->driver->free_bind(bind); + gprs_ns2_free_bind(bind); return CMD_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24856 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0a2ad22905bcacb929b9b5f5b034af0da3081826 Gerrit-Change-Number: 24856 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 6 09:20:54 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 6 Jul 2021 09:20:54 +0000 Subject: Change in libosmocore[master]: gprs_ns2: use gprs_ns2_free_bind() to clean up a bind 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/+/24856 to look at the new patch set (#2). Change subject: gprs_ns2: use gprs_ns2_free_bind() to clean up a bind ...................................................................... gprs_ns2: use gprs_ns2_free_bind() to clean up a bind gprs_ns2_free_bind() takes care of all required steps to clean up a bind. The driver->free_bind() operation only cleans up the driver internal state but not NSVCs and other generic things. Fixes a crash when free'ing a bind from the vty which has active NSVCs. Change-Id: I0a2ad22905bcacb929b9b5f5b034af0da3081826 --- M src/gb/gprs_ns2_vty.c M tests/gb/gprs_ns2_vty.vty 2 files changed, 7 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/56/24856/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24856 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0a2ad22905bcacb929b9b5f5b034af0da3081826 Gerrit-Change-Number: 24856 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 6 09:21:39 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 6 Jul 2021 09:21:39 +0000 Subject: Change in libosmocore[master]: gprs_ns2: use gprs_ns2_free_bind() to clean up a bind In-Reply-To: References: Message-ID: Hello Jenkins Builder, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/24856 to look at the new patch set (#3). Change subject: gprs_ns2: use gprs_ns2_free_bind() to clean up a bind ...................................................................... gprs_ns2: use gprs_ns2_free_bind() to clean up a bind gprs_ns2_free_bind() takes care of all required steps to clean up a bind. The driver->free_bind() operation only cleans up the driver internal state but not NSVCs and other generic things. Fixes a crash when free'ing a bind from the vty which has active NSVCs. Related: OS#5195 Change-Id: I0a2ad22905bcacb929b9b5f5b034af0da3081826 --- M src/gb/gprs_ns2_vty.c M tests/gb/gprs_ns2_vty.vty 2 files changed, 7 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/56/24856/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24856 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0a2ad22905bcacb929b9b5f5b034af0da3081826 Gerrit-Change-Number: 24856 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 6 09:23:19 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 6 Jul 2021 09:23:19 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: Allow rx LCHAN_EV_RLL_REL_IND in WAIT_RF_RELEASE_ACK In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24853 ) Change subject: lchan_fsm: Allow rx LCHAN_EV_RLL_REL_IND in WAIT_RF_RELEASE_ACK ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24853 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie307872851490ae4d60c8117a5f4e2d8c2a414d6 Gerrit-Change-Number: 24853 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-Comment-Date: Tue, 06 Jul 2021 09:23: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 Tue Jul 6 09:23:42 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 6 Jul 2021 09:23:42 +0000 Subject: Change in libosmocore[master]: gprs_ns2: use gprs_ns2_free_bind() to clean up a bind In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24856 ) Change subject: gprs_ns2: use gprs_ns2_free_bind() to clean up a bind ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24856 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0a2ad22905bcacb929b9b5f5b034af0da3081826 Gerrit-Change-Number: 24856 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 06 Jul 2021 09: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 Tue Jul 6 09:25:34 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 6 Jul 2021 09:25:34 +0000 Subject: Change in libosmocore[master]: gprs_ns2: use gprs_ns2_free_bind() to clean up a bind In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24856 ) Change subject: gprs_ns2: use gprs_ns2_free_bind() to clean up a bind ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24856 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0a2ad22905bcacb929b9b5f5b034af0da3081826 Gerrit-Change-Number: 24856 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 06 Jul 2021 09: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 Tue Jul 6 09:25:45 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 6 Jul 2021 09:25:45 +0000 Subject: Change in osmo-bsc[master]: handover_ctrl: add control interface for handover settings In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24600 ) Change subject: handover_ctrl: add control interface for handover settings ...................................................................... Patch Set 6: -Code-Review (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24600/6/include/osmocom/bsc/handover_cfg.h File include/osmocom/bsc/handover_cfg.h: https://gerrit.osmocom.org/c/osmo-bsc/+/24600/6/include/osmocom/bsc/handover_cfg.h at 73 PS6, Line 73: must end with a "\0", see neels' comment below, every string constant gets a \0 appended to it. We're not stating such a requirement anywhere, as all strings in C always terminate that way... otherwise you could never print them, use strlen() or the like. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24600 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I12f143906818fd6b16e8783157cbb1eb51e49ffc Gerrit-Change-Number: 24600 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 06 Jul 2021 09:25: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 Tue Jul 6 09:26:40 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 6 Jul 2021 09:26:40 +0000 Subject: Change in osmo-msc[master]: vlr_sgs: Drop recorded LastEutranPlmnId when UE no longer associated In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24832 ) Change subject: vlr_sgs: Drop recorded LastEutranPlmnId when UE no longer associated ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24832 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I0dcb1850ab4f6f7d42bfcb19665ddeae2d3b057a Gerrit-Change-Number: 24832 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-Comment-Date: Tue, 06 Jul 2021 09:26:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 6 09:27:34 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 6 Jul 2021 09:27:34 +0000 Subject: Change in osmo-msc[master]: vlr_sgs: Drop recorded LastEutranPlmnId when UE no longer associated In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24832 ) Change subject: vlr_sgs: Drop recorded LastEutranPlmnId when UE no longer associated ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24832 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I0dcb1850ab4f6f7d42bfcb19665ddeae2d3b057a Gerrit-Change-Number: 24832 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Tue, 06 Jul 2021 09:27: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 Jul 6 09:27:37 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 6 Jul 2021 09:27:37 +0000 Subject: Change in osmo-msc[master]: vlr_sgs: Drop recorded LastEutranPlmnId when UE no longer associated In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24832 ) Change subject: vlr_sgs: Drop recorded LastEutranPlmnId when UE no longer associated ...................................................................... vlr_sgs: Drop recorded LastEutranPlmnId when UE no longer associated Change-Id: I0dcb1850ab4f6f7d42bfcb19665ddeae2d3b057a --- M src/libvlr/vlr_sgs_fsm.c M tests/msc_vlr/msc_vlr_test_authen_reuse.err M tests/msc_vlr/msc_vlr_test_call.err M tests/msc_vlr/msc_vlr_test_gsm_authen.err M tests/msc_vlr/msc_vlr_test_gsm_ciph.err M tests/msc_vlr/msc_vlr_test_hlr_reject.err M tests/msc_vlr/msc_vlr_test_hlr_timeout.err M tests/msc_vlr/msc_vlr_test_ms_timeout.err M tests/msc_vlr/msc_vlr_test_no_authen.err M tests/msc_vlr/msc_vlr_test_reject_concurrency.err M tests/msc_vlr/msc_vlr_test_rest.err M tests/msc_vlr/msc_vlr_test_ss.err M tests/msc_vlr/msc_vlr_test_umts_authen.err 13 files changed, 123 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/libvlr/vlr_sgs_fsm.c b/src/libvlr/vlr_sgs_fsm.c index 0f21617..af26ca4 100644 --- a/src/libvlr/vlr_sgs_fsm.c +++ b/src/libvlr/vlr_sgs_fsm.c @@ -59,6 +59,10 @@ * put us to NULL state, we have to free the pending TMSI */ vsub->tmsi_new = GSM_RESERVED_TMSI; + /* Make sure we remove recorded Last EUTRAN PLMN Id when UE ceases to be + * available over SGs */ + vlr_subscr_set_last_used_eutran_plmn_id(vsub, NULL); + /* Make sure any ongoing paging is aborted. */ if (vsub->cs.is_paging) paging_expired(vsub); diff --git a/tests/msc_vlr/msc_vlr_test_authen_reuse.err b/tests/msc_vlr/msc_vlr_test_authen_reuse.err index 43237cf..c2049d9 100644 --- a/tests/msc_vlr/msc_vlr_test_authen_reuse.err +++ b/tests/msc_vlr/msc_vlr_test_authen_reuse.err @@ -27,6 +27,7 @@ DMSC msc_a(IMSI-901700000010650:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000010650:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000010650 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -467,6 +468,7 @@ DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + active-conn: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn,vlr_subscr_cancel_attach_fsm) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - attached: now used by 2 (gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - gsm48_rx_mm_imsi_detach_ind: now used by 1 (active-conn) DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:NONE){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_CN_CLOSE @@ -534,6 +536,7 @@ DMSC msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000010650 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -996,6 +999,7 @@ DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + active-conn: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn,vlr_subscr_cancel_attach_fsm) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - attached: now used by 2 (gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - gsm48_rx_mm_imsi_detach_ind: now used by 1 (active-conn) DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:NONE){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_CN_CLOSE @@ -1063,6 +1067,7 @@ DMSC msc_a(IMSI-901700000010650:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000010650:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000010650 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -1609,6 +1614,7 @@ DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + active-conn: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn,vlr_subscr_cancel_attach_fsm) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - attached: now used by 2 (gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - gsm48_rx_mm_imsi_detach_ind: now used by 1 (active-conn) DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:NONE){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_CN_CLOSE @@ -1676,6 +1682,7 @@ DMSC msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000010650 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -2250,6 +2257,7 @@ DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + active-conn: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn,vlr_subscr_cancel_attach_fsm) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - attached: now used by 2 (gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - gsm48_rx_mm_imsi_detach_ind: now used by 1 (active-conn) DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:NONE){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_CN_CLOSE @@ -2317,6 +2325,7 @@ DMSC msc_a(IMSI-901700000010650:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000010650:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000010650 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -2639,6 +2648,7 @@ DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + active-conn: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn,vlr_subscr_cancel_attach_fsm) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - attached: now used by 2 (gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - gsm48_rx_mm_imsi_detach_ind: now used by 1 (active-conn) DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:NONE){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_CN_CLOSE @@ -2706,6 +2716,7 @@ DMSC msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000010650 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -3044,6 +3055,7 @@ DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + active-conn: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn,vlr_subscr_cancel_attach_fsm) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - attached: now used by 2 (gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - gsm48_rx_mm_imsi_detach_ind: now used by 1 (active-conn) DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:NONE){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_CN_CLOSE diff --git a/tests/msc_vlr/msc_vlr_test_call.err b/tests/msc_vlr/msc_vlr_test_call.err index e8e3880..35d0c98 100644 --- a/tests/msc_vlr/msc_vlr_test_call.err +++ b/tests/msc_vlr/msc_vlr_test_call.err @@ -28,6 +28,7 @@ DMSC msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000010650 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -499,6 +500,7 @@ DMSC msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000010650 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -967,6 +969,7 @@ DMSC msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000010650 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -1389,6 +1392,7 @@ DMSC msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000010650 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -1814,6 +1818,7 @@ DMSC msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000010650 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH diff --git a/tests/msc_vlr/msc_vlr_test_gsm_authen.err b/tests/msc_vlr/msc_vlr_test_gsm_authen.err index f27d826..042bfca 100644 --- a/tests/msc_vlr/msc_vlr_test_gsm_authen.err +++ b/tests/msc_vlr/msc_vlr_test_gsm_authen.err @@ -27,6 +27,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -547,6 +548,7 @@ DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + active-conn: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn,vlr_subscr_cancel_attach_fsm) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - attached: now used by 2 (gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - gsm48_rx_mm_imsi_detach_ind: now used by 1 (active-conn) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:NONE){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_CN_CLOSE @@ -614,6 +616,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -1189,6 +1192,7 @@ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 - _lu_fsm_associate_vsub: now used by 2 (attached,active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -1375,6 +1379,7 @@ DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x07060504 + active-conn: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x07060504 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn,vlr_subscr_cancel_attach_fsm) DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x07060504 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x07060504 - attached: now used by 2 (gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x07060504 - gsm48_rx_mm_imsi_detach_ind: now used by 1 (active-conn) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x07060504:GERAN-A:NONE){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_CN_CLOSE @@ -1442,6 +1447,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -1686,6 +1692,7 @@ DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + active-conn: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn,vlr_subscr_cancel_attach_fsm) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - attached: now used by 2 (gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - gsm48_rx_mm_imsi_detach_ind: now used by 1 (active-conn) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:NONE){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_CN_CLOSE @@ -1753,6 +1760,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -2017,6 +2025,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -2282,6 +2291,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -2567,6 +2577,7 @@ DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 + active-conn: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn,vlr_subscr_cancel_attach_fsm) DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 - attached: now used by 2 (gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 - gsm48_rx_mm_imsi_detach_ind: now used by 1 (active-conn) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:NONE){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_CN_CLOSE @@ -2634,6 +2645,7 @@ DMSC msc_a(IMSI-901700000010650:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000010650:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000010650 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -3128,6 +3140,7 @@ DREF VLR subscr IMSI-901700000010650:MSISDN-42342 + active-conn: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000010650:MSISDN-42342 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn,vlr_subscr_cancel_attach_fsm) DREF VLR subscr IMSI-901700000010650:MSISDN-42342 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DREF VLR subscr IMSI-901700000010650:MSISDN-42342 - attached: now used by 2 (gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000010650:MSISDN-42342 - gsm48_rx_mm_imsi_detach_ind: now used by 1 (active-conn) DMSC msc_a(IMSI-901700000010650:MSISDN-42342:GERAN-A:NONE){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_CN_CLOSE @@ -3196,6 +3209,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH diff --git a/tests/msc_vlr/msc_vlr_test_gsm_ciph.err b/tests/msc_vlr/msc_vlr_test_gsm_ciph.err index e55c14c..061955e 100644 --- a/tests/msc_vlr/msc_vlr_test_gsm_ciph.err +++ b/tests/msc_vlr/msc_vlr_test_gsm_ciph.err @@ -27,6 +27,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -615,6 +616,7 @@ DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + active-conn: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn,vlr_subscr_cancel_attach_fsm) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - attached: now used by 2 (gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - gsm48_rx_mm_imsi_detach_ind: now used by 1 (active-conn) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:NONE){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_CN_CLOSE @@ -682,6 +684,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -1318,6 +1321,7 @@ DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 + active-conn: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn,vlr_subscr_cancel_attach_fsm) DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 - attached: now used by 2 (gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 - gsm48_rx_mm_imsi_detach_ind: now used by 1 (active-conn) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:NONE){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_CN_CLOSE @@ -1385,6 +1389,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -1636,6 +1641,7 @@ DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + active-conn: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn,vlr_subscr_cancel_attach_fsm) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - attached: now used by 2 (gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - gsm48_rx_mm_imsi_detach_ind: now used by 1 (active-conn) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:NONE){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_CN_CLOSE @@ -1703,6 +1709,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -1919,6 +1926,7 @@ DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + active-conn: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn,vlr_subscr_cancel_attach_fsm) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - attached: now used by 2 (gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - gsm48_rx_mm_imsi_detach_ind: now used by 1 (active-conn) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:NONE){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_CN_CLOSE @@ -1986,6 +1994,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -2278,6 +2287,7 @@ DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 + active-conn: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn,vlr_subscr_cancel_attach_fsm) DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 - attached: now used by 2 (gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 - gsm48_rx_mm_imsi_detach_ind: now used by 1 (active-conn) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:NONE){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_CN_CLOSE @@ -2345,6 +2355,7 @@ DMSC msc_a(IMSI-901700000010650:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000010650:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000010650 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -2878,6 +2889,7 @@ DREF VLR subscr IMSI-901700000010650:MSISDN-42342 + active-conn: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000010650:MSISDN-42342 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn,vlr_subscr_cancel_attach_fsm) DREF VLR subscr IMSI-901700000010650:MSISDN-42342 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DREF VLR subscr IMSI-901700000010650:MSISDN-42342 - attached: now used by 2 (gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000010650:MSISDN-42342 - gsm48_rx_mm_imsi_detach_ind: now used by 1 (active-conn) DMSC msc_a(IMSI-901700000010650:MSISDN-42342:GERAN-A:NONE){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_CN_CLOSE @@ -2945,6 +2957,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -3525,6 +3538,7 @@ DREF VLR subscr IMSI-901700000004620:MSISDN-42342 + active-conn: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000004620:MSISDN-42342 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn,vlr_subscr_cancel_attach_fsm) DREF VLR subscr IMSI-901700000004620:MSISDN-42342 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DREF VLR subscr IMSI-901700000004620:MSISDN-42342 - attached: now used by 2 (gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000004620:MSISDN-42342 - gsm48_rx_mm_imsi_detach_ind: now used by 1 (active-conn) DMSC msc_a(IMSI-901700000004620:MSISDN-42342:GERAN-A:NONE){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_CN_CLOSE @@ -3592,6 +3606,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -4150,6 +4165,7 @@ DREF VLR subscr IMSI-901700000004620:MSISDN-42342 + active-conn: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000004620:MSISDN-42342 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn,vlr_subscr_cancel_attach_fsm) DREF VLR subscr IMSI-901700000004620:MSISDN-42342 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DREF VLR subscr IMSI-901700000004620:MSISDN-42342 - attached: now used by 2 (gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000004620:MSISDN-42342 - gsm48_rx_mm_imsi_detach_ind: now used by 1 (active-conn) DMSC msc_a(IMSI-901700000004620:MSISDN-42342:GERAN-A:NONE){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_CN_CLOSE diff --git a/tests/msc_vlr/msc_vlr_test_hlr_reject.err b/tests/msc_vlr/msc_vlr_test_hlr_reject.err index 40b26d2..b0b9bb0 100644 --- a/tests/msc_vlr/msc_vlr_test_hlr_reject.err +++ b/tests/msc_vlr/msc_vlr_test_hlr_reject.err @@ -27,6 +27,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -125,6 +126,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -226,6 +228,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -390,6 +393,7 @@ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - _lu_fsm_associate_vsub: now used by 2 (attached,active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -553,6 +557,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -717,6 +722,7 @@ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - _lu_fsm_associate_vsub: now used by 2 (attached,active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -818,6 +824,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -983,6 +990,7 @@ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - _lu_fsm_associate_vsub: now used by 2 (attached,active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -1081,6 +1089,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -1178,6 +1187,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() @@ -1280,6 +1290,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() diff --git a/tests/msc_vlr/msc_vlr_test_hlr_timeout.err b/tests/msc_vlr/msc_vlr_test_hlr_timeout.err index 0821a71..1587322 100644 --- a/tests/msc_vlr/msc_vlr_test_hlr_timeout.err +++ b/tests/msc_vlr/msc_vlr_test_hlr_timeout.err @@ -28,6 +28,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -135,6 +136,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() diff --git a/tests/msc_vlr/msc_vlr_test_ms_timeout.err b/tests/msc_vlr/msc_vlr_test_ms_timeout.err index 0663f9d..0988162 100644 --- a/tests/msc_vlr/msc_vlr_test_ms_timeout.err +++ b/tests/msc_vlr/msc_vlr_test_ms_timeout.err @@ -28,6 +28,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -154,6 +155,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -426,6 +428,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() @@ -665,6 +668,7 @@ DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - Paging: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn,vlr_subscr_cancel_attach_fsm) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - attached: now used by 2 (gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - gsm48_rx_mm_imsi_detach_ind: now used by 1 (active-conn) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:NONE){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_CN_CLOSE @@ -733,6 +737,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH diff --git a/tests/msc_vlr/msc_vlr_test_no_authen.err b/tests/msc_vlr/msc_vlr_test_no_authen.err index 755f463..6a83209 100644 --- a/tests/msc_vlr/msc_vlr_test_no_authen.err +++ b/tests/msc_vlr/msc_vlr_test_no_authen.err @@ -27,6 +27,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() @@ -414,6 +415,7 @@ DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + active-conn: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn,vlr_subscr_cancel_attach_fsm) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - attached: now used by 2 (gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - gsm48_rx_mm_imsi_detach_ind: now used by 1 (active-conn) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:NONE){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_CN_CLOSE @@ -481,6 +483,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() @@ -923,6 +926,7 @@ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 - _lu_fsm_associate_vsub: now used by 2 (attached,active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() @@ -1102,6 +1106,7 @@ DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x07060504 + active-conn: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x07060504 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn,vlr_subscr_cancel_attach_fsm) DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x07060504 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x07060504 - attached: now used by 2 (gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x07060504 - gsm48_rx_mm_imsi_detach_ind: now used by 1 (active-conn) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x07060504:GERAN-A:NONE){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_CN_CLOSE @@ -1169,6 +1174,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() @@ -1352,6 +1358,7 @@ DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + active-conn: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn,vlr_subscr_cancel_attach_fsm) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - attached: now used by 2 (gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - gsm48_rx_mm_imsi_detach_ind: now used by 1 (active-conn) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:NONE){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_CN_CLOSE @@ -1419,6 +1426,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() @@ -1637,6 +1645,7 @@ DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 + active-conn: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn,vlr_subscr_cancel_attach_fsm) DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 - attached: now used by 2 (gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 - gsm48_rx_mm_imsi_detach_ind: now used by 1 (active-conn) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:NONE){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_CN_CLOSE @@ -1704,6 +1713,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DBSSAP msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_ID_REQ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_ID_REQ: 051803 @@ -1857,6 +1867,7 @@ DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + active-conn: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn,vlr_subscr_cancel_attach_fsm) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - attached: now used by 2 (gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - gsm48_rx_mm_imsi_detach_ind: now used by 1 (active-conn) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:NONE){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_CN_CLOSE @@ -1924,6 +1935,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DBSSAP msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_ID_REQ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_ID_REQ: 051803 @@ -2088,6 +2100,7 @@ DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + active-conn: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn,vlr_subscr_cancel_attach_fsm) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - attached: now used by 2 (gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - gsm48_rx_mm_imsi_detach_ind: now used by 1 (active-conn) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:NONE){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_CN_CLOSE @@ -2155,6 +2168,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DBSSAP msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_ID_REQ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_ID_REQ: 051803 @@ -2356,6 +2370,7 @@ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 - _lu_fsm_associate_vsub: now used by 2 (attached,active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_ID_REQ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_ID_REQ: 051803 @@ -2555,6 +2570,7 @@ DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x07060504 + active-conn: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x07060504 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn,vlr_subscr_cancel_attach_fsm) DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x07060504 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x07060504 - attached: now used by 2 (gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x07060504 - gsm48_rx_mm_imsi_detach_ind: now used by 1 (active-conn) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x07060504:GERAN-A:NONE){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_CN_CLOSE @@ -2622,6 +2638,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DBSSAP msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_ID_REQ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on GERAN-A - DTAP --GERAN-A--> MS: GSM48_MT_MM_ID_REQ: 051803 @@ -2823,6 +2840,7 @@ DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 + active-conn: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn,vlr_subscr_cancel_attach_fsm) DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 - attached: now used by 2 (gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100 - gsm48_rx_mm_imsi_detach_ind: now used by 1 (active-conn) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:TMSI-0x03020100:GERAN-A:NONE){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_CN_CLOSE @@ -2892,6 +2910,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() @@ -2991,6 +3010,7 @@ DVLR IMSI-901700000004620:MSISDN-46071: Location Update expired DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_subscr_cancel_attach_fsm: now used by 2 (attached,vlr_subscr_cancel_attach_fsm) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 1 (attached) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - attached: now used by 0 (-) DVLR freeing VLR subscr IMSI-901700000004620:MSISDN-46071 (max total use count was 5) llist_count(&msub_list) == 0 diff --git a/tests/msc_vlr/msc_vlr_test_reject_concurrency.err b/tests/msc_vlr/msc_vlr_test_reject_concurrency.err index b211fbf..4d32255 100644 --- a/tests/msc_vlr/msc_vlr_test_reject_concurrency.err +++ b/tests/msc_vlr/msc_vlr_test_reject_concurrency.err @@ -27,6 +27,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() @@ -216,6 +217,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() @@ -356,6 +358,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() @@ -501,6 +504,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() @@ -643,6 +647,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() @@ -805,6 +810,7 @@ DMM IMSI DETACH for IMSI-901700000004620:MSISDN-46071 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,active-conn,gsm48_rx_mm_imsi_detach_ind,vlr_subscr_cancel_attach_fsm) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,active-conn,gsm48_rx_mm_imsi_detach_ind) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - attached: now used by 2 (active-conn,gsm48_rx_mm_imsi_detach_ind) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - gsm48_rx_mm_imsi_detach_ind: now used by 1 (active-conn) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: Received Event MSC_A_EV_CN_CLOSE @@ -880,6 +886,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() @@ -1047,6 +1054,7 @@ DMM IMSI DETACH for IMSI-901700000004620:MSISDN-46071 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,active-conn,gsm48_rx_mm_imsi_detach_ind,vlr_subscr_cancel_attach_fsm) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,active-conn,gsm48_rx_mm_imsi_detach_ind) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - attached: now used by 2 (active-conn,gsm48_rx_mm_imsi_detach_ind) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - gsm48_rx_mm_imsi_detach_ind: now used by 1 (active-conn) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: Received Event MSC_A_EV_CN_CLOSE @@ -1122,6 +1130,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() @@ -1348,6 +1357,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() @@ -1649,6 +1659,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() @@ -1899,6 +1910,7 @@ DMM IMSI DETACH for IMSI-901700000004620:MSISDN-46071 DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,active-conn,gsm48_rx_mm_imsi_detach_ind,vlr_subscr_cancel_attach_fsm) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,active-conn,gsm48_rx_mm_imsi_detach_ind) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - attached: now used by 2 (active-conn,gsm48_rx_mm_imsi_detach_ind) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - gsm48_rx_mm_imsi_detach_ind: now used by 1 (active-conn) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: Received Event MSC_A_EV_CN_CLOSE @@ -1974,6 +1986,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() diff --git a/tests/msc_vlr/msc_vlr_test_rest.err b/tests/msc_vlr/msc_vlr_test_rest.err index f27108c..a1ff24b 100644 --- a/tests/msc_vlr/msc_vlr_test_rest.err +++ b/tests/msc_vlr/msc_vlr_test_rest.err @@ -89,6 +89,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() @@ -230,6 +231,7 @@ DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - _lu_fsm_associate_vsub: now used by 2 (attached,active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() @@ -362,6 +364,7 @@ DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + active-conn: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn,vlr_subscr_cancel_attach_fsm) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - attached: now used by 2 (gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - gsm48_rx_mm_imsi_detach_ind: now used by 1 (active-conn) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:NONE){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_CN_CLOSE @@ -428,6 +431,7 @@ DMSC msc_a(TMSI-0x23422342:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(TMSI-0x23422342:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr TMSI-0x23422342 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(TMSI-0x23422342:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_want_imsi() DVLR vlr_lu_fsm(TMSI-0x23422342:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_IMSI DBSSAP msc_a(TMSI-0x23422342:GERAN-A:LU){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_ID_REQ diff --git a/tests/msc_vlr/msc_vlr_test_ss.err b/tests/msc_vlr/msc_vlr_test_ss.err index e83cb01..41318c4 100644 --- a/tests/msc_vlr/msc_vlr_test_ss.err +++ b/tests/msc_vlr/msc_vlr_test_ss.err @@ -27,6 +27,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() @@ -265,6 +266,7 @@ DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth() diff --git a/tests/msc_vlr/msc_vlr_test_umts_authen.err b/tests/msc_vlr/msc_vlr_test_umts_authen.err index be858b5..a131ce3 100644 --- a/tests/msc_vlr/msc_vlr_test_umts_authen.err +++ b/tests/msc_vlr/msc_vlr_test_umts_authen.err @@ -27,6 +27,7 @@ DMSC msc_a(IMSI-901700000010650:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000010650:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000010650 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -565,6 +566,7 @@ DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + active-conn: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn,vlr_subscr_cancel_attach_fsm) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - attached: now used by 2 (gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - gsm48_rx_mm_imsi_detach_ind: now used by 1 (active-conn) DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:GERAN-A:NONE){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_CN_CLOSE @@ -632,6 +634,7 @@ DMSC msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000010650 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -1170,6 +1173,7 @@ DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + active-conn: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn,vlr_subscr_cancel_attach_fsm) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - attached: now used by 2 (gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - gsm48_rx_mm_imsi_detach_ind: now used by 1 (active-conn) DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:NONE){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_CN_CLOSE @@ -1237,6 +1241,7 @@ DMSC msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000010650 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -1799,6 +1804,7 @@ DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + active-conn: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn,vlr_subscr_cancel_attach_fsm) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - attached: now used by 2 (gsm48_rx_mm_imsi_detach_ind,active-conn) DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - gsm48_rx_mm_imsi_detach_ind: now used by 1 (active-conn) DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:NONE){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_CN_CLOSE @@ -1866,6 +1872,7 @@ DMSC msc_a(IMSI-901700000010650:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000010650:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000010650 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -2097,6 +2104,7 @@ DMSC msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000010650 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -2328,6 +2336,7 @@ DMSC msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000010650 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -2569,6 +2578,7 @@ DMSC msc_a(IMSI-901700000010650:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000010650:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000010650 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -2684,6 +2694,7 @@ DMSC msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000010650 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -2799,6 +2810,7 @@ DMSC msc_a(IMSI-901700000010650:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000010650:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000010650 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -2914,6 +2926,7 @@ DMSC msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000010650 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -3029,6 +3042,7 @@ DMSC msc_a(IMSI-901700000010650:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000010650:GERAN-A:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000010650 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000010650:GERAN-A:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH @@ -3144,6 +3158,7 @@ DMSC msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_VALIDATE_L3}: Received Event MSC_A_EV_COMPLETE_LAYER_3_OK DMSC msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_VALIDATE_L3}: state_chg to MSC_A_ST_AUTH_CIPH DREF VLR subscr IMSI-901700000010650 - _lu_fsm_associate_vsub: now used by 1 (active-conn) +DVLR set Last E-UTRAN PLMN ID on subscriber: (none) DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1_pre() DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1() DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24832 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I0dcb1850ab4f6f7d42bfcb19665ddeae2d3b057a Gerrit-Change-Number: 24832 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 6 09:32:56 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 6 Jul 2021 09:32:56 +0000 Subject: Change in osmo-pcu[master]: Indicate to the BTS whether DATA.req contains a dummy block In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24854 ) Change subject: Indicate to the BTS whether DATA.req contains a dummy block ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24854 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I72c7f0f0853f2bda77c20e3ec1bcd0c7c815c750 Gerrit-Change-Number: 24854 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 06 Jul 2021 09:32:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 6 09:34:12 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 6 Jul 2021 09:34:12 +0000 Subject: Change in libosmocore[master]: gprs_ns2: fix wrong format string in Tx Size logline References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24857 ) Change subject: gprs_ns2: fix wrong format string in Tx Size logline ...................................................................... gprs_ns2: fix wrong format string in Tx Size logline Don't use %u for integer. Change-Id: I324836ec4943c97f0dbc16ade697c468eba02b35 --- M src/gb/gprs_ns2_message.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/57/24857/1 diff --git a/src/gb/gprs_ns2_message.c b/src/gb/gprs_ns2_message.c index ad115ef..03e26bd 100644 --- a/src/gb/gprs_ns2_message.c +++ b/src/gb/gprs_ns2_message.c @@ -798,7 +798,7 @@ msgb_tv16_put(msg, NS_IE_IPv6_EP_NR, ip6_ep_nr); LOG_NS_SIGNAL(nsvc, "Tx", nsh->pdu_type, LOGL_INFO, - " (reset=%u, max_nr_nsvc=%u, num_ip4=%u, num_ip6=%u)\n", + " (reset=%u, max_nr_nsvc=%u, num_ip4=%d, num_ip6=%d)\n", reset_flag, max_nr_nsvc, ip4_ep_nr, ip6_ep_nr); return ns_vc_tx(nsvc, msg); } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24857 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I324836ec4943c97f0dbc16ade697c468eba02b35 Gerrit-Change-Number: 24857 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 6 09:42:17 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 6 Jul 2021 09:42:17 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vc_fsm: rename state UNCONFIGURED -> DISABLED In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24685 ) Change subject: gprs_ns2_vc_fsm: rename state UNCONFIGURED -> DISABLED ...................................................................... Patch Set 2: > Patch Set 1: > > > Patch Set 1: > > > > I'm not sure/convinced that 'unconfigured' is a wrong name. Why would "unconfigured" only happen at start-up? What event is causing it to become unconfigured later on again, and why is the name wrong? Is it still in some way "configured" while in that state? > > Original the unconfigured was just the initial state. Later a vty command for testing was introduced. And now the frame relay is forcing all NSVC into the unconfigured state when the DLCI become unavailable. A bit more bike shedding, but to me "disabled" sounds like some active intervention is needed before the NSVC can be used again. "Unconfigured" as a state name sounds fine to me, or maybe something like "initial", "inactive" -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24685 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5f46ce5e27d7556d5e17bc236f1765d42aecbe0c Gerrit-Change-Number: 24685 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 06 Jul 2021 09:42: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 Tue Jul 6 09:44:36 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 6 Jul 2021 09:44:36 +0000 Subject: Change in libosmocore[master]: gprs_ns2: fix wrong format string in Tx Size logline In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24857 ) Change subject: gprs_ns2: fix wrong format string in Tx Size logline ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24857 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I324836ec4943c97f0dbc16ade697c468eba02b35 Gerrit-Change-Number: 24857 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 06 Jul 2021 09:44: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 Jul 6 09:44:57 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 6 Jul 2021 09:44:57 +0000 Subject: Change in libosmocore[master]: gprs_ns2: fix wrong format string in Tx Size logline In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24857 ) Change subject: gprs_ns2: fix wrong format string in Tx Size logline ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24857 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I324836ec4943c97f0dbc16ade697c468eba02b35 Gerrit-Change-Number: 24857 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 06 Jul 2021 09:44: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 Jul 6 09:49:40 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 6 Jul 2021 09:49:40 +0000 Subject: Change in osmo-pcu[master]: Indicate to the BTS whether DATA.req contains a dummy block In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24854 ) Change subject: Indicate to the BTS whether DATA.req contains a dummy block ...................................................................... Patch Set 2: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/24854/2/include/osmocom/pcu/pcuif_proto.h File include/osmocom/pcu/pcuif_proto.h: https://gerrit.osmocom.org/c/osmo-pcu/+/24854/2/include/osmocom/pcu/pcuif_proto.h at 74 PS2, Line 74: #define PCU_IF_DATA_F_DUMMY (1 << 0) This is not really true and confusing imho. You are using the flag to mark rlcmac blocks which are safe to drop, not dummy ones. Because some dummy block may contain USF, or may be needed for synchronization procedures, etc. So better change the name and description of this flag. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24854 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I72c7f0f0853f2bda77c20e3ec1bcd0c7c815c750 Gerrit-Change-Number: 24854 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 06 Jul 2021 09:49:40 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 6 09:49:48 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 6 Jul 2021 09:49:48 +0000 Subject: Change in libosmocore[master]: gprs_ns2: use gprs_ns2_free_bind() to clean up a bind In-Reply-To: References: Message-ID: lynxis lazus has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24856 ) Change subject: gprs_ns2: use gprs_ns2_free_bind() to clean up a bind ...................................................................... gprs_ns2: use gprs_ns2_free_bind() to clean up a bind gprs_ns2_free_bind() takes care of all required steps to clean up a bind. The driver->free_bind() operation only cleans up the driver internal state but not NSVCs and other generic things. Fixes a crash when free'ing a bind from the vty which has active NSVCs. Related: OS#5195 Change-Id: I0a2ad22905bcacb929b9b5f5b034af0da3081826 --- M src/gb/gprs_ns2_vty.c M tests/gb/gprs_ns2_vty.vty 2 files changed, 7 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve daniel: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gb/gprs_ns2_vty.c b/src/gb/gprs_ns2_vty.c index 705b60e..2f540c2 100644 --- a/src/gb/gprs_ns2_vty.c +++ b/src/gb/gprs_ns2_vty.c @@ -423,7 +423,7 @@ vty_bind_free(vbind); bind = gprs_ns2_bind_by_name(vty_nsi, name); if (bind) - bind->driver->free_bind(bind); + gprs_ns2_free_bind(bind); return CMD_SUCCESS; } @@ -678,7 +678,7 @@ return CMD_ERR_NOTHING_TODO; OSMO_ASSERT(bind->ll == GPRS_NS2_LL_UDP); - bind->driver->free_bind(bind); + gprs_ns2_free_bind(bind); return CMD_SUCCESS; } @@ -939,7 +939,7 @@ return CMD_WARNING; } - bind->driver->free_bind(bind); + gprs_ns2_free_bind(bind); return CMD_SUCCESS; } diff --git a/tests/gb/gprs_ns2_vty.vty b/tests/gb/gprs_ns2_vty.vty index 4589f96..458e2c8 100644 --- a/tests/gb/gprs_ns2_vty.vty +++ b/tests/gb/gprs_ns2_vty.vty @@ -83,3 +83,7 @@ OsmoNSdummy(config-ns-nse)# ip-sns-remote 127.0.0.1 22222 Specified SNS endpoint already part of the NSE. OsmoNSdummy(config-ns-nse)# exit +OsmoNSdummy(config-ns)# no bind abc +OsmoNSdummy(config-ns)# no bind abc77 +bind abc77 does not exist! +OsmoNSdummy(config-ns)# exit -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24856 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0a2ad22905bcacb929b9b5f5b034af0da3081826 Gerrit-Change-Number: 24856 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 6 09:50:00 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 6 Jul 2021 09:50:00 +0000 Subject: Change in libosmocore[master]: gprs_ns2: fix wrong format string in Tx Size logline In-Reply-To: References: Message-ID: lynxis lazus has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24857 ) Change subject: gprs_ns2: fix wrong format string in Tx Size logline ...................................................................... gprs_ns2: fix wrong format string in Tx Size logline Don't use %u for integer. Change-Id: I324836ec4943c97f0dbc16ade697c468eba02b35 --- M src/gb/gprs_ns2_message.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: daniel: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/gb/gprs_ns2_message.c b/src/gb/gprs_ns2_message.c index ad115ef..03e26bd 100644 --- a/src/gb/gprs_ns2_message.c +++ b/src/gb/gprs_ns2_message.c @@ -798,7 +798,7 @@ msgb_tv16_put(msg, NS_IE_IPv6_EP_NR, ip6_ep_nr); LOG_NS_SIGNAL(nsvc, "Tx", nsh->pdu_type, LOGL_INFO, - " (reset=%u, max_nr_nsvc=%u, num_ip4=%u, num_ip6=%u)\n", + " (reset=%u, max_nr_nsvc=%u, num_ip4=%d, num_ip6=%d)\n", reset_flag, max_nr_nsvc, ip4_ep_nr, ip6_ep_nr); return ns_vc_tx(nsvc, msg); } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24857 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I324836ec4943c97f0dbc16ade697c468eba02b35 Gerrit-Change-Number: 24857 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 6 09:50:21 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 6 Jul 2021 09:50:21 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: dump_nsvc: change output depending on NSVCI In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24686 ) Change subject: gprs_ns2_vty: dump_nsvc: change output depending on NSVCI ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24686/1/src/gb/gprs_ns2_vty.c File src/gb/gprs_ns2_vty.c: https://gerrit.osmocom.org/c/libosmocore/+/24686/1/src/gb/gprs_ns2_vty.c at 1876 PS1, Line 1876: if (nsvc->nsvci_is_valid) > Jenkins fails because of the VTY tests... [?] Done -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24686 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iaadc806a9136436468e2b02eb0bc1f4570a10ecc Gerrit-Change-Number: 24686 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 06 Jul 2021 09:50:21 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: dexter Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 6 09:50:23 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 6 Jul 2021 09:50:23 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: dump_nsvc: change output depending on NSVCI In-Reply-To: References: Message-ID: lynxis lazus has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24686 ) Change subject: gprs_ns2_vty: dump_nsvc: change output depending on NSVCI ...................................................................... gprs_ns2_vty: dump_nsvc: change output depending on NSVCI If the NSVCI is valid, there is no signalling or data weight defined (internally this is 1). For NSVC with NSVCI don't print the signalling or data weight. For NSVC without NSVCI, don't print NSVCI at all. Related: OS#5180 Change-Id: Iaadc806a9136436468e2b02eb0bc1f4570a10ecc --- M src/gb/gprs_ns2_vty.c M tests/gb/gprs_ns2_vty.vty 2 files changed, 17 insertions(+), 18 deletions(-) Approvals: daniel: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/gb/gprs_ns2_vty.c b/src/gb/gprs_ns2_vty.c index 2f540c2..0aa7902 100644 --- a/src/gb/gprs_ns2_vty.c +++ b/src/gb/gprs_ns2_vty.c @@ -1873,18 +1873,17 @@ /* non-config commands */ void ns2_vty_dump_nsvc(struct vty *vty, struct gprs_ns2_vc *nsvc, bool stats) { - char nsvci_str[32]; - if (nsvc->nsvci_is_valid) - snprintf(nsvci_str, sizeof(nsvci_str), "%05u", nsvc->nsvci); + vty_out(vty, " NSVCI %05u: %s %s %s%s", nsvc->nsvci, + osmo_fsm_inst_state_name(nsvc->fi), + nsvc->persistent ? "PERSIST" : "DYNAMIC", + gprs_ns2_ll_str(nsvc), VTY_NEWLINE); else - snprintf(nsvci_str, sizeof(nsvci_str), "none"); - - vty_out(vty, " NSVCI %s: %s %s data_weight=%u sig_weight=%u %s%s", nsvci_str, - osmo_fsm_inst_state_name(nsvc->fi), - nsvc->persistent ? "PERSIST" : "DYNAMIC", - nsvc->data_weight, nsvc->sig_weight, - gprs_ns2_ll_str(nsvc), VTY_NEWLINE); + vty_out(vty, " %s %s sig_weight=%u data_weight=%u %s%s", + osmo_fsm_inst_state_name(nsvc->fi), + nsvc->persistent ? "PERSIST" : "DYNAMIC", + nsvc->sig_weight, nsvc->data_weight, + gprs_ns2_ll_str(nsvc), VTY_NEWLINE); if (stats) { vty_out_rate_ctr_group(vty, " ", nsvc->ctrg); diff --git a/tests/gb/gprs_ns2_vty.vty b/tests/gb/gprs_ns2_vty.vty index 458e2c8..45c8a16 100644 --- a/tests/gb/gprs_ns2_vty.vty +++ b/tests/gb/gprs_ns2_vty.vty @@ -40,11 +40,11 @@ OsmoNSdummy# show ns NSEI 01234: UDP, DEAD 1 NS-VC: - NSVCI none: RECOVERING PERSIST data_weight=1 sig_weight=1 udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 + RECOVERING PERSIST sig_weight=1 data_weight=1 udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 UDP bind: 127.0.0.14:42999 DSCP: 0 Priority: 0 IP-SNS signalling weight: 1 data weight: 1 1 NS-VC: - NSVCI none: RECOVERING PERSIST data_weight=1 sig_weight=1 udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 + RECOVERING PERSIST sig_weight=1 data_weight=1 udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 OsmoNSdummy# configure terminal OsmoNSdummy(config)# ns OsmoNSdummy(config-ns)# nse 1234 @@ -54,15 +54,15 @@ OsmoNSdummy# show ns NSEI 01234: UDP, DEAD 3 NS-VC: - NSVCI none: RECOVERING PERSIST data_weight=1 sig_weight=1 udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 - NSVCI none: RECOVERING PERSIST data_weight=9 sig_weight=0 udp)[127.0.0.14]:42999<>[127.0.0.16]:9496 - NSVCI none: RECOVERING PERSIST data_weight=0 sig_weight=0 udp)[127.0.0.14]:42999<>[127.0.0.17]:9496 + RECOVERING PERSIST sig_weight=1 data_weight=1 udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 + RECOVERING PERSIST sig_weight=0 data_weight=9 udp)[127.0.0.14]:42999<>[127.0.0.16]:9496 + RECOVERING PERSIST sig_weight=0 data_weight=0 udp)[127.0.0.14]:42999<>[127.0.0.17]:9496 UDP bind: 127.0.0.14:42999 DSCP: 0 Priority: 0 IP-SNS signalling weight: 1 data weight: 1 3 NS-VC: - NSVCI none: RECOVERING PERSIST data_weight=1 sig_weight=1 udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 - NSVCI none: RECOVERING PERSIST data_weight=9 sig_weight=0 udp)[127.0.0.14]:42999<>[127.0.0.16]:9496 - NSVCI none: RECOVERING PERSIST data_weight=0 sig_weight=0 udp)[127.0.0.14]:42999<>[127.0.0.17]:9496 + RECOVERING PERSIST sig_weight=1 data_weight=1 udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 + RECOVERING PERSIST sig_weight=0 data_weight=9 udp)[127.0.0.14]:42999<>[127.0.0.16]:9496 + RECOVERING PERSIST sig_weight=0 data_weight=0 udp)[127.0.0.14]:42999<>[127.0.0.17]:9496 OsmoNSdummy# configure terminal OsmoNSdummy(config)# ns OsmoNSdummy(config-ns)# nse 1234 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24686 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iaadc806a9136436468e2b02eb0bc1f4570a10ecc Gerrit-Change-Number: 24686 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 6 09:51:00 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 6 Jul 2021 09:51:00 +0000 Subject: Change in osmo-pcu[master]: Indicate to the BTS whether DATA.req contains a dummy block In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24854 ) Change subject: Indicate to the BTS whether DATA.req contains a dummy block ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/24854/2/include/osmocom/pcu/pcuif_proto.h File include/osmocom/pcu/pcuif_proto.h: https://gerrit.osmocom.org/c/osmo-pcu/+/24854/2/include/osmocom/pcu/pcuif_proto.h at 74 PS2, Line 74: #define PCU_IF_DATA_F_DUMMY (1 << 0) > This is not really true and confusing imho. [?] By the way, did you thing about the possibility to simply send no rlcmac block whenever it can be dropped instead of adding a new flag? Because I guess it's already what's happening when for instance a PDCH is disabled for whatever reason. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24854 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I72c7f0f0853f2bda77c20e3ec1bcd0c7c815c750 Gerrit-Change-Number: 24854 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 06 Jul 2021 09:51: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 Jul 6 09:52:46 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 6 Jul 2021 09:52:46 +0000 Subject: Change in osmo-pcu[master]: Indicate to the BTS whether DATA.req contains a dummy block In-Reply-To: References: Message-ID: laforge has removed a vote from this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24854 ) Change subject: Indicate to the BTS whether DATA.req contains a dummy block ...................................................................... Removed Code-Review+1 by laforge -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24854 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I72c7f0f0853f2bda77c20e3ec1bcd0c7c815c750 Gerrit-Change-Number: 24854 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder 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 Tue Jul 6 09:57:32 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 6 Jul 2021 09:57:32 +0000 Subject: Change in osmo-bsc[master]: hodec2: [1/2] implement automatic choice between FULL and SUBSET meas... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24850 ) Change subject: hodec2: [1/2] implement automatic choice between FULL and SUBSET measurements ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24850 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I283e03126a6bc1f5f1b35f9801e841053edd2947 Gerrit-Change-Number: 24850 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 06 Jul 2021 09:57:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 6 09:59:49 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 6 Jul 2021 09:59:49 +0000 Subject: Change in osmo-bsc[master]: hodec2: [2/2] implement automatic choice between FULL and SUBSET meas... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24851 ) Change subject: hodec2: [2/2] implement automatic choice between FULL and SUBSET measurements ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24851 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I67dce55ccf892c8679272ee5dfedc25620f0f725 Gerrit-Change-Number: 24851 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 06 Jul 2021 09:59:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 6 10:07:52 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 6 Jul 2021 10:07:52 +0000 Subject: Change in osmo-bts[master]: Do not transmit dummy RLC/MAC blocks on non-BCCH carriers In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24855 ) Change subject: Do not transmit dummy RLC/MAC blocks on non-BCCH carriers ...................................................................... Patch Set 1: Code-Review-1 (3 comments) https://gerrit.osmocom.org/c/osmo-bts/+/24855/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bts/+/24855/1//COMMIT_MSG at 11 PS1, Line 11: if a PDCH timeslot has no Uplink nor Downlink TBFs allocated, then (most Dummy blocks can still be sent on DL if there's a TBF available, and they serve a purpose in that case. https://gerrit.osmocom.org/c/osmo-bts/+/24855/1/include/osmo-bts/pcuif_proto.h File include/osmo-bts/pcuif_proto.h: https://gerrit.osmocom.org/c/osmo-bts/+/24855/1/include/osmo-bts/pcuif_proto.h at 72 PS1, Line 72: #define PCU_IF_DATA_F_DUMMY (1 << 0) As I mentioned on the other patch, this naming/(description should be changed. https://gerrit.osmocom.org/c/osmo-bts/+/24855/1/src/common/pcu_sock.c File src/common/pcu_sock.c: https://gerrit.osmocom.org/c/osmo-bts/+/24855/1/src/common/pcu_sock.c at 694 PS1, Line 694: * carriers if the PCU indicates that no TBFs are active at the moment. */ "if the PCU indicates that the rlcmac/block can be dropped". In the future we could send droppable rlcmac blocks despite there are active TBFs. For instance if there's 1 DL TBF and no UL TBF and the PCU keeps open the DL TBF for a while after sending last data and it has already been acked. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24855 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I2bf5271c4f1eaf5a975129f73091eb51cee50e57 Gerrit-Change-Number: 24855 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 06 Jul 2021 10:07: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 Tue Jul 6 12:02:19 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 6 Jul 2021 12:02:19 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Fix TC_ms_reg_enq References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24858 ) Change subject: Fix TC_ms_reg_enq ...................................................................... Fix TC_ms_reg_enq In the pooling case it is not clear where the message will be forwarded to so allow reception on any SGSN. Change-Id: I6669ed0b49e9f278f16a67dc05ae208884ee535e Related: OS#4472 --- M gbproxy/GBProxy_Tests.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/58/24858/1 diff --git a/gbproxy/GBProxy_Tests.ttcn b/gbproxy/GBProxy_Tests.ttcn index dd33106..6aa5e0c 100644 --- a/gbproxy/GBProxy_Tests.ttcn +++ b/gbproxy/GBProxy_Tests.ttcn @@ -2860,7 +2860,7 @@ private function f_TC_ms_reg_enq(charstring id) runs on BSSGP_ConnHdlr { - f_pcu2sgsn(ts_BSSGP_MS_REG_ENQ(g_pars.imsi), tr_BSSGP_MS_REG_ENQ(g_pars.imsi), use_sig := true); + f_pcu2any_sgsn(ts_BSSGP_MS_REG_ENQ(g_pars.imsi), tr_BSSGP_MS_REG_ENQ(g_pars.imsi), use_sig := true); f_sgsn2pcu(ts_BSSGP_MS_REW_ENQ_RESP(g_pars.imsi, omit), tr_BSSGP_MS_REW_ENQ_RESP(g_pars.imsi, omit), use_sig := true); } testcase TC_ms_reg_enq() runs on test_CT -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24858 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6669ed0b49e9f278f16a67dc05ae208884ee535e Gerrit-Change-Number: 24858 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 6 12:06:58 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 6 Jul 2021 12:06:58 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy: Forward MS_REGISTR_ENQ/_RESP correctly References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24859 ) Change subject: gbproxy: Forward MS_REGISTR_ENQ/_RESP correctly ...................................................................... gbproxy: Forward MS_REGISTR_ENQ/_RESP correctly We need to save the BSS NSE <-> IMSI mapping to correctly route the answer. Related: OS#4472 Change-Id: I1908bbe8db11271dbd3f45b0d9f1bc0bfe48f239 --- M src/gb_proxy.c 1 file changed, 39 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gbproxy refs/changes/59/24859/1 diff --git a/src/gb_proxy.c b/src/gb_proxy.c index 8c8faf7..a80e5a9 100644 --- a/src/gb_proxy.c +++ b/src/gb_proxy.c @@ -1114,6 +1114,26 @@ rc = gbprox_relay2nse(msg, nse, 0); break; } + case BSSGP_PDUT_MS_REGISTR_ENQ: + { + struct gbproxy_sgsn *sgsn; + struct osmo_mobile_identity mi; + const uint8_t *mi_data = TLVP_VAL(&tp[0], BSSGP_IE_IMSI); + uint8_t mi_len = TLVP_LEN(&tp[0], BSSGP_IE_IMSI); + osmo_mobile_identity_decode(&mi, mi_data, mi_len, false); + + sgsn = gbproxy_select_sgsn(nse->cfg, NULL); + if (!sgsn) { + LOGP(DGPRS, LOGL_ERROR, "Could not find any SGSN, dropping message!\n"); + rc = -EINVAL; + break; + } + + gbproxy_imsi_cache_update(nse, mi.imsi); + + rc = gbprox_relay2nse(msg, sgsn->nse, 0); + break; + } default: LOGPNSE(nse, LOGL_ERROR, "Rx %s: Implementation missing\n", pdut_name); break; @@ -1444,6 +1464,25 @@ case BSSGP_PDUT_RAN_INFO_APP_ERROR: rc = gbprox_rx_rim_from_sgsn(tp, nse, msg, log_pfx, pdut_name); break; + case BSSGP_PDUT_MS_REGISTR_ENQ_RESP: + { + struct gbproxy_nse *nse_peer; + struct osmo_mobile_identity mi; + const uint8_t *mi_data = TLVP_VAL(&tp[0], BSSGP_IE_IMSI); + uint8_t mi_len = TLVP_LEN(&tp[0], BSSGP_IE_IMSI); + osmo_mobile_identity_decode(&mi, mi_data, mi_len, false); + nse_peer = gbproxy_nse_by_imsi(cfg, mi.imsi); + if (!nse_peer) { + LOGPNSE(nse, LOGL_ERROR, "Rx %s: Cannot find NSE\n", pdut_name); + return tx_status(nse, ns_bvci, BSSGP_CAUSE_INV_MAND_INF, NULL, msg); + } else if (nse_peer->sgsn_facing) { + LOGPNSE(nse, LOGL_ERROR, "Forwarding %s failed: IMSI cache contains SGSN NSE", pdut_name); + return tx_status(nse, ns_bvci, BSSGP_CAUSE_PROTO_ERR_UNSPEC, NULL, msg); + } + gbproxy_imsi_cache_remove(cfg, mi.imsi); + gbprox_relay2nse(msg, nse_peer, ns_bvci); + break; + } default: LOGPNSE(nse, LOGL_NOTICE, "Rx %s: Not supported\n", pdut_name); rate_ctr_inc(rate_ctr_group_get_ctr(cfg->ctrg, GBPROX_GLOB_CTR_PROTO_ERR_SGSN)); -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24859 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I1908bbe8db11271dbd3f45b0d9f1bc0bfe48f239 Gerrit-Change-Number: 24859 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 6 12:39:37 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 6 Jul 2021 12:39:37 +0000 Subject: Change in osmo-bsc[master]: hodec2: [1/2] implement automatic choice between FULL and SUBSET meas... In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, fixeria, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24850 to look at the new patch set (#4). Change subject: hodec2: [1/2] implement automatic choice between FULL and SUBSET measurements ...................................................................... hodec2: [1/2] implement automatic choice between FULL and SUBSET measurements Cosmetic preparation for enabling automatic choice between FULL and SUBSET measurements depending on DTX in handover decision 2. Change the internal API to pass separate enums for the choices {RXLEV, RXQUAL}, {UL, DL} and {FULL, SUB}. Change-Id: I283e03126a6bc1f5f1b35f9801e841053edd2947 --- M include/osmocom/bsc/meas_rep.h M src/osmo-bsc/handover_decision.c M src/osmo-bsc/handover_decision_2.c M src/osmo-bsc/meas_rep.c 4 files changed, 74 insertions(+), 26 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/50/24850/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24850 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I283e03126a6bc1f5f1b35f9801e841053edd2947 Gerrit-Change-Number: 24850 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 6 12:50:30 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 6 Jul 2021 12:50:30 +0000 Subject: Change in osmo-bsc[master]: handover_ctrl: add control interface for handover settings In-Reply-To: References: Message-ID: Hello Jenkins Builder, neels, laforge, pespin, fixeria, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24600 to look at the new patch set (#7). Change subject: handover_ctrl: add control interface for handover settings ...................................................................... handover_ctrl: add control interface for handover settings The VTY handover_vtc.c offers a large number of handover specific settings. Those settings are (with one exception) auto generated using macros. Lets add an equivalent for the control interface that uses the same auto generation mechanisms. Change-Id: I12f143906818fd6b16e8783157cbb1eb51e49ffc Depends: libosmocore I53fc207677f52b1dc748b01d58424839cdba807c Related: SYS#5369 --- M doc/manuals/chapters/control.adoc M include/osmocom/bsc/Makefile.am A include/osmocom/bsc/handover_ctrl.h M src/osmo-bsc/Makefile.am A src/osmo-bsc/handover_ctrl.c M src/osmo-bsc/osmo_bsc_ctrl.c M tests/handover/Makefile.am 7 files changed, 252 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/00/24600/7 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24600 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I12f143906818fd6b16e8783157cbb1eb51e49ffc Gerrit-Change-Number: 24600 Gerrit-PatchSet: 7 Gerrit-Owner: dexter Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 6 12:50:46 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 6 Jul 2021 12:50:46 +0000 Subject: Change in osmo-bsc[master]: handover_ctrl: add control interface for handover settings In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24600 ) Change subject: handover_ctrl: add control interface for handover settings ...................................................................... Patch Set 6: (6 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/24600/6/include/osmocom/bsc/handover_cfg.h File include/osmocom/bsc/handover_cfg.h: https://gerrit.osmocom.org/c/osmo-bsc/+/24600/6/include/osmocom/bsc/handover_cfg.h at 73 PS6, Line 73: must end with a "\0", > see neels' comment below, every string constant gets a \0 appended to it. [?] Done https://gerrit.osmocom.org/c/osmo-bsc/+/24600/6/include/osmocom/bsc/handover_cfg.h at 264 PS6, Line 264: "handover2 min-free-slots tch-h\0") \ > I guess this is a typo and he meant '\n' Done https://gerrit.osmocom.org/c/osmo-bsc/+/24600/1/src/osmo-bsc/handover_ctrl.c File src/osmo-bsc/handover_ctrl.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24600/1/src/osmo-bsc/handover_ctrl.c at 33 PS1, Line 33: bool verify_vty_cmd_arg(void *ctx, const char *range, const char *value) > yes, for a reason Its has the "vty" in the name because the function uses the same range descriptions like the VTY but feel free to suggest a different name for that function. https://gerrit.osmocom.org/c/osmo-bsc/+/24600/6/src/osmo-bsc/handover_ctrl.c File src/osmo-bsc/handover_ctrl.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24600/6/src/osmo-bsc/handover_ctrl.c at 32 PS6, Line 32: /* Verify a VTY command argument against its value specification, the value > Here we could add: [?] Done https://gerrit.osmocom.org/c/osmo-bsc/+/24600/6/src/osmo-bsc/handover_ctrl.c at 73 PS6, Line 73: CTRL_CMD_DEFINE(NAME, CTRL_CMD VTY_CMD_PREFIX VTY_CMD); \ > Hm, I don't understand how this works. [?] When CTRL_CMD it is used the constant will be defined like "handover2 min-free-slots tch-h\0", VTY_CMD_PREFIX and VTY_CMD will still hold strings, but they are cut short by the \0 in that constant. Unfortunately there is no way to get around this using #if in some way. The only way to get rid of this would be to use VTY_CMD only and repeat every VTY_CMD_PREFIX VTY_CMD in CTRL_CMD for all functions. At the moment VTY_CMD is an optional parameter that is only used when the string contains illegal characters so that a new string is needed to be defined. I have found a better solution now. The command name string is filtered before the command is installed. That also means we can get rid of the CTRL_CMD parameter again. https://gerrit.osmocom.org/c/osmo-bsc/+/24600/6/src/osmo-bsc/handover_ctrl.c at 114 PS6, Line 114: cmd->reply = talloc_asprintf(cmd, "%s", #DEFAULT_VAL); \ > (we would usually also put { } around the else-scope) Done -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24600 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I12f143906818fd6b16e8783157cbb1eb51e49ffc Gerrit-Change-Number: 24600 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 06 Jul 2021 12:50:46 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: neels Comment-In-Reply-To: laforge Comment-In-Reply-To: pespin Comment-In-Reply-To: dexter Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 6 13:11:56 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 6 Jul 2021 13:11:56 +0000 Subject: Change in libosmocore[master]: linuxlist: add function to check entry presence In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/24813 to look at the new patch set (#2). Change subject: linuxlist: add function to check entry presence ...................................................................... linuxlist: add function to check entry presence The current linuxlist implementation has not convinient way to check if a given element is actually contained in a list. However, this may be helpful when we must be sure that a pointer to a list element is still valid. Change-Id: Id1e8281d9d9f34277095ce9307e298bf29affa71 Related: SYS#4971 --- M include/osmocom/core/linuxlist.h 1 file changed, 14 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/13/24813/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24813 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id1e8281d9d9f34277095ce9307e298bf29affa71 Gerrit-Change-Number: 24813 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 Tue Jul 6 13:11:56 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 6 Jul 2021 13:11:56 +0000 Subject: Change in libosmocore[master]: linuxlist: add macro to get last element of a list In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, fixeria, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/24801 to look at the new patch set (#3). Change subject: linuxlist: add macro to get last element of a list ...................................................................... linuxlist: add macro to get last element of a list It is not be obvious on the first look that ->prev actually points to the last element of a list, lets add a macro for that to make the API easier to use Change-Id: Icf455bf6ba9d60bd311af17c9e80febaa42cacc9 Related: SYS#4971 --- M include/osmocom/core/linuxlist.h 1 file changed, 6 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/01/24801/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24801 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icf455bf6ba9d60bd311af17c9e80febaa42cacc9 Gerrit-Change-Number: 24801 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 6 13:15:43 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 6 Jul 2021 13:15:43 +0000 Subject: Change in libosmocore[master]: linuxlist: add macro to get last element of a list In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, fixeria, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/24801 to look at the new patch set (#4). Change subject: linuxlist: add macro to get last element of a list ...................................................................... linuxlist: add macro to get last element of a list It is not be obvious on the first look that ->prev actually points to the last element of a list, lets add a macro for that to make the API easier to use Change-Id: Icf455bf6ba9d60bd311af17c9e80febaa42cacc9 Related: SYS#4971 --- M include/osmocom/core/linuxlist.h 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/01/24801/4 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24801 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icf455bf6ba9d60bd311af17c9e80febaa42cacc9 Gerrit-Change-Number: 24801 Gerrit-PatchSet: 4 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 Tue Jul 6 13:18:41 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 6 Jul 2021 13:18:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Fix TC_ms_reg_enq In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24858 ) Change subject: Fix TC_ms_reg_enq ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24858/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24858/1//COMMIT_MSG at 9 PS1, Line 9: In the pooling case it is not clear where the message will be forwarded what about having different functions for pooling and no pooling test case? It's 2 lines anyway... -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24858 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6669ed0b49e9f278f16a67dc05ae208884ee535e Gerrit-Change-Number: 24858 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 06 Jul 2021 13:18:41 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 6 13:21:04 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 6 Jul 2021 13:21:04 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy: Forward MS_REGISTR_ENQ/_RESP correctly In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24859 ) Change subject: gbproxy: Forward MS_REGISTR_ENQ/_RESP correctly ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24859 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I1908bbe8db11271dbd3f45b0d9f1bc0bfe48f239 Gerrit-Change-Number: 24859 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 06 Jul 2021 13: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 Jul 6 13:22:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 6 Jul 2021 13:22:17 +0000 Subject: Change in osmo-bsc[master]: hodec2: [1/2] implement automatic choice between FULL and SUBSET meas... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24850 ) Change subject: hodec2: [1/2] implement automatic choice between FULL and SUBSET measurements ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24850/4/include/osmocom/bsc/meas_rep.h File include/osmocom/bsc/meas_rep.h: https://gerrit.osmocom.org/c/osmo-bsc/+/24850/4/include/osmocom/bsc/meas_rep.h at 55 PS4, Line 55: TDMA_MEAS_FIELD_RXLEV = 0, Not sure what do you win with last version change. Anyway I find it strange then that TDMA_MEAS_SET_AUTO doesn't have a value manually assigned while other do. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24850 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I283e03126a6bc1f5f1b35f9801e841053edd2947 Gerrit-Change-Number: 24850 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 06 Jul 2021 13:22:17 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 6 13:23:21 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 6 Jul 2021 13:23:21 +0000 Subject: Change in libosmocore[master]: linuxlist: add function to check entry presence In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24813 ) Change subject: linuxlist: add function to check entry presence ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24813 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id1e8281d9d9f34277095ce9307e298bf29affa71 Gerrit-Change-Number: 24813 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 06 Jul 2021 13:23:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 6 13:24:18 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 6 Jul 2021 13:24:18 +0000 Subject: Change in libosmocore[master]: linuxlist: add macro to get last element of a list In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24801 ) Change subject: linuxlist: add macro to get last element of a list ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24801 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icf455bf6ba9d60bd311af17c9e80febaa42cacc9 Gerrit-Change-Number: 24801 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 06 Jul 2021 13: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 Tue Jul 6 13:25:34 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 6 Jul 2021 13:25:34 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Fix TC_ms_reg_enq In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24858 ) Change subject: Fix TC_ms_reg_enq ...................................................................... Patch Set 1: Code-Review+1 on 2nd thought, there's only 1 configured on that non-pooling case? In that case it's fine to use any I guess since always resolves to the only possible one. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24858 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6669ed0b49e9f278f16a67dc05ae208884ee535e Gerrit-Change-Number: 24858 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 06 Jul 2021 13: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 Tue Jul 6 14:42:35 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 6 Jul 2021 14:42:35 +0000 Subject: Change in osmo-bsc[master]: assignment_fsm: Fix null pointer dereference rx ASSIGNMENT_EV_LCHAN_E... In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24848 ) Change subject: assignment_fsm: Fix null pointer dereference rx ASSIGNMENT_EV_LCHAN_ERROR ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24848/2/src/osmo-bsc/assignment_fsm.c File src/osmo-bsc/assignment_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24848/2/src/osmo-bsc/assignment_fsm.c at 938 PS2, Line 938: gsm_lchan_name > Because it's already used like this in lots of places with the required logic. [?] I think it would be good if gsm_lchan_name() would return "(null)". Many to_string functions do that and it lowers the risk of a crash. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24848 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I23a337d411e857954008c6f8ae60be714509d351 Gerrit-Change-Number: 24848 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: dexter Gerrit-Comment-Date: Tue, 06 Jul 2021 14:42:35 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 6 16:45:36 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 6 Jul 2021 16:45:36 +0000 Subject: Change in osmo-mgw[master]: mgcp_network.c: Reorder some functions in file References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24860 ) Change subject: mgcp_network.c: Reorder some functions in file ...................................................................... mgcp_network.c: Reorder some functions in file This is a preparation for next commit, where one of the function will require an static function available before it in the file. Moving the functions also make sense, in order to have the 3 mgcp send functions together for more easy understanding. Change-Id: Iff8dab942182a0d909519acddb86be75d9cda7ae --- M src/libosmo-mgcp/mgcp_network.c 1 file changed, 243 insertions(+), 244 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/60/24860/1 diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index 1b7c3bd..a56bb31 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -170,74 +170,6 @@ return ret; } -/*! send udp packet. - * \param[in] fd associated file descriptor. - * \param[in] addr destination ip-address. - * \param[in] port destination UDP port (network byte order). - * \param[in] buf buffer that holds the data to be send. - * \param[in] len length of the data to be sent. - * \returns bytes sent, -1 on error. */ -int mgcp_udp_send(int fd, struct osmo_sockaddr *addr, int port, const char *buf, int len) -{ - char ipbuf[INET6_ADDRSTRLEN]; - size_t addr_len; - bool is_ipv6 = addr->u.sa.sa_family == AF_INET6; - - LOGP(DRTP, LOGL_DEBUG, - "sending %i bytes length packet to %s:%u ...\n", len, - osmo_sockaddr_ntop(&addr->u.sa, ipbuf), - ntohs(port)); - - if (is_ipv6) { - addr->u.sin6.sin6_port = port; - addr_len = sizeof(addr->u.sin6); - } else { - addr->u.sin.sin_port = port; - addr_len = sizeof(addr->u.sin); - } - - return sendto(fd, buf, len, 0, &addr->u.sa, addr_len); -} - -/*! send RTP dummy packet (to keep NAT connection open). - * \param[in] endp mcgp endpoint that holds the RTP connection. - * \param[in] conn associated RTP connection. - * \returns bytes sent, -1 on error. */ -int mgcp_send_dummy(struct mgcp_endpoint *endp, struct mgcp_conn_rtp *conn) -{ - int rc; - int was_rtcp = 0; - - OSMO_ASSERT(endp); - OSMO_ASSERT(conn); - - LOGPCONN(conn->conn, DRTP, LOGL_DEBUG,"sending dummy packet... %s\n", - mgcp_conn_dump(conn->conn)); - - rc = mgcp_udp_send(conn->end.rtp.fd, &conn->end.addr, - conn->end.rtp_port, rtp_dummy_payload, sizeof(rtp_dummy_payload)); - - if (rc == -1) - goto failed; - - if (endp->trunk->omit_rtcp) - return rc; - - was_rtcp = 1; - rc = mgcp_udp_send(conn->end.rtcp.fd, &conn->end.addr, - conn->end.rtcp_port, rtp_dummy_payload, sizeof(rtp_dummy_payload)); - - if (rc >= 0) - return rc; - -failed: - LOGPCONN(conn->conn, DRTP, LOGL_ERROR, - "Failed to send dummy %s packet.\n", - was_rtcp ? "RTCP" : "RTP"); - - return -1; -} - /* Compute timestamp alignment error */ static int32_t ts_alignment_error(struct mgcp_rtp_stream_state *sstate, int ptime, uint32_t timestamp) @@ -857,182 +789,6 @@ hdr->ssrc = state->alt_rtp_tx_ssrc; } - -/*! Send RTP/RTCP data to a specified destination connection. - * \param[in] endp associated endpoint (for configuration, logging). - * \param[in] is_rtp flag to specify if the packet is of type RTP or RTCP. - * \param[in] spoofed source address (set to NULL to disable). - * \param[in] buf buffer that contains the RTP/RTCP data. - * \param[in] len length of the buffer that contains the RTP/RTCP data. - * \param[in] conn_src associated source connection. - * \param[in] conn_dst associated destination connection. - * \returns 0 on success, -1 on ERROR. */ -int mgcp_send(struct mgcp_endpoint *endp, int is_rtp, struct osmo_sockaddr *addr, - struct msgb *msg, struct mgcp_conn_rtp *conn_src, - struct mgcp_conn_rtp *conn_dst) -{ - /*! When no destination connection is available (e.g. when only one - * connection in loopback mode exists), then the source connection - * shall be specified as destination connection */ - - struct mgcp_trunk *trunk = endp->trunk; - struct mgcp_rtp_end *rtp_end; - struct mgcp_rtp_state *rtp_state; - char ipbuf[INET6_ADDRSTRLEN]; - char *dest_name; - int rc; - int len; - - OSMO_ASSERT(conn_src); - OSMO_ASSERT(conn_dst); - - if (is_rtp) { - LOGPENDP(endp, DRTP, LOGL_DEBUG, "delivering RTP packet...\n"); - } else { - LOGPENDP(endp, DRTP, LOGL_DEBUG, "delivering RTCP packet...\n"); - } - - /* FIXME: It is legal that the payload type on the egress connection is - * different from the payload type that has been negotiated on the - * ingress connection. Essentially the codecs are the same so we can - * match them and patch the payload type. However, if we can not find - * the codec pendant (everything ist equal except the PT), we are of - * course unable to patch the payload type. A situation like this - * should not occur if transcoding is consequently avoided. Until - * we have transcoding support in osmo-mgw we can not resolve this. */ - if (is_rtp) { - rc = mgcp_patch_pt(conn_src, conn_dst, msg); - if (rc < 0) { - LOGPENDP(endp, DRTP, LOGL_DEBUG, - "can not patch PT because no suitable egress codec was found.\n"); - } - } - - /* Note: In case of loopback configuration, both, the source and the - * destination will point to the same connection. */ - rtp_end = &conn_dst->end; - rtp_state = &conn_src->state; - dest_name = conn_dst->conn->name; - - /* Ensure we have an alternative SSRC in case we need it, see also - * gen_rtp_header() */ - if (rtp_state->alt_rtp_tx_ssrc == 0) - rtp_state->alt_rtp_tx_ssrc = rand(); - - if (!rtp_end->output_enabled) { - 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", - dest_name, - osmo_sockaddr_ntop(&rtp_end->addr.u.sa, ipbuf), - ntohs(rtp_end->rtp_port), ntohs(rtp_end->rtcp_port) - ); - } else if (is_rtp) { - int cont; - int nbytes = 0; - int buflen = msgb_length(msg); - - /* Make sure we have a valid RTP header, in cases where no RTP - * header is present, we will generate one. */ - gen_rtp_header(msg, rtp_end, rtp_state); - - do { - /* Run transcoder */ - cont = endp->cfg->rtp_processing_cb(endp, rtp_end, - (char*)msgb_data(msg), &buflen, - RTP_BUF_SIZE); - if (cont < 0) - break; - - if (addr) - mgcp_patch_and_count(endp, rtp_state, rtp_end, - addr, msg); - - if (amr_oa_bwe_convert_indicated(conn_dst->end.codec)) { - rc = amr_oa_bwe_convert(endp, msg, - conn_dst->end.codec->param.amr_octet_aligned); - if (rc < 0) { - LOGPENDP(endp, DRTP, LOGL_ERROR, - "Error in AMR octet-aligned <-> bandwidth-efficient mode conversion\n"); - break; - } - } - else if (rtp_end->rfc5993_hr_convert - && strcmp(conn_src->end.codec->subtype_name, - "GSM-HR-08") == 0) { - rc = rfc5993_hr_convert(endp, msg); - if (rc < 0) { - LOGPENDP(endp, DRTP, LOGL_ERROR, "Error while converting to GSM-HR-08\n"); - break; - } - } - - LOGPENDP(endp, DRTP, LOGL_DEBUG, - "process/send to %s %s " - "rtp_port:%u rtcp_port:%u\n", - dest_name, - osmo_sockaddr_ntop(&rtp_end->addr.u.sa, ipbuf), - ntohs(rtp_end->rtp_port), ntohs(rtp_end->rtcp_port) - ); - - /* Forward a copy of the RTP data to a debug ip/port */ - forward_data(rtp_end->rtp.fd, &conn_src->tap_out, - msg); - - /* FIXME: HACK HACK HACK. See OS#2459. - * The ip.access nano3G needs the first RTP payload's first two bytes to read hex - * 'e400', or it will reject the RAB assignment. It seems to not harm other femto - * cells (as long as we patch only the first RTP payload in each stream). - */ - if (!rtp_state->patched_first_rtp_payload - && conn_src->conn->mode == MGCP_CONN_LOOPBACK) { - uint8_t *data = msgb_data(msg) + 12; - if (data[0] == 0xe0) { - data[0] = 0xe4; - data[1] = 0x00; - rtp_state->patched_first_rtp_payload = true; - LOGPENDP(endp, DRTP, LOGL_DEBUG, - "Patching over first two bytes" - " to fake an IuUP Initialization Ack\n"); - } - } - - len = mgcp_udp_send(rtp_end->rtp.fd, &rtp_end->addr, rtp_end->rtp_port, - (char*)msgb_data(msg), msgb_length(msg)); - - if (len <= 0) - return len; - - rtpconn_rate_ctr_inc(conn_dst, endp, RTP_PACKETS_TX_CTR); - rtpconn_rate_ctr_add(conn_dst, endp, RTP_OCTETS_TX_CTR, len); - rtp_state->alt_rtp_tx_sequence++; - - nbytes += len; - buflen = cont; - } while (buflen > 0); - return nbytes; - } else if (!trunk->omit_rtcp) { - LOGPENDP(endp, DRTP, LOGL_DEBUG, - "send to %s %s rtp_port:%u rtcp_port:%u\n", - dest_name, osmo_sockaddr_ntop(&rtp_end->addr.u.sa, ipbuf), - ntohs(rtp_end->rtp_port), ntohs(rtp_end->rtcp_port) - ); - - len = mgcp_udp_send(rtp_end->rtcp.fd, - &rtp_end->addr, - rtp_end->rtcp_port, (char*)msgb_data(msg), msgb_length(msg)); - - rtpconn_rate_ctr_inc(conn_dst, endp, RTP_PACKETS_TX_CTR); - rtpconn_rate_ctr_add(conn_dst, endp, RTP_OCTETS_TX_CTR, len); - rtp_state->alt_rtp_tx_sequence++; - - return len; - } - - return 0; -} - /* Check if the origin (addr) matches the address/port data of the RTP * connections. */ static int check_rtp_origin(struct mgcp_conn_rtp *conn, struct osmo_sockaddr *addr) @@ -1236,6 +992,249 @@ return -1; } +/*! send udp packet. + * \param[in] fd associated file descriptor. + * \param[in] addr destination ip-address. + * \param[in] port destination UDP port (network byte order). + * \param[in] buf buffer that holds the data to be send. + * \param[in] len length of the data to be sent. + * \returns bytes sent, -1 on error. */ +int mgcp_udp_send(int fd, struct osmo_sockaddr *addr, int port, const char *buf, int len) +{ + char ipbuf[INET6_ADDRSTRLEN]; + size_t addr_len; + bool is_ipv6 = addr->u.sa.sa_family == AF_INET6; + + LOGP(DRTP, LOGL_DEBUG, + "sending %i bytes length packet to %s:%u ...\n", len, + osmo_sockaddr_ntop(&addr->u.sa, ipbuf), + ntohs(port)); + + if (is_ipv6) { + addr->u.sin6.sin6_port = port; + addr_len = sizeof(addr->u.sin6); + } else { + addr->u.sin.sin_port = port; + addr_len = sizeof(addr->u.sin); + } + + return sendto(fd, buf, len, 0, &addr->u.sa, addr_len); +} + +/*! send RTP dummy packet (to keep NAT connection open). + * \param[in] endp mcgp endpoint that holds the RTP connection. + * \param[in] conn associated RTP connection. + * \returns bytes sent, -1 on error. */ +int mgcp_send_dummy(struct mgcp_endpoint *endp, struct mgcp_conn_rtp *conn) +{ + int rc; + int was_rtcp = 0; + + OSMO_ASSERT(endp); + OSMO_ASSERT(conn); + + LOGPCONN(conn->conn, DRTP, LOGL_DEBUG,"sending dummy packet... %s\n", + mgcp_conn_dump(conn->conn)); + + rc = mgcp_udp_send(conn->end.rtp.fd, &conn->end.addr, + conn->end.rtp_port, rtp_dummy_payload, sizeof(rtp_dummy_payload)); + + if (rc == -1) + goto failed; + + if (endp->trunk->omit_rtcp) + return rc; + + was_rtcp = 1; + rc = mgcp_udp_send(conn->end.rtcp.fd, &conn->end.addr, + conn->end.rtcp_port, rtp_dummy_payload, sizeof(rtp_dummy_payload)); + + if (rc >= 0) + return rc; + +failed: + LOGPCONN(conn->conn, DRTP, LOGL_ERROR, + "Failed to send dummy %s packet.\n", + was_rtcp ? "RTCP" : "RTP"); + + return -1; +} + +/*! Send RTP/RTCP data to a specified destination connection. + * \param[in] endp associated endpoint (for configuration, logging). + * \param[in] is_rtp flag to specify if the packet is of type RTP or RTCP. + * \param[in] spoofed source address (set to NULL to disable). + * \param[in] buf buffer that contains the RTP/RTCP data. + * \param[in] len length of the buffer that contains the RTP/RTCP data. + * \param[in] conn_src associated source connection. + * \param[in] conn_dst associated destination connection. + * \returns 0 on success, -1 on ERROR. */ +int mgcp_send(struct mgcp_endpoint *endp, int is_rtp, struct osmo_sockaddr *addr, + struct msgb *msg, struct mgcp_conn_rtp *conn_src, + struct mgcp_conn_rtp *conn_dst) +{ + /*! When no destination connection is available (e.g. when only one + * connection in loopback mode exists), then the source connection + * shall be specified as destination connection */ + + struct mgcp_trunk *trunk = endp->trunk; + struct mgcp_rtp_end *rtp_end; + struct mgcp_rtp_state *rtp_state; + char ipbuf[INET6_ADDRSTRLEN]; + char *dest_name; + int rc; + int len; + + OSMO_ASSERT(conn_src); + OSMO_ASSERT(conn_dst); + + if (is_rtp) { + LOGPENDP(endp, DRTP, LOGL_DEBUG, "delivering RTP packet...\n"); + } else { + LOGPENDP(endp, DRTP, LOGL_DEBUG, "delivering RTCP packet...\n"); + } + + /* FIXME: It is legal that the payload type on the egress connection is + * different from the payload type that has been negotiated on the + * ingress connection. Essentially the codecs are the same so we can + * match them and patch the payload type. However, if we can not find + * the codec pendant (everything ist equal except the PT), we are of + * course unable to patch the payload type. A situation like this + * should not occur if transcoding is consequently avoided. Until + * we have transcoding support in osmo-mgw we can not resolve this. */ + if (is_rtp) { + rc = mgcp_patch_pt(conn_src, conn_dst, msg); + if (rc < 0) { + LOGPENDP(endp, DRTP, LOGL_DEBUG, + "can not patch PT because no suitable egress codec was found.\n"); + } + } + + /* Note: In case of loopback configuration, both, the source and the + * destination will point to the same connection. */ + rtp_end = &conn_dst->end; + rtp_state = &conn_src->state; + dest_name = conn_dst->conn->name; + + /* Ensure we have an alternative SSRC in case we need it, see also + * gen_rtp_header() */ + if (rtp_state->alt_rtp_tx_ssrc == 0) + rtp_state->alt_rtp_tx_ssrc = rand(); + + if (!rtp_end->output_enabled) { + 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", + dest_name, + osmo_sockaddr_ntop(&rtp_end->addr.u.sa, ipbuf), + ntohs(rtp_end->rtp_port), ntohs(rtp_end->rtcp_port) + ); + } else if (is_rtp) { + int cont; + int nbytes = 0; + int buflen = msgb_length(msg); + + /* Make sure we have a valid RTP header, in cases where no RTP + * header is present, we will generate one. */ + gen_rtp_header(msg, rtp_end, rtp_state); + + do { + /* Run transcoder */ + cont = endp->cfg->rtp_processing_cb(endp, rtp_end, + (char*)msgb_data(msg), &buflen, + RTP_BUF_SIZE); + if (cont < 0) + break; + + if (addr) + mgcp_patch_and_count(endp, rtp_state, rtp_end, + addr, msg); + + if (amr_oa_bwe_convert_indicated(conn_dst->end.codec)) { + rc = amr_oa_bwe_convert(endp, msg, + conn_dst->end.codec->param.amr_octet_aligned); + if (rc < 0) { + LOGPENDP(endp, DRTP, LOGL_ERROR, + "Error in AMR octet-aligned <-> bandwidth-efficient mode conversion\n"); + break; + } + } + else if (rtp_end->rfc5993_hr_convert + && strcmp(conn_src->end.codec->subtype_name, + "GSM-HR-08") == 0) { + rc = rfc5993_hr_convert(endp, msg); + if (rc < 0) { + LOGPENDP(endp, DRTP, LOGL_ERROR, "Error while converting to GSM-HR-08\n"); + break; + } + } + + LOGPENDP(endp, DRTP, LOGL_DEBUG, + "process/send to %s %s " + "rtp_port:%u rtcp_port:%u\n", + dest_name, + osmo_sockaddr_ntop(&rtp_end->addr.u.sa, ipbuf), + ntohs(rtp_end->rtp_port), ntohs(rtp_end->rtcp_port) + ); + + /* Forward a copy of the RTP data to a debug ip/port */ + forward_data(rtp_end->rtp.fd, &conn_src->tap_out, + msg); + + /* FIXME: HACK HACK HACK. See OS#2459. + * The ip.access nano3G needs the first RTP payload's first two bytes to read hex + * 'e400', or it will reject the RAB assignment. It seems to not harm other femto + * cells (as long as we patch only the first RTP payload in each stream). + */ + if (!rtp_state->patched_first_rtp_payload + && conn_src->conn->mode == MGCP_CONN_LOOPBACK) { + uint8_t *data = msgb_data(msg) + 12; + if (data[0] == 0xe0) { + data[0] = 0xe4; + data[1] = 0x00; + rtp_state->patched_first_rtp_payload = true; + LOGPENDP(endp, DRTP, LOGL_DEBUG, + "Patching over first two bytes" + " to fake an IuUP Initialization Ack\n"); + } + } + + len = mgcp_udp_send(rtp_end->rtp.fd, &rtp_end->addr, rtp_end->rtp_port, + (char*)msgb_data(msg), msgb_length(msg)); + + if (len <= 0) + return len; + + rtpconn_rate_ctr_inc(conn_dst, endp, RTP_PACKETS_TX_CTR); + rtpconn_rate_ctr_add(conn_dst, endp, RTP_OCTETS_TX_CTR, len); + rtp_state->alt_rtp_tx_sequence++; + + nbytes += len; + buflen = cont; + } while (buflen > 0); + return nbytes; + } else if (!trunk->omit_rtcp) { + LOGPENDP(endp, DRTP, LOGL_DEBUG, + "send to %s %s rtp_port:%u rtcp_port:%u\n", + dest_name, osmo_sockaddr_ntop(&rtp_end->addr.u.sa, ipbuf), + ntohs(rtp_end->rtp_port), ntohs(rtp_end->rtcp_port) + ); + + len = mgcp_udp_send(rtp_end->rtcp.fd, + &rtp_end->addr, + rtp_end->rtcp_port, (char*)msgb_data(msg), msgb_length(msg)); + + rtpconn_rate_ctr_inc(conn_dst, endp, RTP_PACKETS_TX_CTR); + rtpconn_rate_ctr_add(conn_dst, endp, RTP_OCTETS_TX_CTR, len); + rtp_state->alt_rtp_tx_sequence++; + + return len; + } + + return 0; +} + /*! dispatch incoming RTP packet to opposite RTP connection. * \param[in] proto protocol (MGCP_CONN_TYPE_RTP or MGCP_CONN_TYPE_RTCP). * \param[in] addr socket address where the RTP packet has been received from. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24860 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Iff8dab942182a0d909519acddb86be75d9cda7ae Gerrit-Change-Number: 24860 Gerrit-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 Jul 6 16:45:37 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 6 Jul 2021 16:45:37 +0000 Subject: Change in osmo-mgw[master]: mgcp_send_dummy: Check RTP destination is available before attempt tx References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24861 ) Change subject: mgcp_send_dummy: Check RTP destination is available before attempt tx ...................................................................... mgcp_send_dummy: Check RTP destination is available before attempt tx Several log messages showing "Failed to send dummy RTP packet." were seen in a osmo-mgw on the field. Let's re-use the function to check and provide more information on what's wrong to ease debugging. Related: SYS#5498 Change-Id: Iee6ac1f4d24c131e3bf40c37e6fdc252e5208ec8 --- M src/libosmo-mgcp/mgcp_network.c M tests/mgcp/mgcp_test.c M tests/mgcp/mgcp_test.ok 3 files changed, 10 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/61/24861/1 diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index a56bb31..8de85b8 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -1036,6 +1036,12 @@ LOGPCONN(conn->conn, DRTP, LOGL_DEBUG,"sending dummy packet... %s\n", mgcp_conn_dump(conn->conn)); + /* Before we try to deliver the packet, we check if the destination + * port and IP-Address make sense at all. If not, we will be unable + * to deliver the packet. */ + if (check_rtp_destin(conn) != 0) + goto failed; + rc = mgcp_udp_send(conn->end.rtp.fd, &conn->end.addr, conn->end.rtp_port, rtp_dummy_payload, sizeof(rtp_dummy_payload)); diff --git a/tests/mgcp/mgcp_test.c b/tests/mgcp/mgcp_test.c index 2ca0b4c..03d600f 100644 --- a/tests/mgcp/mgcp_test.c +++ b/tests/mgcp/mgcp_test.c @@ -634,6 +634,10 @@ dummy_packets += 1; } + /* Make sure address+port are valid */ + OSMO_ASSERT(dest_host); + OSMO_ASSERT(dest_port); + return len; } diff --git a/tests/mgcp/mgcp_test.ok b/tests/mgcp/mgcp_test.ok index 9c48147..d3f8a26 100644 --- a/tests/mgcp/mgcp_test.ok +++ b/tests/mgcp/mgcp_test.ok @@ -118,7 +118,6 @@ using message with patched conn_id for comparison Response matches our expectations. (response contains a connection id) -Dummy packets: 2 ================================================ Testing MDCX4_PT1 @@ -142,7 +141,6 @@ using message with patched conn_id for comparison Response matches our expectations. (response contains a connection id) -Dummy packets: 2 ================================================ Testing MDCX4_PT2 @@ -166,7 +164,6 @@ using message with patched conn_id for comparison Response matches our expectations. (response contains a connection id) -Dummy packets: 2 ================================================ Testing MDCX4_PT3 @@ -190,7 +187,6 @@ using message with patched conn_id for comparison Response matches our expectations. (response contains a connection id) -Dummy packets: 2 ================================================ Testing MDCX4_PT4 @@ -214,7 +210,6 @@ using message with patched conn_id for comparison Response matches our expectations. (response contains a connection id) -Dummy packets: 2 ================================================ Testing MDCX4_SO @@ -253,7 +248,6 @@ using message with patched conn_id for comparison Response matches our expectations. (response contains a connection id) -Dummy packets: 2 ================================================ Testing DLCX @@ -441,7 +435,6 @@ using message with patched conn_id for comparison Response matches our expectations. (response contains a connection id) -Dummy packets: 2 ================================================ Testing CRCX -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24861 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Iee6ac1f4d24c131e3bf40c37e6fdc252e5208ec8 Gerrit-Change-Number: 24861 Gerrit-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 Jul 6 16:45:37 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 6 Jul 2021 16:45:37 +0000 Subject: Change in osmo-mgw[master]: mgw: rx CRCX: Avoid sending dummy rtp if remote address not provided References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24862 ) Change subject: mgw: rx CRCX: Avoid sending dummy rtp if remote address not provided ...................................................................... mgw: rx CRCX: Avoid sending dummy rtp if remote address not provided The following sequence of events was seen frequently in a osmo-mgw instance running on the field with heavy traffic: """ endpoint:rtpbridge/1 at mgw CRCX: creating new connection ... mgcp_network.c:236 endpoint:rtpbridge/1 at mgw CI:1C8CCFA9 Failed to send dummy RTP packet. """ Allegedly, that happens because at CRCX time the remote address may still not be known, hence we end up trying to send a dummy rtp packet to, for instance, host 0.0.0.0 port 0, which will of course fail. Let's avoid sending it if the address is not yet known. Similary, same issue could be seen during MDCX, since at MDCX we don't necessarily need to have a valid addr+port (there could be several MDCX and only last one set it). Finally, the keepalive timer also needs the check, since it iterates over all connections, and it could be that some is still not fully configured. Related: SYS#5498 Change-Id: I8ceafda691146823b12232b4a804b4ce74acbdc8 --- M include/osmocom/mgcp/mgcp_network.h M src/libosmo-mgcp/mgcp_network.c M src/libosmo-mgcp/mgcp_protocol.c 3 files changed, 11 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/62/24862/1 diff --git a/include/osmocom/mgcp/mgcp_network.h b/include/osmocom/mgcp/mgcp_network.h index 1766f4a..643ed51 100644 --- a/include/osmocom/mgcp/mgcp_network.h +++ b/include/osmocom/mgcp/mgcp_network.h @@ -132,6 +132,8 @@ char local_addr[INET6_ADDRSTRLEN]; }; +bool mgcp_rtp_end_remote_addr_available(const struct mgcp_rtp_end *rtp_end); + struct mgcp_rtp_tap { /* is this tap active (1) or not (0) */ int enabled; diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index 8de85b8..785b99e 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -77,7 +77,7 @@ static int rx_rtp(struct msgb *msg); -static bool addr_is_any(struct osmo_sockaddr *osa) { +static bool addr_is_any(const struct osmo_sockaddr *osa) { if (osa->u.sa.sa_family == AF_INET6) { struct in6_addr ip6_any = IN6ADDR_ANY_INIT; return memcmp(&osa->u.sin6.sin6_addr, @@ -87,6 +87,11 @@ } } +bool mgcp_rtp_end_remote_addr_available(const struct mgcp_rtp_end *rtp_end) +{ + return rtp_end->rtp_port && !addr_is_any(&rtp_end->addr); +} + /*! 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. diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index 3014048..fd8c3d1 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -991,6 +991,7 @@ /* Send dummy packet, see also comments in mgcp_keepalive_timer_cb() */ OSMO_ASSERT(trunk->keepalive_interval >= MGCP_KEEPALIVE_ONCE); if (conn->conn->mode & MGCP_CONN_RECV_ONLY + && mgcp_rtp_end_remote_addr_available(&conn->end) && trunk->keepalive_interval != MGCP_KEEPALIVE_NEVER) send_dummy(endp, conn); @@ -1148,7 +1149,7 @@ /* check connection mode setting */ if (conn->conn->mode != MGCP_CONN_LOOPBACK && conn->conn->mode != MGCP_CONN_RECV_ONLY - && conn->end.rtp_port == 0) { + && mgcp_rtp_end_remote_addr_available(&conn->end)) { LOGPCONN(conn->conn, DLMGCP, LOGL_ERROR, "MDCX: selected connection mode type requires an opposite end!\n"); error_code = 527; @@ -1233,6 +1234,7 @@ /* Send dummy packet, see also comments in mgcp_keepalive_timer_cb() */ OSMO_ASSERT(endp->trunk->keepalive_interval >= MGCP_KEEPALIVE_ONCE); if (conn->conn->mode & MGCP_CONN_RECV_ONLY + && mgcp_rtp_end_remote_addr_available(&conn->end) && endp->trunk->keepalive_interval != MGCP_KEEPALIVE_NEVER) send_dummy(endp, conn); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24862 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I8ceafda691146823b12232b4a804b4ce74acbdc8 Gerrit-Change-Number: 24862 Gerrit-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 Jul 6 17:08:34 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 6 Jul 2021 17:08:34 +0000 Subject: Change in osmo-mgw[master]: mgw: rx CRCX: Avoid sending dummy rtp if remote address not provided 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/+/24862 to look at the new patch set (#2). Change subject: mgw: rx CRCX: Avoid sending dummy rtp if remote address not provided ...................................................................... mgw: rx CRCX: Avoid sending dummy rtp if remote address not provided The following sequence of events was seen frequently in a osmo-mgw instance running on the field with heavy traffic: """ endpoint:rtpbridge/1 at mgw CRCX: creating new connection ... mgcp_network.c:236 endpoint:rtpbridge/1 at mgw CI:1C8CCFA9 Failed to send dummy RTP packet. """ Allegedly, that happens because at CRCX time the remote address may still not be known, hence we end up trying to send a dummy rtp packet to, for instance, host 0.0.0.0 port 0, which will of course fail. Let's avoid sending it if the address is not yet known. Similary, same issue could be seen during MDCX, since at MDCX we don't necessarily need to have a valid addr+port (there could be several MDCX and only last one set it). Finally, the keepalive timer also needs the check, since it iterates over all connections, and it could be that some is still not fully configured. Related: SYS#5498 Change-Id: I8ceafda691146823b12232b4a804b4ce74acbdc8 --- M include/osmocom/mgcp/mgcp_network.h M src/libosmo-mgcp/mgcp_network.c M src/libosmo-mgcp/mgcp_protocol.c 3 files changed, 13 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/62/24862/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24862 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I8ceafda691146823b12232b4a804b4ce74acbdc8 Gerrit-Change-Number: 24862 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 6 17:53:43 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 6 Jul 2021 17:53:43 +0000 Subject: Change in osmo-mgw[master]: Fail rx MDCX sendrecv with invalid remote addr References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24863 ) Change subject: Fail rx MDCX sendrecv with invalid remote addr ...................................................................... Fail rx MDCX sendrecv with invalid remote addr use the recently new available API to check both remote address and port, instead of only the port. It doesn't make sense to configure a conn as sendrecv if we have no IP address to send stuff to, similar to what was already being checked with the port. Change-Id: I6ce8cf52930d423d3db8c27251be8350a26a4ede --- M src/libosmo-mgcp/mgcp_protocol.c M tests/mgcp/mgcp_test.c M tests/mgcp/mgcp_test.ok 3 files changed, 93 insertions(+), 45 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/63/24863/1 diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index c71a3ba..b716cf3 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -1149,7 +1149,7 @@ /* check connection mode setting */ if (conn->conn->mode != MGCP_CONN_LOOPBACK && conn->conn->mode != MGCP_CONN_RECV_ONLY - && conn->end.rtp_port == 0) { + && !mgcp_rtp_end_remote_addr_available(&conn->end)) { LOGPCONN(conn->conn, DLMGCP, LOGL_ERROR, "MDCX: selected connection mode type requires an opposite end!\n"); error_code = 527; diff --git a/tests/mgcp/mgcp_test.c b/tests/mgcp/mgcp_test.c index 03d600f..c000e41 100644 --- a/tests/mgcp/mgcp_test.c +++ b/tests/mgcp/mgcp_test.c @@ -128,7 +128,7 @@ "a=fmtp:126 0/1/2\r\n" \ "a=ptime:40\r\n" -#define MDCX4 \ +#define MDCX4_ADDR0000 \ "MDCX 18983216 1 at mgw MGCP 1.0\r\n" \ "M: sendrecv\r" \ "C: 2\r\n" \ @@ -143,6 +143,24 @@ "a=rtpmap:99 AMR/8000\r\n" \ "a=ptime:40\r\n" +#define MDCX4_ADDR0000_RET \ + "527 18983216 FAIL\r\n" + +#define MDCX4 \ + "MDCX 18983217 1 at mgw MGCP 1.0\r\n" \ + "M: sendrecv\r" \ + "C: 2\r\n" \ + "I: %s\r\n" \ + "L: p:20, a:AMR, nt:IN\r\n" \ + "\n" \ + "v=0\r\n" \ + "o=- %s 23 IN IP4 5.6.7.8\r\n" \ + "c=IN IP4 5.6.7.8\r\n" \ + "t=0 0\r\n" \ + "m=audio 4441 RTP/AVP 99\r\n" \ + "a=rtpmap:99 AMR/8000\r\n" \ + "a=ptime:40\r\n" + #define MDCX4_RET(Ident) \ "200 " Ident " OK\r\n" \ "\r\n" \ @@ -168,45 +186,45 @@ "a=ptime:40\r\n" #define MDCX4_PT1 \ - "MDCX 18983217 1 at mgw MGCP 1.0\r\n" \ + "MDCX 18983218 1 at mgw MGCP 1.0\r\n" \ "M: SENDRECV\r" \ "C: 2\r\n" \ "I: %s\r\n" \ "L: p:20-40, a:AMR, nt:IN\r\n" \ "\n" \ "v=0\r\n" \ - "o=- %s 23 IN IP4 0.0.0.0\r\n" \ - "c=IN IP4 0.0.0.0\r\n" \ + "o=- %s 23 IN IP4 5.6.7.8\r\n" \ + "c=IN IP4 5.6.7.8\r\n" \ "t=0 0\r\n" \ "m=audio 4441 RTP/AVP 99\r\n" \ "a=rtpmap:99 AMR/8000\r\n" \ "a=ptime:40\r\n" #define MDCX4_PT2 \ - "MDCX 18983218 1 at mgw MGCP 1.0\r\n" \ + "MDCX 18983219 1 at mgw MGCP 1.0\r\n" \ "M: sendrecv\r" \ "C: 2\r\n" \ "I: %s\r\n" \ "L: p:20-20, a:AMR, nt:IN\r\n" \ "\n" \ "v=0\r\n" \ - "o=- %s 23 IN IP4 0.0.0.0\r\n" \ - "c=IN IP4 0.0.0.0\r\n" \ + "o=- %s 23 IN IP4 5.6.7.8\r\n" \ + "c=IN IP4 5.6.7.8\r\n" \ "t=0 0\r\n" \ "m=audio 4441 RTP/AVP 99\r\n" \ "a=rtpmap:99 AMR/8000\r\n" \ "a=ptime:40\r\n" #define MDCX4_PT3 \ - "MDCX 18983219 1 at mgw MGCP 1.0\r\n" \ + "MDCX 18983220 1 at mgw MGCP 1.0\r\n" \ "M: sendrecv\r" \ "C: 2\r\n" \ "I: %s\r\n" \ "L: a:AMR, nt:IN\r\n" \ "\n" \ "v=0\r\n" \ - "o=- %s 23 IN IP4 0.0.0.0\r\n" \ - "c=IN IP4 0.0.0.0\r\n" \ + "o=- %s 23 IN IP4 5.6.7.8\r\n" \ + "c=IN IP4 5.6.7.8\r\n" \ "t=0 0\r\n" \ "m=audio 4441 RTP/AVP 99\r\n" \ "a=rtpmap:99 AMR/8000\r\n" \ @@ -214,47 +232,47 @@ /* Test different upper/lower case in options */ #define MDCX4_PT4 \ - "MDCX 18983220 1 at mgw MGCP 1.0\r\n" \ + "MDCX 18983221 1 at mgw MGCP 1.0\r\n" \ "m: sendrecv\r" \ "c: 2\r\n" \ "i: %s\r\n" \ "l: A:amr, NT:IN\r\n" \ "\n" \ "v=0\r\n" \ - "o=- %s 23 IN IP4 0.0.0.0\r\n" \ - "c=IN IP4 0.0.0.0\r\n" \ + "o=- %s 23 IN IP4 5.6.7.8\r\n" \ + "c=IN IP4 5.6.7.8\r\n" \ "t=0 0\r\n" \ "m=audio 4441 RTP/AVP 99\r\n" \ "a=rtpmap:99 AMR/8000\r\n" \ "a=ptime:40\r\n" #define MDCX4_SO \ - "MDCX 18983221 1 at mgw MGCP 1.0\r\n" \ + "MDCX 18983222 1 at mgw MGCP 1.0\r\n" \ "M: sendonly\r" \ "C: 2\r\n" \ "I: %s\r\n" \ "L: p:20, a:AMR, nt:IN\r\n" \ "\n" \ "v=0\r\n" \ - "o=- %s 23 IN IP4 0.0.0.0\r\n" \ - "c=IN IP4 0.0.0.0\r\n" \ + "o=- %s 23 IN IP4 5.6.7.8\r\n" \ + "c=IN IP4 5.6.7.8\r\n" \ "t=0 0\r\n" \ "m=audio 4441 RTP/AVP 99\r\n" \ "a=rtpmap:99 AMR/8000\r\n" \ "a=ptime:40\r\n" #define MDCX4_RO \ - "MDCX 18983222 1 at mgw MGCP 1.0\r\n" \ + "MDCX 18983223 1 at mgw MGCP 1.0\r\n" \ "M: recvonly\r" \ "C: 2\r\n" \ "I: %s\r\n" \ "L: p:20, a:AMR, nt:IN\r\n" #define MDCX_TOO_LONG_CI \ - "MDCX 18983223 1 at mgw MGCP 1.0\r\n" \ + "MDCX 18983224 1 at mgw MGCP 1.0\r\n" \ "I: 123456789012345678901234567890123\n" -#define MDCX_TOO_LONG_CI_RET "510 18983223 FAIL\r\n" +#define MDCX_TOO_LONG_CI_RET "510 18983224 FAIL\r\n" #define SHORT2 "CRCX 1" #define SHORT2_RET "510 000000 FAIL\r\n" @@ -542,13 +560,14 @@ {"MDCX2", MDCX_UNALLOCATED, MDCX_RET}, {"CRCX", CRCX, CRCX_RET, 97}, {"MDCX3", MDCX3, MDCX3_RET, PTYPE_IGNORE}, - {"MDCX4", MDCX4, MDCX4_RET("18983216"), 99}, - {"MDCX4_PT1", MDCX4_PT1, MDCX4_RET("18983217"), 99}, - {"MDCX4_PT2", MDCX4_PT2, MDCX4_RET("18983218"), 99}, - {"MDCX4_PT3", MDCX4_PT3, MDCX4_RET("18983219"), 99}, - {"MDCX4_PT4", MDCX4_PT4, MDCX4_RET("18983220"), 99}, - {"MDCX4_SO", MDCX4_SO, MDCX4_RET("18983221"), 99}, - {"MDCX4_RO", MDCX4_RO, MDCX4_RO_RET("18983222"), PTYPE_IGNORE}, + {"MDCX4_ADDR000", MDCX4_ADDR0000, MDCX4_ADDR0000_RET}, + {"MDCX4", MDCX4, MDCX4_RET("18983217"), 99}, + {"MDCX4_PT1", MDCX4_PT1, MDCX4_RET("18983218"), 99}, + {"MDCX4_PT2", MDCX4_PT2, MDCX4_RET("18983219"), 99}, + {"MDCX4_PT3", MDCX4_PT3, MDCX4_RET("18983220"), 99}, + {"MDCX4_PT4", MDCX4_PT4, MDCX4_RET("18983221"), 99}, + {"MDCX4_SO", MDCX4_SO, MDCX4_RET("18983222"), 99}, + {"MDCX4_RO", MDCX4_RO, MDCX4_RO_RET("18983223"), PTYPE_IGNORE}, {"DLCX", DLCX, DLCX_RET, PTYPE_IGNORE}, {"CRCX_ZYN", CRCX_ZYN, CRCX_ZYN_RET, 97}, {"EMPTY", EMPTY, EMPTY_RET}, diff --git a/tests/mgcp/mgcp_test.ok b/tests/mgcp/mgcp_test.ok index d3f8a26..575fd83 100644 --- a/tests/mgcp/mgcp_test.ok +++ b/tests/mgcp/mgcp_test.ok @@ -97,7 +97,7 @@ Dummy packets: 2 ================================================ -Testing MDCX4 +Testing MDCX4_ADDR000 creating message from statically defined input: ---------8<--------- MDCX 18983216 1 at mgw MGCP 1.0 @@ -115,22 +115,46 @@ ---------8<--------- checking response: +using message as statically defined for comparison +Response matches our expectations. +(response does not contain a connection id) + +================================================ +Testing MDCX4 +creating message from statically defined input: +---------8<--------- +MDCX 18983217 1 at mgw MGCP 1.0 +M: sendrecv C: 2 +I: %s +L: p:20, a:AMR, nt:IN + +v=0 +o=- %s 23 IN IP4 5.6.7.8 +c=IN IP4 5.6.7.8 +t=0 0 +m=audio 4441 RTP/AVP 99 +a=rtpmap:99 AMR/8000 +a=ptime:40 + +---------8<--------- +checking response: using message with patched conn_id for comparison Response matches our expectations. (response contains a connection id) +Dummy packets: 2 ================================================ Testing MDCX4_PT1 creating message from statically defined input: ---------8<--------- -MDCX 18983217 1 at mgw MGCP 1.0 +MDCX 18983218 1 at mgw MGCP 1.0 M: SENDRECV C: 2 I: %s L: p:20-40, a:AMR, nt:IN v=0 -o=- %s 23 IN IP4 0.0.0.0 -c=IN IP4 0.0.0.0 +o=- %s 23 IN IP4 5.6.7.8 +c=IN IP4 5.6.7.8 t=0 0 m=audio 4441 RTP/AVP 99 a=rtpmap:99 AMR/8000 @@ -141,19 +165,20 @@ using message with patched conn_id for comparison Response matches our expectations. (response contains a connection id) +Dummy packets: 2 ================================================ Testing MDCX4_PT2 creating message from statically defined input: ---------8<--------- -MDCX 18983218 1 at mgw MGCP 1.0 +MDCX 18983219 1 at mgw MGCP 1.0 M: sendrecv C: 2 I: %s L: p:20-20, a:AMR, nt:IN v=0 -o=- %s 23 IN IP4 0.0.0.0 -c=IN IP4 0.0.0.0 +o=- %s 23 IN IP4 5.6.7.8 +c=IN IP4 5.6.7.8 t=0 0 m=audio 4441 RTP/AVP 99 a=rtpmap:99 AMR/8000 @@ -164,19 +189,20 @@ using message with patched conn_id for comparison Response matches our expectations. (response contains a connection id) +Dummy packets: 2 ================================================ Testing MDCX4_PT3 creating message from statically defined input: ---------8<--------- -MDCX 18983219 1 at mgw MGCP 1.0 +MDCX 18983220 1 at mgw MGCP 1.0 M: sendrecv C: 2 I: %s L: a:AMR, nt:IN v=0 -o=- %s 23 IN IP4 0.0.0.0 -c=IN IP4 0.0.0.0 +o=- %s 23 IN IP4 5.6.7.8 +c=IN IP4 5.6.7.8 t=0 0 m=audio 4441 RTP/AVP 99 a=rtpmap:99 AMR/8000 @@ -187,19 +213,20 @@ using message with patched conn_id for comparison Response matches our expectations. (response contains a connection id) +Dummy packets: 2 ================================================ Testing MDCX4_PT4 creating message from statically defined input: ---------8<--------- -MDCX 18983220 1 at mgw MGCP 1.0 +MDCX 18983221 1 at mgw MGCP 1.0 m: sendrecv c: 2 i: %s l: A:amr, NT:IN v=0 -o=- %s 23 IN IP4 0.0.0.0 -c=IN IP4 0.0.0.0 +o=- %s 23 IN IP4 5.6.7.8 +c=IN IP4 5.6.7.8 t=0 0 m=audio 4441 RTP/AVP 99 a=rtpmap:99 AMR/8000 @@ -210,19 +237,20 @@ using message with patched conn_id for comparison Response matches our expectations. (response contains a connection id) +Dummy packets: 2 ================================================ Testing MDCX4_SO creating message from statically defined input: ---------8<--------- -MDCX 18983221 1 at mgw MGCP 1.0 +MDCX 18983222 1 at mgw MGCP 1.0 M: sendonly C: 2 I: %s L: p:20, a:AMR, nt:IN v=0 -o=- %s 23 IN IP4 0.0.0.0 -c=IN IP4 0.0.0.0 +o=- %s 23 IN IP4 5.6.7.8 +c=IN IP4 5.6.7.8 t=0 0 m=audio 4441 RTP/AVP 99 a=rtpmap:99 AMR/8000 @@ -238,7 +266,7 @@ Testing MDCX4_RO creating message from statically defined input: ---------8<--------- -MDCX 18983222 1 at mgw MGCP 1.0 +MDCX 18983223 1 at mgw MGCP 1.0 M: recvonly C: 2 I: %s L: p:20, a:AMR, nt:IN @@ -248,6 +276,7 @@ using message with patched conn_id for comparison Response matches our expectations. (response contains a connection id) +Dummy packets: 2 ================================================ Testing DLCX @@ -463,7 +492,7 @@ Testing MDCX_TOO_LONG_CI creating message from statically defined input: ---------8<--------- -MDCX 18983223 1 at mgw MGCP 1.0 +MDCX 18983224 1 at mgw MGCP 1.0 I: 123456789012345678901234567890123 ---------8<--------- -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24863 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6ce8cf52930d423d3db8c27251be8350a26a4ede Gerrit-Change-Number: 24863 Gerrit-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 Jul 6 18:06:34 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 6 Jul 2021 18:06:34 +0000 Subject: Change in osmo-mgw[master]: mgcp_network.c: Reorder some functions in file In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24860 ) Change subject: mgcp_network.c: Reorder some functions in file ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24860 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Iff8dab942182a0d909519acddb86be75d9cda7ae Gerrit-Change-Number: 24860 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Tue, 06 Jul 2021 18:06: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 Jul 6 18:09:22 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 6 Jul 2021 18:09:22 +0000 Subject: Change in osmo-mgw[master]: mgcp_network.c: Reorder some functions in file In-Reply-To: References: Message-ID: Hello Jenkins Builder, neels, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/24860 to look at the new patch set (#2). Change subject: mgcp_network.c: Reorder some functions in file ...................................................................... mgcp_network.c: Reorder some functions in file This is a preparation for next commit, where one of the function will require an static function available before it in the file. Moving the functions also make sense, in order to have the 3 mgcp send functions together for more easy understanding. This commit does small style changes to fix followint linter errors: """ src/libosmo-mgcp/mgcp_network.c:1036: ERROR:SPACING: space required after that ',' (ctx:VxV) src/libosmo-mgcp/mgcp_network.c:1091: WARNING:BRACES: braces {} are not necessary for any arm of this statement src/libosmo-mgcp/mgcp_network.c:1145: ERROR:POINTER_LOCATION: "(foo*)" should be "(foo *)" src/libosmo-mgcp/mgcp_network.c:1163: ERROR:ELSE_AFTER_BRACE: else should follow close brace '}' src/libosmo-mgcp/mgcp_network.c:1204: ERROR:POINTER_LOCATION: "(foo*)" should be "(foo *)" src/libosmo-mgcp/mgcp_network.c:1226: ERROR:POINTER_LOCATION: "(foo*)" should be "(foo *)" """ Change-Id: Iff8dab942182a0d909519acddb86be75d9cda7ae --- M src/libosmo-mgcp/mgcp_network.c 1 file changed, 240 insertions(+), 244 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/60/24860/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24860 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Iff8dab942182a0d909519acddb86be75d9cda7ae Gerrit-Change-Number: 24860 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 6 18:09:22 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 6 Jul 2021 18:09:22 +0000 Subject: Change in osmo-mgw[master]: mgw: rx CRCX: Avoid sending dummy rtp if remote address not provided 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/+/24862 to look at the new patch set (#3). Change subject: mgw: rx CRCX: Avoid sending dummy rtp if remote address not provided ...................................................................... mgw: rx CRCX: Avoid sending dummy rtp if remote address not provided The following sequence of events was seen frequently in a osmo-mgw instance running on the field with heavy traffic: """ endpoint:rtpbridge/1 at mgw CRCX: creating new connection ... mgcp_network.c:236 endpoint:rtpbridge/1 at mgw CI:1C8CCFA9 Failed to send dummy RTP packet. """ Allegedly, that happens because at CRCX time the remote address may still not be known, hence we end up trying to send a dummy rtp packet to, for instance, host 0.0.0.0 port 0, which will of course fail. Let's avoid sending it if the address is not yet known. Similary, same issue could be seen during MDCX, since at MDCX we don't necessarily need to have a valid addr+port (there could be several MDCX and only last one set it). Finally, the keepalive timer also needs the check, since it iterates over all connections, and it could be that some is still not fully configured. Related: SYS#5498 Change-Id: I8ceafda691146823b12232b4a804b4ce74acbdc8 --- M include/osmocom/mgcp/mgcp_network.h M src/libosmo-mgcp/mgcp_network.c M src/libosmo-mgcp/mgcp_protocol.c 3 files changed, 16 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/62/24862/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24862 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I8ceafda691146823b12232b4a804b4ce74acbdc8 Gerrit-Change-Number: 24862 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 6 18:09:23 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 6 Jul 2021 18:09:23 +0000 Subject: Change in osmo-mgw[master]: constify arg in addr_is_any() References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24864 ) Change subject: constify arg in addr_is_any() ...................................................................... constify arg in addr_is_any() Change-Id: Ie8cb750d2e265bae48bbfa8ea1d88f3e316879ed --- M src/libosmo-mgcp/mgcp_network.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/64/24864/1 diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index 1b7c3bd..1014bf2 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -77,7 +77,8 @@ static int rx_rtp(struct msgb *msg); -static bool addr_is_any(struct osmo_sockaddr *osa) { +static bool addr_is_any(const struct osmo_sockaddr *osa) +{ if (osa->u.sa.sa_family == AF_INET6) { struct in6_addr ip6_any = IN6ADDR_ANY_INIT; return memcmp(&osa->u.sin6.sin6_addr, -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24864 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ie8cb750d2e265bae48bbfa8ea1d88f3e316879ed Gerrit-Change-Number: 24864 Gerrit-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 Jul 6 18:15:38 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 6 Jul 2021 18:15:38 +0000 Subject: Change in osmo-mgw[master]: mgcp_send_dummy: Check RTP destination is available before attempt tx In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24861 ) Change subject: mgcp_send_dummy: Check RTP destination is available before attempt tx ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/24861/1/tests/mgcp/mgcp_test.ok File tests/mgcp/mgcp_test.ok: https://gerrit.osmocom.org/c/osmo-mgw/+/24861/1/tests/mgcp/mgcp_test.ok at 121 PS1, Line 121: why is this logging changed? I don't comprehend how this happens, and i'd like to understand that it makes sense. thx -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24861 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Iee6ac1f4d24c131e3bf40c37e6fdc252e5208ec8 Gerrit-Change-Number: 24861 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: neels Gerrit-Comment-Date: Tue, 06 Jul 2021 18:15:38 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 6 18:20:27 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 6 Jul 2021 18:20:27 +0000 Subject: Change in osmo-mgw[master]: mgw: rx CRCX: Avoid sending dummy rtp if remote address not provided In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24862 ) Change subject: mgw: rx CRCX: Avoid sending dummy rtp if remote address not provided ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/24862/3/src/libosmo-mgcp/mgcp_protocol.c File src/libosmo-mgcp/mgcp_protocol.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24862/3/src/libosmo-mgcp/mgcp_protocol.c at 1497 PS3, Line 1497: for (i = 1; i < trunk->number_endpoints; ++i) { (OT: curious to start at i = 1, right?) -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24862 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I8ceafda691146823b12232b4a804b4ce74acbdc8 Gerrit-Change-Number: 24862 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Tue, 06 Jul 2021 18:20:27 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 6 18:26:17 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 6 Jul 2021 18:26:17 +0000 Subject: Change in osmo-mgw[master]: Fail rx MDCX sendrecv with invalid remote addr In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24863 ) Change subject: Fail rx MDCX sendrecv with invalid remote addr ...................................................................... Patch Set 2: Code-Review+1 would be nice to explain why the test needs a change. i presume because the 0.0.0.0 now would make the test fail? -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24863 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6ce8cf52930d423d3db8c27251be8350a26a4ede Gerrit-Change-Number: 24863 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Tue, 06 Jul 2021 18:26: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 Jul 6 18:26:50 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 6 Jul 2021 18:26:50 +0000 Subject: Change in osmo-mgw[master]: mgcp_send_dummy: Check RTP destination is available before attempt tx In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24861 ) Change subject: mgcp_send_dummy: Check RTP destination is available before attempt tx ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/24861/1/tests/mgcp/mgcp_test.ok File tests/mgcp/mgcp_test.ok: https://gerrit.osmocom.org/c/osmo-mgw/+/24861/1/tests/mgcp/mgcp_test.ok at 121 PS1, Line 121: > why is this logging changed? I don't comprehend how this happens, and i'd like to understand that it [?] because in osmo-mgw we are no longer calling sendto() with invalid ip addr and port. The dummy packets count is incremented by a function overriding "sendto()" in the test. Since in those cases the count is 0, nothing is printed. In other tests under this same file dummy packets still appear. So, in summary, these lines not being printed anymore mean that the issue is being fixed and we are not calling sendto() with invalid data. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24861 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Iee6ac1f4d24c131e3bf40c37e6fdc252e5208ec8 Gerrit-Change-Number: 24861 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: neels Gerrit-Comment-Date: Tue, 06 Jul 2021 18:26:50 +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 Tue Jul 6 18:27:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 6 Jul 2021 18:27:38 +0000 Subject: Change in osmo-mgw[master]: mgw: rx CRCX: Avoid sending dummy rtp if remote address not provided In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24862 ) Change subject: mgw: rx CRCX: Avoid sending dummy rtp if remote address not provided ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/24862/3/src/libosmo-mgcp/mgcp_protocol.c File src/libosmo-mgcp/mgcp_protocol.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24862/3/src/libosmo-mgcp/mgcp_protocol.c at 1497 PS3, Line 1497: for (i = 1; i < trunk->number_endpoints; ++i) { > (OT: curious to start at i = 1, right?) I just spoke about it with dexter in jabber groupchat a few mins ago. He'll fix it tomorrow. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24862 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I8ceafda691146823b12232b4a804b4ce74acbdc8 Gerrit-Change-Number: 24862 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Tue, 06 Jul 2021 18:27:38 +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 Tue Jul 6 18:28:11 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 6 Jul 2021 18:28:11 +0000 Subject: Change in osmo-mgw[master]: mgcp_network.c: Reorder some functions in file In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24860 ) Change subject: mgcp_network.c: Reorder some functions in file ...................................................................... Patch Set 2: Code-Review+1 (2 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/24860/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-mgw/+/24860/2//COMMIT_MSG at 15 PS2, Line 15: This commit does small style changes to fix followint linter errors: followint linger errors https://gerrit.osmocom.org/c/osmo-mgw/+/24860/2//COMMIT_MSG at 22 PS2, Line 22: src/libosmo-mgcp/mgcp_network.c:1226: ERROR:POINTER_LOCATION: "(foo*)" should be "(foo *)" (would be nicer to fix linting first in a separate commit) -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24860 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Iff8dab942182a0d909519acddb86be75d9cda7ae Gerrit-Change-Number: 24860 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Tue, 06 Jul 2021 18:28: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 Jul 6 18:28:39 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 6 Jul 2021 18:28:39 +0000 Subject: Change in osmo-mgw[master]: constify arg in addr_is_any() In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24864 ) Change subject: constify arg in addr_is_any() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24864 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ie8cb750d2e265bae48bbfa8ea1d88f3e316879ed Gerrit-Change-Number: 24864 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Tue, 06 Jul 2021 18:28: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 Jul 6 18:29:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 6 Jul 2021 18:29:33 +0000 Subject: Change in osmo-mgw[master]: Fail rx MDCX sendrecv with invalid remote addr In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24863 ) Change subject: Fail rx MDCX sendrecv with invalid remote addr ...................................................................... Patch Set 2: > Patch Set 2: Code-Review+1 > > would be nice to explain why the test needs a change. > i presume because the 0.0.0.0 now would make the test fail? Yes, MDCX4 sets "sendrecv" while still not setting the remote ip addr (uses 0.0.0.0). Hence, it fails. So I updated MDCX4 and others using "sendrecv" to provide a valid remote IP address, and I added a new MDCX4_ADDR000 which is basically what the old MDCX4 used to be, to show up that will trigger a FAIL from osmo-mgw. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24863 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6ce8cf52930d423d3db8c27251be8350a26a4ede Gerrit-Change-Number: 24863 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Tue, 06 Jul 2021 18: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 Tue Jul 6 18:30:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 6 Jul 2021 18:30:09 +0000 Subject: Change in osmo-mgw[master]: constify arg in addr_is_any() In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24864 ) Change subject: constify arg in addr_is_any() ...................................................................... constify arg in addr_is_any() Change-Id: Ie8cb750d2e265bae48bbfa8ea1d88f3e316879ed --- M src/libosmo-mgcp/mgcp_network.c 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified neels: Looks good to me, approved diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index 1b7c3bd..1014bf2 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -77,7 +77,8 @@ static int rx_rtp(struct msgb *msg); -static bool addr_is_any(struct osmo_sockaddr *osa) { +static bool addr_is_any(const struct osmo_sockaddr *osa) +{ if (osa->u.sa.sa_family == AF_INET6) { struct in6_addr ip6_any = IN6ADDR_ANY_INIT; return memcmp(&osa->u.sin6.sin6_addr, -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24864 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ie8cb750d2e265bae48bbfa8ea1d88f3e316879ed Gerrit-Change-Number: 24864 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 6 23:27:46 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 6 Jul 2021 23:27:46 +0000 Subject: Change in osmo-mgw[master]: mgcp_send_dummy: Check RTP destination is available before attempt tx In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24861 ) Change subject: mgcp_send_dummy: Check RTP destination is available before attempt tx ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/24861/1/tests/mgcp/mgcp_test.ok File tests/mgcp/mgcp_test.ok: https://gerrit.osmocom.org/c/osmo-mgw/+/24861/1/tests/mgcp/mgcp_test.ok at 121 PS1, Line 121: > because in osmo-mgw we are no longer calling sendto() with invalid ip addr and port. [?] Ack -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24861 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Iee6ac1f4d24c131e3bf40c37e6fdc252e5208ec8 Gerrit-Change-Number: 24861 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Tue, 06 Jul 2021 23:27:46 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: neels 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 Jul 6 23:30:22 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 6 Jul 2021 23:30:22 +0000 Subject: Change in osmo-mgw[master]: Fail rx MDCX sendrecv with invalid remote addr In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24863 ) Change subject: Fail rx MDCX sendrecv with invalid remote addr ...................................................................... Patch Set 2: > Yes, MDCX4 sets "sendrecv" while still not setting the remote ip addr (uses 0.0.0.0). Hence, it fails. > So I updated MDCX4 and others using "sendrecv" to provide a valid remote IP address, and I added a new MDCX4_ADDR000 which is basically what the old MDCX4 used to be, to show up that will trigger a FAIL from osmo-mgw. nice, thx. typically this info is best put in the commit log, let's say next time -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24863 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6ce8cf52930d423d3db8c27251be8350a26a4ede Gerrit-Change-Number: 24863 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Tue, 06 Jul 2021 23:30:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Wed Jul 7 00:49:53 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 07 Jul 2021 00:49:53 +0000 Subject: Build failure of network:osmocom:nightly/open5gs in Debian_10/x86_64 In-Reply-To: References: Message-ID: <60e4fa4c7688e_680f2b06361d85f023992b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/open5gs/Debian_10/x86_64 Package network:osmocom:nightly/open5gs failed to build in Debian_10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly open5gs Last lines of build log: [ 1070s] gtp-message-test : /-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\SUCCESS [ 1070s] ngap-message-test : /-|\-|/-|\-|/SUCCESS [ 1070s] sbi-message-test : /-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-SUCCESS [ 1070s] security-test : /-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-SUCCESS [ 1070s] crash-test : /-|\-|/-|\-|/-SUCCESS [ 1070s] All tests passed. [ 1070s] core time out (After 30 seconds) [ 1070s] 1/3 open5gs:unit / core TIMEOUT 30.04 s [ 1070s] 2/3 open5gs:unit / crypt OK 0.29 s [ 1070s] 3/3 open5gs:unit / unit OK 0.24 s [ 1070s] [ 1070s] Ok: 2 [ 1070s] Expected Fail: 0 [ 1070s] Fail: 1 [ 1070s] Unexpected Pass: 0 [ 1070s] Skipped: 0 [ 1070s] Timeout: 1 [ 1070s] [ 1070s] make[1]: *** [debian/rules:17: override_dh_auto_test] Error 1 [ 1070s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 1070s] make: *** [debian/rules:11: binary] Error 2 [ 1070s] dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 [ 1070s] ### VM INTERACTION START ### [ 1073s] [ 1004.070354] sysrq: Power Off [ 1073s] [ 1004.128883] reboot: Power down [ 1073s] ### VM INTERACTION END ### [ 1073s] [ 1073s] lamb55 failed "build open5gs_2.3.1.202107070026.dsc" at Wed Jul 7 00:49:44 UTC 2021. [ 1073s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed Jul 7 08:10:20 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 7 Jul 2021 08:10:20 +0000 Subject: Change in osmo-bts[master]: allow to configure multiple oml remote-ip addresses In-Reply-To: References: Message-ID: dexter has removed fixeria from this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24513 ) Change subject: allow to configure multiple oml remote-ip addresses ...................................................................... Removed reviewer fixeria. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24513 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I205f68a3a7f35fee4c38a7cfba2b014237df2727 Gerrit-Change-Number: 24513 Gerrit-PatchSet: 8 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: deleteReviewer -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 7 08:39:57 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 7 Jul 2021 08:39:57 +0000 Subject: Change in osmo-mgw[master]: mgcp_ctrl: add functions to inspect trunk usage In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24822 ) Change subject: mgcp_ctrl: add functions to inspect trunk usage ...................................................................... Patch Set 1: (3 comments) > Patch Set 1: Code-Review+1 > > I'm not against this patch, but I just wonder whether it'd make more sense to have this as osmo_stat instead? This is needed for TTCN3 testing. Would osmo_stat work with that. Also this is not a rate counter, this is a fixed value at a certain point in time. https://gerrit.osmocom.org/c/osmo-mgw/+/24822/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-mgw/+/24822/1//COMMIT_MSG at 10 PS1, Line 10: endpoints and of the number of endpoints > not forgetting the number of endpoints Done https://gerrit.osmocom.org/c/osmo-mgw/+/24822/1//COMMIT_MSG at 11 PS1, Line 11: operators to monitor the MGW usage and also simplifies TTCN3 tests > (monitoring: wouldn't that be via stats exporting?) Its more for testing with TTCN3, at least that is what I need it for. I don't know much about the stats exporting, but isn't that something that is more or less intended to monitor rates using rate counters. What I need here is an exact snapshot. https://gerrit.osmocom.org/c/osmo-mgw/+/24822/1/src/libosmo-mgcp/mgcp_ctrl.c File src/libosmo-mgcp/mgcp_ctrl.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24822/1/src/libosmo-mgcp/mgcp_ctrl.c at 48 PS1, Line 48: CTRL_CMD_DEFINE_RO(endpoint_count, "endpoint_count"); > what's the dif between endpoint_usage and endpoint_count? endpoint_count returns the number of totally available endpoints. Its of course a fixed number that is set via config file (not possible for E1 trunks). I thought it would make sense to have that but I don't need it in my TTCN3 test. Do you have an idea for a better name? -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24822 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib8b5a6e733f521828647742085cad8eccb3e715b Gerrit-Change-Number: 24822 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Wed, 07 Jul 2021 08:39:57 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: neels Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 7 08:40:44 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 7 Jul 2021 08:40:44 +0000 Subject: Change in osmo-mgw[master]: mgcp_ctrl: add functions to inspect trunk usage In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/24822 to look at the new patch set (#2). Change subject: mgcp_ctrl: add functions to inspect trunk usage ...................................................................... mgcp_ctrl: add functions to inspect trunk usage It is useful to have control commands to check on the total number of endpoints and how many of them are currently in use. This would allow operators to monitor the MGW usage and also simplifies TTCN3 tests Change-Id: Ib8b5a6e733f521828647742085cad8eccb3e715b --- M include/osmocom/mgcp/mgcp_ctrl.h M src/libosmo-mgcp/mgcp_ctrl.c 2 files changed, 80 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/22/24822/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24822 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib8b5a6e733f521828647742085cad8eccb3e715b Gerrit-Change-Number: 24822 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 7 08:55:23 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 7 Jul 2021 08:55:23 +0000 Subject: Change in osmo-mgw[master]: mgcp_ctrl: add functions to inspect trunk usage In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24822 ) Change subject: mgcp_ctrl: add functions to inspect trunk usage ...................................................................... Patch Set 2: This is the TTCN3 test which depends on this change: Ib8b5a6e733f521828647742085cad8eccb3e715b -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24822 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib8b5a6e733f521828647742085cad8eccb3e715b Gerrit-Change-Number: 24822 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Wed, 07 Jul 2021 08:55: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 Jul 7 09:00:35 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 7 Jul 2021 09:00:35 +0000 Subject: Change in osmo-bts[master]: allow to configure multiple oml remote-ip addresses In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24513 ) Change subject: allow to configure multiple oml remote-ip addresses ...................................................................... Patch Set 8: Code-Review-1 (4 comments) https://gerrit.osmocom.org/c/osmo-bts/+/24513/8/src/common/abis.c File src/common/abis.c: https://gerrit.osmocom.org/c/osmo-bts/+/24513/8/src/common/abis.c at 114 PS8, Line 114: if (g_bts->osmo_link) { Are you sure you can ever get a ABIS_LINK_EV_SIGN_LINK_DOWN event where you have no oml_link nor rsl_link? I doubt so. Hence, oml_rsl_was_connected will always be true here, and the statechg to CONNECTING never happens. https://gerrit.osmocom.org/c/osmo-bts/+/24513/8/src/common/abis.c at 150 PS8, Line 150: if (!llist_contains(&bts->bsc_oml_hosts, priv->bsc_oml_host)) I think I already explained in previous version that imho this is not the proper way of doing this. You should not keep and use pointer addresses to freed memory. You are only looking for a disaster here. What if a new entry has been allocated in the same memory chunk and added to the tail of the list? This condition would be true, so you'll go on and take next in list, which would be none, and be done. And in the process you could have jumped/discarded several addresses in the middle. Rather than that, better send an event to the FSM from the VTY code before freeing the entry, and then drop the pointer (set it to NULL) in the FSM when receiving the event. https://gerrit.osmocom.org/c/osmo-bts/+/24513/8/src/common/abis.c at 170 PS8, Line 170: osmo_get_macaddr(bts_dev_info.mac_addr, "eth0"); I see the eth0 comes from old version abis_open() below. This is probably hardcoded to sysmobts but it's not going to work fine on other systems? Anyway not related to this patch. https://gerrit.osmocom.org/c/osmo-bts/+/24513/8/src/common/abis.c at 223 PS8, Line 223: .out_state_mask = S(ABIS_LINK_ST_CONNECTING) | S(ABIS_LINK_ST_CONNECTED) | S(ABIS_LINK_ST_FAILED), In general I find much more readable to have one state/event per line. It also makes new patches easier to review/apply/revert. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24513 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I205f68a3a7f35fee4c38a7cfba2b014237df2727 Gerrit-Change-Number: 24513 Gerrit-PatchSet: 8 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 07 Jul 2021 09:00: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 Wed Jul 7 09:05:57 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 7 Jul 2021 09:05:57 +0000 Subject: Change in osmo-mgw[master]: mgcp_ctrl: add functions to inspect trunk usage In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24822 ) Change subject: mgcp_ctrl: add functions to inspect trunk usage ...................................................................... Patch Set 2: (1 comment) So I think both Neels and I have the feeling osmo_stat probably fits better than using the CTRL interface for this purpose, am I wrong? Other opinions welcome. >From dexter: "This is needed for TTCN3 testing. Would osmo_stat work with that. Also this is not a rate counter, this is a fixed value at a certain point in time." That's what osmo_stat_item are for, to provide information of a fixed value at a certain point in time. That's what we use for instance to provide information about how many logical channels are in use, how many are available, etc. So same can be done here imho. https://gerrit.osmocom.org/c/osmo-mgw/+/24822/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-mgw/+/24822/1//COMMIT_MSG at 11 PS1, Line 11: operators to monitor the MGW usage and also simplifies TTCN3 tests > Its more for testing with TTCN3, at least that is what I need it for. [?] well, rate_ctr are for tate counters, and osmo_stats are for stats ;) Both are available through statsd and also can be checked by TTCN3, we already have APIs there and tests using it to validate the values. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24822 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib8b5a6e733f521828647742085cad8eccb3e715b Gerrit-Change-Number: 24822 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Wed, 07 Jul 2021 09:05:57 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: neels Comment-In-Reply-To: dexter Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 7 09:14:31 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 7 Jul 2021 09:14:31 +0000 Subject: Change in libosmocore[master]: linuxlist: add function to check entry presence In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24813 ) Change subject: linuxlist: add function to check entry presence ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24813 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id1e8281d9d9f34277095ce9307e298bf29affa71 Gerrit-Change-Number: 24813 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 07 Jul 2021 09:14:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 7 09:26:48 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 7 Jul 2021 09:26:48 +0000 Subject: Change in osmo-ci[master]: lint: checkpatch.pl: exclude pattern, not dir References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/24865 ) Change subject: lint: checkpatch.pl: exclude pattern, not dir ...................................................................... lint: checkpatch.pl: exclude pattern, not dir Allow to exclude files in a follow-up commit, not just directories. Related: OS#5087 Change-Id: Ic3990fba60060c331c479174183924b9cdbdb4c8 --- M lint/checkpatch/checkpatch.pl M lint/checkpatch/checkpatch_osmo.sh 2 files changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/65/24865/1 diff --git a/lint/checkpatch/checkpatch.pl b/lint/checkpatch/checkpatch.pl index 2cd5402..dc56812 100755 --- a/lint/checkpatch/checkpatch.pl +++ b/lint/checkpatch/checkpatch.pl @@ -105,7 +105,7 @@ --list-types list the possible message types --types TYPE(,TYPE2...) show only these comma separated message types --ignore TYPE(,TYPE2...) ignore various comma separated message types - --exclude DIR(,DIR22...) exclude directories + --exclude PATTERN(,P2...) exclude pattern --show-types show the specific message type in the output --max-line-length=n set the maximum line length, (default $max_line_length) if exceeded, warn on patches @@ -2811,7 +2811,7 @@ my $skipme = 0; foreach (@exclude) { - if ($realfile =~ m@^(?:$_/)@) { + if ($realfile =~ m@$_@) { $skipme = 1; } } diff --git a/lint/checkpatch/checkpatch_osmo.sh b/lint/checkpatch/checkpatch_osmo.sh index 0a5c65f..7d55e98 100755 --- a/lint/checkpatch/checkpatch_osmo.sh +++ b/lint/checkpatch/checkpatch_osmo.sh @@ -2,7 +2,7 @@ SCRIPT_DIR="$(dirname "$(realpath "$0")")" # Excluded paths: -# * lint/checkpath: so it does not warn about spelling errors in spelling.txt :) +# * ^lint/checkpath/: so it does not warn about spelling errors in spelling.txt :) # Ignored checks: # * ASSIGN_IN_IF: not followed (e.g. 'if ((u8 = gsup_msg->cause))') @@ -23,7 +23,7 @@ # * STRING_FRAGMENTS: sometimes used intentionally to improve readability $SCRIPT_DIR/checkpatch.pl \ - --exclude lint/checkpatch \ + --exclude '^lint/checkpatch/' \ --ignore ASSIGN_IN_IF \ --ignore AVOID_EXTERNS \ --ignore BLOCK_COMMENT_STYLE \ -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24865 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ic3990fba60060c331c479174183924b9cdbdb4c8 Gerrit-Change-Number: 24865 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 Jul 7 09:26:49 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 7 Jul 2021 09:26:49 +0000 Subject: Change in osmo-ci[master]: lint: exclude *.ok, *.err References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/24866 ) Change subject: lint: exclude *.ok, *.err ...................................................................... lint: exclude *.ok, *.err Complains about e.g. \r\n in *.ok files. Related: OS#5087 Change-Id: I79004cec3e2eb753951a7f886318ac0db4ea2c06 --- M lint/checkpatch/checkpatch_osmo.sh 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/66/24866/1 diff --git a/lint/checkpatch/checkpatch_osmo.sh b/lint/checkpatch/checkpatch_osmo.sh index 7d55e98..208e8b6 100755 --- a/lint/checkpatch/checkpatch_osmo.sh +++ b/lint/checkpatch/checkpatch_osmo.sh @@ -2,6 +2,7 @@ SCRIPT_DIR="$(dirname "$(realpath "$0")")" # Excluded paths: +# * \.(ok|err)$: stdout and stderr of regression tests # * ^lint/checkpath/: so it does not warn about spelling errors in spelling.txt :) # Ignored checks: @@ -23,6 +24,7 @@ # * STRING_FRAGMENTS: sometimes used intentionally to improve readability $SCRIPT_DIR/checkpatch.pl \ + --exclude '\.(ok|err)$' \ --exclude '^lint/checkpatch/' \ --ignore ASSIGN_IN_IF \ --ignore AVOID_EXTERNS \ -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24866 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I79004cec3e2eb753951a7f886318ac0db4ea2c06 Gerrit-Change-Number: 24866 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 Jul 7 09:26:49 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 7 Jul 2021 09:26:49 +0000 Subject: Change in osmo-ci[master]: lint: ignore COMPLEX_MACRO References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/24867 ) Change subject: lint: ignore COMPLEX_MACRO ...................................................................... lint: ignore COMPLEX_MACRO Complains about, for example: #define MDCX4 \ "MDCX 18983217 1 at mgw MGCP 1.0\r\n" \ "M: sendrecv\r" \ "C: 2\r\n" \ "I: %s\r\n" \ "L: p:20, a:AMR, nt:IN\r\n" \ "\n" \ "v=0\r\n" \ "o=- %s 23 IN IP4 5.6.7.8\r\n" \ "c=IN IP4 5.6.7.8\r\n" \ "t=0 0\r\n" \ "m=audio 4441 RTP/AVP 99\r\n" \ "a=rtpmap:99 AMR/8000\r\n" \ "a=ptime:40\r\n" Related: OS#5087 Change-Id: Ic9d752ca841161a62e3631c84b4237a0d8594363 --- M lint/checkpatch/checkpatch_osmo.sh 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/67/24867/1 diff --git a/lint/checkpatch/checkpatch_osmo.sh b/lint/checkpatch/checkpatch_osmo.sh index 208e8b6..630fa86 100755 --- a/lint/checkpatch/checkpatch_osmo.sh +++ b/lint/checkpatch/checkpatch_osmo.sh @@ -9,6 +9,7 @@ # * ASSIGN_IN_IF: not followed (e.g. 'if ((u8 = gsup_msg->cause))') # * AVOID_EXTERNS: we do use externs # * BLOCK_COMMENT_STYLE: we don't use a trailing */ on a separate line +# * COMPLEX_MACRO: we don't use parentheses when building macros of strings across multiple lines # * CONSTANT_COMPARISON: not followed: "Comparisons should place the constant on the right side" # * EMBEDDED_FUNCTION_NAME: often __func__ isn't used, arguably not much benefit in changing this when touching code # * EXECUTE_PERMISSIONS: not followed, files need to be executable: git-version-gen, some in debian/ @@ -29,6 +30,7 @@ --ignore ASSIGN_IN_IF \ --ignore AVOID_EXTERNS \ --ignore BLOCK_COMMENT_STYLE \ + --ignore COMPLEX_MACRO \ --ignore CONSTANT_COMPARISON \ --ignore EMBEDDED_FUNCTION_NAME \ --ignore EXECUTE_PERMISSIONS \ -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24867 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ic9d752ca841161a62e3631c84b4237a0d8594363 Gerrit-Change-Number: 24867 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 Jul 7 09:26:50 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 7 Jul 2021 09:26:50 +0000 Subject: Change in osmo-ci[master]: lint: ignore LINE_CONTINUATIONS References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/24868 ) Change subject: lint: ignore LINE_CONTINUATIONS ...................................................................... lint: ignore LINE_CONTINUATIONS Causes false positives, e.g. in tests/mgcp/mgcp_test.c in osmo-mgw: #define MDCX4_PT2 \ "MDCX 18983218 1 at mgw MGCP 1.0\r\n" \ "M: sendrecv\r" \ "C: 2\r\n" \ "I: %s\r\n" \ "L: p:20-20, a:AMR, nt:IN\r\n" \ ... tests/mgcp/mgcp_test.c:189: WARNING:LINE_CONTINUATIONS: Avoid unnecessary line continuations Related: OS#5087 Change-Id: I8d8004f2a8ef926588487187af7cdef8254c7248 --- M lint/checkpatch/checkpatch_osmo.sh 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/68/24868/1 diff --git a/lint/checkpatch/checkpatch_osmo.sh b/lint/checkpatch/checkpatch_osmo.sh index 630fa86..bb78c30 100755 --- a/lint/checkpatch/checkpatch_osmo.sh +++ b/lint/checkpatch/checkpatch_osmo.sh @@ -18,6 +18,7 @@ # * GLOBAL_INITIALISERS: we initialise globals to NULL for talloc ctx (e.g. *tall_lapd_ctx = NULL) # * IF_0: used intentionally # * INITIALISED_STATIC: we use this, see also http://lkml.iu.edu/hypermail/linux/kernel/0808.1/2235.html +# * LINE_CONTINUATIONS: false positives # * LINE_SPACING: we don't always put a blank line after declarations # * REPEATED_WORD: false positives in doxygen descriptions (e.g. '\param[in] data Data passed through...') # * SPDX_LICENSE_TAG: we don't place it on line 1 @@ -39,6 +40,7 @@ --ignore GLOBAL_INITIALISERS \ --ignore IF_0 \ --ignore INITIALISED_STATIC \ + --ignore LINE_CONTINUATIONS \ --ignore LINE_SPACING \ --ignore REPEATED_WORD \ --ignore SPDX_LICENSE_TAG \ -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24868 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I8d8004f2a8ef926588487187af7cdef8254c7248 Gerrit-Change-Number: 24868 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 Jul 7 09:26:50 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 7 Jul 2021 09:26:50 +0000 Subject: Change in osmo-ci[master]: lint: checkpatch.pl: fix && complaints References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/24869 ) Change subject: lint: checkpatch.pl: fix && complaints ...................................................................... lint: checkpatch.pl: fix && complaints Don't complain with: ERROR:SPACING: space prohibited after that '&&' (ctx:ExW) in code similar to: if (conn->conn->mode != MGCP_CONN_LOOPBACK && conn->conn->mode != MGCP_CONN_RECV_ONLY && !mgcp_rtp_end_remote_addr_available(&conn->end)) { The check was supposed to complain about spaces if the && is used as unary operator (to get the address of a goto label). But it's clearly producing false positives in the Osmocom context with use as non-unary operator, so remove this check. Related: OS#5087 Related: https://github.com/torvalds/linux/commit/0d413866c7df63794790518e3fd5890969c206ad Change-Id: I7ce79e6b291b3a3dab6587a589eeef0a0bc53de9 --- M lint/checkpatch/checkpatch.pl 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/69/24869/1 diff --git a/lint/checkpatch/checkpatch.pl b/lint/checkpatch/checkpatch.pl index dc56812..ad99e0c 100755 --- a/lint/checkpatch/checkpatch.pl +++ b/lint/checkpatch/checkpatch.pl @@ -5072,7 +5072,7 @@ # unary operator, or a cast } elsif ($op eq '!' || $op eq '~' || $opv eq '*U' || $opv eq '-U' || - $opv eq '&U' || $opv eq '&&U') { + $opv eq '&U') { # Osmocom specific: &&U removed if ($ctx !~ /[WEBC]x./ && $ca !~ /(?:\)|!|~|\*|-|\&|\||\+\+|\-\-|\{)$/) { if (ERROR("SPACING", "space required before that '$op' $at\n" . $hereptr)) { -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24869 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I7ce79e6b291b3a3dab6587a589eeef0a0bc53de9 Gerrit-Change-Number: 24869 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 Jul 7 09:29:35 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 7 Jul 2021 09:29:35 +0000 Subject: Change in osmo-ci[master]: lint: checkpatch.pl: exclude pattern, not dir In-Reply-To: References: Message-ID: osmith has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-ci/+/24865 ) Change subject: lint: checkpatch.pl: exclude pattern, not dir ...................................................................... lint: checkpatch.pl: exclude pattern, not dir Allow to exclude files in a follow-up commit, not just directories. Related: OS#5087 Change-Id: Ic3990fba60060c331c479174183924b9cdbdb4c8 --- M lint/checkpatch/checkpatch.pl M lint/checkpatch/checkpatch_osmo.sh 2 files changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/65/24865/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24865 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ic3990fba60060c331c479174183924b9cdbdb4c8 Gerrit-Change-Number: 24865 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 7 09:29:35 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 7 Jul 2021 09:29:35 +0000 Subject: Change in osmo-ci[master]: lint: exclude *.ok, *.err In-Reply-To: References: Message-ID: osmith has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-ci/+/24866 ) Change subject: lint: exclude *.ok, *.err ...................................................................... lint: exclude *.ok, *.err Complains about e.g. \r\n in *.ok files. Related: OS#5087 Change-Id: I79004cec3e2eb753951a7f886318ac0db4ea2c06 --- M lint/checkpatch/checkpatch_osmo.sh 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/66/24866/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24866 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I79004cec3e2eb753951a7f886318ac0db4ea2c06 Gerrit-Change-Number: 24866 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 7 09:30:18 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 7 Jul 2021 09:30:18 +0000 Subject: Change in osmo-bts[master]: allow to configure multiple oml remote-ip addresses In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24513 ) Change subject: allow to configure multiple oml remote-ip addresses ...................................................................... Patch Set 8: (2 comments) https://gerrit.osmocom.org/c/osmo-bts/+/24513/8/src/common/abis.c File src/common/abis.c: https://gerrit.osmocom.org/c/osmo-bts/+/24513/8/src/common/abis.c at 224 PS8, Line 224: .onenter = abis_link_connecting, The onenter states are usually named *_onenter to make it clear when they run. Same with _failed below https://gerrit.osmocom.org/c/osmo-bts/+/24513/8/src/common/abis.c at 432 PS8, Line 432: /* Note: the parameter dst_host is optional and may be NULL. It is This comment is outdated -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24513 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I205f68a3a7f35fee4c38a7cfba2b014237df2727 Gerrit-Change-Number: 24513 Gerrit-PatchSet: 8 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 07 Jul 2021 09:30:18 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 7 10:18:20 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 7 Jul 2021 10:18:20 +0000 Subject: Change in osmo-mgw[master]: Fail rx MDCX sendrecv with invalid remote addr In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24863 ) Change subject: Fail rx MDCX sendrecv with invalid remote addr ...................................................................... Patch Set 2: NOTE: linter errors can be ignored in this patch, as they are not useful. I've submitted patches to adjust the linter, https://gerrit.osmocom.org/c/osmo-ci/+/24865 and following. The linter job is separate from the regular gerrit verification job, which passed. It should be possible to simply override the verified flag with +1 before merging. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24863 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6ce8cf52930d423d3db8c27251be8350a26a4ede Gerrit-Change-Number: 24863 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: osmith Gerrit-Comment-Date: Wed, 07 Jul 2021 10:18: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 Wed Jul 7 10:18:48 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 7 Jul 2021 10:18:48 +0000 Subject: Change in osmo-mgw[master]: Define patch_ssrc as bool type References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24870 ) Change subject: Define patch_ssrc as bool type ...................................................................... Define patch_ssrc as bool type This variable clearly holds a boolean value, so let's use stdef to make it clear. Change-Id: I05233a413b0d8511d056e8f93467a111c4bdf119 --- M include/osmocom/mgcp/mgcp_network.h M src/libosmo-mgcp/mgcp_network.c 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/70/24870/1 diff --git a/include/osmocom/mgcp/mgcp_network.h b/include/osmocom/mgcp/mgcp_network.h index 1766f4a..0487b91 100644 --- a/include/osmocom/mgcp/mgcp_network.h +++ b/include/osmocom/mgcp/mgcp_network.h @@ -34,7 +34,7 @@ struct { /* are we patching the SSRC value? */ - int patch_ssrc; + bool patch_ssrc; /* original SSRC (to which we shall patch any different SSRC) */ uint32_t orig_ssrc; /* offset to apply on the sequence number */ diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index 1014bf2..cac8ef0 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -636,7 +636,7 @@ adjust_rtp_timestamp_offset(endp, state, rtp_end, addr, delta_seq, timestamp); - state->patch.patch_ssrc = 1; + state->patch.patch_ssrc = true; ssrc = state->patch.orig_ssrc; if (rtp_end->force_constant_ssrc != -1) rtp_end->force_constant_ssrc -= 1; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24870 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I05233a413b0d8511d056e8f93467a111c4bdf119 Gerrit-Change-Number: 24870 Gerrit-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 Jul 7 10:41:43 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 7 Jul 2021 10:41:43 +0000 Subject: Change in osmo-mgw[master]: constify some function arg pointers References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24871 ) Change subject: constify some function arg pointers ...................................................................... constify some function arg pointers Change-Id: I7a7560fad96719da01f1ee30eea0be0e52c60e99 --- M src/libosmo-mgcp/mgcp_network.c 1 file changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/71/24871/1 diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index cac8ef0..8bfb194 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -240,7 +240,7 @@ } /* Compute timestamp alignment error */ -static int32_t ts_alignment_error(struct mgcp_rtp_stream_state *sstate, +static int32_t ts_alignment_error(const struct mgcp_rtp_stream_state *sstate, int ptime, uint32_t timestamp) { int32_t timestamp_delta; @@ -255,11 +255,11 @@ } /* Check timestamp and sequence number for plausibility */ -static int check_rtp_timestamp(struct mgcp_endpoint *endp, - struct mgcp_rtp_state *state, - struct mgcp_rtp_stream_state *sstate, - struct mgcp_rtp_end *rtp_end, - struct osmo_sockaddr *addr, +static int check_rtp_timestamp(const struct mgcp_endpoint *endp, + const struct mgcp_rtp_state *state, + const struct mgcp_rtp_stream_state *sstate, + const struct mgcp_rtp_end *rtp_end, + const struct osmo_sockaddr *addr, uint16_t seq, uint32_t timestamp, const char *text, int32_t * tsdelta_out) { -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24871 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7a7560fad96719da01f1ee30eea0be0e52c60e99 Gerrit-Change-Number: 24871 Gerrit-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 Jul 7 10:43:05 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 7 Jul 2021 10:43:05 +0000 Subject: Change in osmo-mgw[master]: constify some function arg pointers In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-mgw/+/24871 ) Change subject: constify some function arg pointers ...................................................................... constify some function arg pointers Change-Id: I7a7560fad96719da01f1ee30eea0be0e52c60e99 --- M src/libosmo-mgcp/mgcp_network.c 1 file changed, 9 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/71/24871/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24871 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7a7560fad96719da01f1ee30eea0be0e52c60e99 Gerrit-Change-Number: 24871 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 Wed Jul 7 10:53:39 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 7 Jul 2021 10:53:39 +0000 Subject: Change in osmo-mgw[master]: constify some function arg pointers 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/+/24871 to look at the new patch set (#3). Change subject: constify some function arg pointers ...................................................................... constify some function arg pointers Change-Id: I7a7560fad96719da01f1ee30eea0be0e52c60e99 --- M src/libosmo-mgcp/mgcp_network.c 1 file changed, 12 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/71/24871/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24871 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7a7560fad96719da01f1ee30eea0be0e52c60e99 Gerrit-Change-Number: 24871 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 7 11:03:34 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 7 Jul 2021 11:03:34 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: add support for wildcarded DLCX 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/+/24823 to look at the new patch set (#4). Change subject: mgcp_protocol: add support for wildcarded DLCX ...................................................................... mgcp_protocol: add support for wildcarded DLCX At the moment osmo-mgw does not support wildcarded DLCX requests that refer to the whole trunk, even though RFC3435 specifies it. However, wildcarded DLCX requests would enable the BSC or the MSC to reset its companioun osmo-mgw instance to a defined state after restart. Change-Id: I0770cf46d93ab09efe9cafdd56d2e3f1132db189 --- M include/osmocom/mgcp/mgcp_ratectr.h M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_ratectr.c 3 files changed, 20 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/23/24823/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24823 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I0770cf46d93ab09efe9cafdd56d2e3f1132db189 Gerrit-Change-Number: 24823 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder 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 Wed Jul 7 11:04:21 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 7 Jul 2021 11:04:21 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: add support for wildcarded DLCX In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24823 ) Change subject: mgcp_protocol: add support for wildcarded DLCX ...................................................................... Patch Set 3: (4 comments) Hello Neels, > Could you give an example of such a wildcard DLCX command? > Like, is it "DLCX rtpbridge/*"? > and it removes all 1 at mgw, 2 at mgw, ... endpoints, each releasing two RTP conns? Here is an example: DLCX 1210 rtpbridge/*@mgw MGCP 1.0, see also see also RFC3435 Annex F.7. Yes it clears all RTP conns on all endpoints at once. > So does such a wildcarded DLCX clear out the entire MGW state? > In practice we would then damage the use case of multiple programs using the same osmo-mgw. > > E.g. if one osmo-mgw is shared between MSC and BSC, a wildcard DLCX from the BSC would also clear the MSC's conns? > > Or imagine two BSCs are using the same osmo-mgw. > If one crashes and restarts, the other also gets all calls dumped. Yes this is true, it indeed clears the entire trunk. The usecase were BSC and MSC are sharing one osmo-mgw instance is critical indeed, but other than for small test setups I do not see any practical application for this usecase. Usually BSC and and MSC are not on the same machine. Also osmo-mgw is currently single threaded so that it is even a disadvantage not to have two separate osmo-mgw instances, even if BSC and MSC are on the same machine. However, when I do the osmo-bsc/osmo-msc part I will make it configurable via VTY. > For a while now I've been having the idea on my mind that osmo-mgw should have an inactivity timeout on endpoints. > When we didn't see any RTP nor MGCP for a long long time (one hour?) then we discard the endpoint implicitly. That would not need a clean wipe from any client program. > one hour: I'd pick a really long time for cases where a call is on hold / mute, or with local-call-local-switch, so that an endpoint can remain inactive for some time to support those use cases. We already have that feature but it is probably interfering with LCLS. I think the solution to the problem we see here depends on the usecase. > As I'm writing I'm also getting another idea: we already support using distinct domain names from MGCP clients. For example, I often configure my osmo-msc to use "1 at msc" and the osmo-bsc to use "1 at bsc" domain names in endpoints. If each client of an osmo-mgw has a distinct name (say "@bsc1" and "@bsc2"), it could clear out all its own endpoints like "DLCX *@bsc2" and leave the others intact. I think we should allow the configuration of additional virtual trunks. Than we can have rtpbridge_bsc, and rtpbridge_msc, in case it has to be a single osmo-mgw instance. This would have the same effect and would be more spec compliant I think. (don't know if an MGW can have two distinct domain names, but it would definetly a hack if applied to our architecture). > Is there a redmine issue describing this? (add "Related:" to commit log?) It refers to SYS#5392. There was the problem that the BSC was restarted severeal times but the MGW was not restarted, so over time all the endpoint resources got filled. I want to make sure that if osmo-bsc restarts that it also resets the endpoints on the MGW. > code wise i'm confused about the role of 'endp' in this patch. > Isn't 'endp' one single "123 at mgw" endpoint? Why does MGCP like "DLCX *@mgw" then go through an 'endp'? The architecture of osmo-mgw has a quirk. To do the wildcarded DLCX it first gets a free endpoint and from that endpoint it gets to the trunk. This could be fixed by adding a trunk member to struct mgcp_parse_data, that at least holds a trunk. What basically happens is that the endpoint is resolved when mgcp_parse_data is created. After the parsing handle_delete_con() is called, but by then the endpoint is already resolved. We get any endpoint that is free. This does not matter unless the trunk is fully used, then everything is locked up because we can't get a free endpoint anymore. I can try to fix this in a follow up patch. Best regards. Philipp https://gerrit.osmocom.org/c/osmo-mgw/+/24823/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-mgw/+/24823/2//COMMIT_MSG at 9 PS2, Line 9: At the moment osmo-mgw does not support wildcarded DLCX requests that > oh wow, i thought we were already using them I was surprised about this too. I remember that I was trying some methods to clear the MGW state some years ago, but non of it was working satisfactory. https://gerrit.osmocom.org/c/osmo-mgw/+/24823/2/src/libosmo-mgcp/mgcp_protocol.c File src/libosmo-mgcp/mgcp_protocol.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24823/2/src/libosmo-mgcp/mgcp_protocol.c at 1278 PS2, Line 1278: if (!endp->wildcarded_req && llist_count(&endp->conns) <= 0) { > how can llist_count return < 0? I don't think it can. [?] Done https://gerrit.osmocom.org/c/osmo-mgw/+/24823/2/src/libosmo-mgcp/mgcp_protocol.c at 1341 PS2, Line 1341: trank > trunk Done https://gerrit.osmocom.org/c/osmo-mgw/+/24823/2/src/libosmo-mgcp/mgcp_protocol.c at 1350 PS2, Line 1350: return create_ok_response(endp, 200, "DLCX", p->trans); > isn't endp released already in here since you released all the endpoints in the loop above? The endp is still there, it just got rid of all its connected and the state is reset. The memory still exists. mgcp_endp_release() does not free the endp struct. I have set endp to NULL now since the request does not refer to a specific endpoint anyway. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24823 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I0770cf46d93ab09efe9cafdd56d2e3f1132db189 Gerrit-Change-Number: 24823 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: neels Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 07 Jul 2021 11:04:21 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: neels 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 Jul 7 11:46:31 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 7 Jul 2021 11:46:31 +0000 Subject: Change in osmo-mgw[master]: constify some function arg pointers 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/+/24871 to look at the new patch set (#4). Change subject: constify some function arg pointers ...................................................................... constify some function arg pointers Change-Id: I7a7560fad96719da01f1ee30eea0be0e52c60e99 --- M include/osmocom/mgcp/mgcp_network.h M include/osmocom/mgcp/mgcp_protocol.h M src/libosmo-mgcp/mgcp_network.c M src/libosmo-mgcp/mgcp_protocol.c M tests/mgcp/mgcp_test.c 5 files changed, 20 insertions(+), 25 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/71/24871/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24871 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7a7560fad96719da01f1ee30eea0be0e52c60e99 Gerrit-Change-Number: 24871 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 7 11:46:32 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 7 Jul 2021 11:46:32 +0000 Subject: Change in osmo-mgw[master]: Take into account Marker bit when patching RTP stream References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24872 ) Change subject: Take into account Marker bit when patching RTP stream ...................................................................... Take into account Marker bit when patching RTP stream Change-Id: I1fb449eda49e82607649122b9b9d983a9e5983fa --- M include/osmocom/mgcp/mgcp_network.h M src/libosmo-mgcp/mgcp_network.c M tests/mgcp/mgcp_test.c M tests/mgcp/mgcp_test.ok 4 files changed, 90 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/72/24872/1 diff --git a/include/osmocom/mgcp/mgcp_network.h b/include/osmocom/mgcp/mgcp_network.h index 1ed00e4..96f0036 100644 --- a/include/osmocom/mgcp/mgcp_network.h +++ b/include/osmocom/mgcp/mgcp_network.h @@ -174,4 +174,4 @@ /* internal RTP Annex A counting */ void mgcp_rtp_annex_count(const struct mgcp_endpoint *endp, struct mgcp_rtp_state *state, const uint16_t seq, const int32_t transit, - const uint32_t ssrc); + const uint32_t ssrc, const bool marker_bit); diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index 46cb0fd..51d77d7 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -348,13 +348,21 @@ struct mgcp_rtp_state *state, const struct mgcp_rtp_end *rtp_end, const struct osmo_sockaddr *addr, - int16_t delta_seq, uint32_t in_timestamp) + int16_t delta_seq, uint32_t in_timestamp, + bool marker_bit) { int32_t tsdelta = state->packet_duration; int timestamp_offset; uint32_t out_timestamp; char ipbuf[INET6_ADDRSTRLEN]; + if (marker_bit) { + /* If RTP pkt contains marker bit, the timestamps are not longer + * in sync, so we can erase timestamp offset patching. */ + state->patch.timestamp_offset = 0; + return 0; + } + if (tsdelta == 0) { tsdelta = state->out_stream.last_tsdelta; if (tsdelta != 0) { @@ -398,13 +406,19 @@ struct mgcp_rtp_state *state, const struct mgcp_rtp_end *rtp_end, const struct osmo_sockaddr *addr, - uint32_t timestamp) + uint32_t timestamp, bool marker_bit) { char ipbuf[INET6_ADDRSTRLEN]; int ts_error = 0; int ts_check = 0; int ptime = state->packet_duration; + if (marker_bit) { + /* If RTP pkt contains marker bit, the timestamps are not longer + * in sync, so no alignment is needed. */ + return 0; + } + /* Align according to: T + Toffs - Tlast = k * Tptime */ ts_error = ts_alignment_error(&state->out_stream, ptime, @@ -477,12 +491,13 @@ void mgcp_rtp_annex_count(const struct mgcp_endpoint *endp, struct mgcp_rtp_state *state, const uint16_t seq, - const int32_t transit, const uint32_t ssrc) + const int32_t transit, const uint32_t ssrc, + const bool marker_bit) { int32_t d; /* initialize or re-initialize */ - if (!state->stats.initialized || state->stats.ssrc != ssrc) { + if (!state->stats.initialized || state->stats.ssrc != ssrc || marker_bit) { state->stats.initialized = 1; state->stats.base_seq = seq; state->stats.max_seq = seq - 1; @@ -566,6 +581,7 @@ int32_t transit; uint16_t seq; uint32_t timestamp, ssrc; + bool marker_bit; struct rtp_hdr *rtp_hdr; int payload = rtp_end->codec->payload_type; unsigned int len = msgb_length(msg); @@ -578,9 +594,10 @@ timestamp = ntohl(rtp_hdr->timestamp); arrival_time = get_current_ts(rtp_end->codec->rate); ssrc = ntohl(rtp_hdr->ssrc); + marker_bit = !!rtp_hdr->marker; transit = arrival_time - timestamp; - mgcp_rtp_annex_count(endp, state, seq, transit, ssrc); + mgcp_rtp_annex_count(endp, state, seq, transit, ssrc, marker_bit); if (!state->initialized) { state->initialized = 1; @@ -634,7 +651,7 @@ state->packet_duration; adjust_rtp_timestamp_offset(endp, state, rtp_end, addr, - delta_seq, timestamp); + delta_seq, timestamp, marker_bit); state->patch.patch_ssrc = true; ssrc = state->patch.orig_ssrc; @@ -652,10 +669,14 @@ state->in_stream.last_tsdelta = 0; } else { - /* Compute current per-packet timestamp delta */ - check_rtp_timestamp(endp, state, &state->in_stream, rtp_end, - addr, seq, timestamp, "input", - &state->in_stream.last_tsdelta); + if (!marker_bit) { + /* Compute current per-packet timestamp delta */ + check_rtp_timestamp(endp, state, &state->in_stream, rtp_end, + addr, seq, timestamp, "input", + &state->in_stream.last_tsdelta); + } else { + state->in_stream.last_tsdelta = 0; + } if (state->patch.patch_ssrc) ssrc = state->patch.orig_ssrc; @@ -670,7 +691,7 @@ state->out_stream.ssrc == ssrc && state->packet_duration) /* Align the timestamp offset */ align_rtp_timestamp_offset(endp, state, rtp_end, addr, - timestamp); + timestamp, marker_bit); /* Store the updated SSRC back to the packet */ if (state->patch.patch_ssrc) @@ -685,10 +706,14 @@ rtp_hdr->timestamp = htonl(timestamp); /* Check again, whether the timestamps are still valid */ - if (state->out_stream.ssrc == ssrc) - check_rtp_timestamp(endp, state, &state->out_stream, rtp_end, - addr, seq, timestamp, "output", - &state->out_stream.last_tsdelta); + if (!marker_bit) { + if (state->out_stream.ssrc == ssrc) + check_rtp_timestamp(endp, state, &state->out_stream, rtp_end, + addr, seq, timestamp, "output", + &state->out_stream.last_tsdelta); + } else { + state->out_stream.last_tsdelta = 0; + } /* Save output values */ state->out_stream.last_seq = seq; diff --git a/tests/mgcp/mgcp_test.c b/tests/mgcp/mgcp_test.c index e6862e5..7496e88 100644 --- a/tests/mgcp/mgcp_test.c +++ b/tests/mgcp/mgcp_test.c @@ -1259,6 +1259,15 @@ /* RTP: SeqNo=1002, TS=160320 */ {2.040000, 20, "\x80\x62\x03\xEA\x00\x02\x72\x40\x50\x60\x70\x80" "\x01\x23\x45\x67\x89\xAB\xCD\xEF"}, + /* RTP: SeqNo=1003, TS=180320, Marker */ + {2.060000, 20, "\x80\xE2\x03\xEB\x00\x02\xC0\x60\x50\x60\x70\x80" + "\x01\x23\x45\x67\x89\xAB\xCD\xEF"}, + /* RTP: SeqNo=1004, TS=180480 */ + {2.080000, 20, "\x80\x62\x03\xEC\x00\x02\xC1\x00\x50\x60\x70\x80" + "\x01\x23\x45\x67\x89\xAB\xCD\xEF"}, + /* RTP: SeqNo=1005, TS=180480, 10ms too late */ + {2.110000, 20, "\x80\x62\x03\xED\x00\x02\xC1\xA0\x50\x60\x70\x80" + "\x01\x23\x45\x67\x89\xAB\xCD\xEF"}, }; static void test_packet_error_detection(int patch_ssrc, int patch_ts) @@ -1543,24 +1552,24 @@ OSMO_ASSERT(conn->state.stats.initialized == 0); - mgcp_rtp_annex_count(endp, &conn->state, 0, 0, 2342); + mgcp_rtp_annex_count(endp, &conn->state, 0, 0, 2342, false); OSMO_ASSERT(conn->state.stats.initialized == 1); OSMO_ASSERT(conn->state.stats.cycles == 0); OSMO_ASSERT(conn->state.stats.max_seq == 0); - mgcp_rtp_annex_count(endp, &conn->state, 1, 0, 2342); + mgcp_rtp_annex_count(endp, &conn->state, 1, 0, 2342, false); OSMO_ASSERT(conn->state.stats.initialized == 1); OSMO_ASSERT(conn->state.stats.cycles == 0); OSMO_ASSERT(conn->state.stats.max_seq == 1); /* now jump.. */ - mgcp_rtp_annex_count(endp, &conn->state, UINT16_MAX, 0, 2342); + mgcp_rtp_annex_count(endp, &conn->state, UINT16_MAX, 0, 2342, false); OSMO_ASSERT(conn->state.stats.initialized == 1); OSMO_ASSERT(conn->state.stats.cycles == 0); OSMO_ASSERT(conn->state.stats.max_seq == UINT16_MAX); /* and wrap */ - mgcp_rtp_annex_count(endp, &conn->state, 0, 0, 2342); + mgcp_rtp_annex_count(endp, &conn->state, 0, 0, 2342, false); OSMO_ASSERT(conn->state.stats.initialized == 1); OSMO_ASSERT(conn->state.stats.cycles == UINT16_MAX + 1); OSMO_ASSERT(conn->state.stats.max_seq == 0); diff --git a/tests/mgcp/mgcp_test.ok b/tests/mgcp/mgcp_test.ok index 9c48147..04f9e0c 100644 --- a/tests/mgcp/mgcp_test.ok +++ b/tests/mgcp/mgcp_test.ok @@ -770,6 +770,15 @@ In TS: 160320, dTS: 160, Seq: 1002 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = -144000 +In TS: 180320, dTS: 0, Seq: 1003 +Out TS change: 20000, dTS: 0, Seq change: 1, TS Err change: in +0, out +0 +Stats: Jitter = 0, Transit = -163840 +In TS: 180480, dTS: 160, Seq: 1004 +Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 +Stats: Jitter = 0, Transit = -163840 +In TS: 180640, dTS: 160, Seq: 1005 +Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 +Stats: Jitter = 5, Transit = -163760 Testing packet error detection. Output SSRC changed to 11223344 In TS: 0, dTS: 0, Seq: 0 @@ -864,6 +873,15 @@ In TS: 160320, dTS: 160, Seq: 1002 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = -144000 +In TS: 180320, dTS: 0, Seq: 1003 +Out TS change: 20000, dTS: 0, Seq change: 1, TS Err change: in +0, out +0 +Stats: Jitter = 0, Transit = -163840 +In TS: 180480, dTS: 160, Seq: 1004 +Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 +Stats: Jitter = 0, Transit = -163840 +In TS: 180640, dTS: 160, Seq: 1005 +Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 +Stats: Jitter = 5, Transit = -163760 Testing packet error detection, patch timestamps. Output SSRC changed to 11223344 In TS: 0, dTS: 0, Seq: 0 @@ -958,6 +976,15 @@ In TS: 160320, dTS: 160, Seq: 1002 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = -144000 +In TS: 180320, dTS: 0, Seq: 1003 +Out TS change: 20000, dTS: 0, Seq change: 1, TS Err change: in +0, out +0 +Stats: Jitter = 0, Transit = -163840 +In TS: 180480, dTS: 160, Seq: 1004 +Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 +Stats: Jitter = 0, Transit = -163840 +In TS: 180640, dTS: 160, Seq: 1005 +Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 +Stats: Jitter = 5, Transit = -163760 Testing packet error detection, patch SSRC, patch timestamps. Output SSRC changed to 11223344 In TS: 0, dTS: 0, Seq: 0 @@ -1050,6 +1077,15 @@ In TS: 160320, dTS: 160, Seq: 1002 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = -144000 +In TS: 180320, dTS: 0, Seq: 1003 +Out TS change: 20000, dTS: 0, Seq change: 1, TS Err change: in +0, out +0 +Stats: Jitter = 0, Transit = -163840 +In TS: 180480, dTS: 160, Seq: 1004 +Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 +Stats: Jitter = 0, Transit = -163840 +In TS: 180640, dTS: 160, Seq: 1005 +Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 +Stats: Jitter = 5, Transit = -163760 Testing multiple payload types creating message from statically defined input: ---------8<--------- -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24872 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I1fb449eda49e82607649122b9b9d983a9e5983fa Gerrit-Change-Number: 24872 Gerrit-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 Jul 7 11:59:24 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 7 Jul 2021 11:59:24 +0000 Subject: Change in osmo-ci[master]: lint: checkpatch.pl: exclude pattern, not dir In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24865 ) Change subject: lint: checkpatch.pl: exclude pattern, not dir ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24865 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ic3990fba60060c331c479174183924b9cdbdb4c8 Gerrit-Change-Number: 24865 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 07 Jul 2021 11:59:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 7 11:59:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 7 Jul 2021 11:59:33 +0000 Subject: Change in osmo-ci[master]: lint: exclude *.ok, *.err In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24866 ) Change subject: lint: exclude *.ok, *.err ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24866 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I79004cec3e2eb753951a7f886318ac0db4ea2c06 Gerrit-Change-Number: 24866 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 07 Jul 2021 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 Wed Jul 7 12:00:05 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 7 Jul 2021 12:00:05 +0000 Subject: Change in osmo-ci[master]: lint: ignore COMPLEX_MACRO In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24867 ) Change subject: lint: ignore COMPLEX_MACRO ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24867 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ic9d752ca841161a62e3631c84b4237a0d8594363 Gerrit-Change-Number: 24867 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 07 Jul 2021 12: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 Wed Jul 7 12:00:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 7 Jul 2021 12:00:33 +0000 Subject: Change in osmo-ci[master]: lint: ignore LINE_CONTINUATIONS In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24868 ) Change subject: lint: ignore LINE_CONTINUATIONS ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24868 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I8d8004f2a8ef926588487187af7cdef8254c7248 Gerrit-Change-Number: 24868 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 07 Jul 2021 12:00: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 Jul 7 12:01:31 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 7 Jul 2021 12:01:31 +0000 Subject: Change in osmo-ci[master]: lint: checkpatch.pl: fix && complaints In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24869 ) Change subject: lint: checkpatch.pl: fix && complaints ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24869 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I7ce79e6b291b3a3dab6587a589eeef0a0bc53de9 Gerrit-Change-Number: 24869 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 07 Jul 2021 12: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 Wed Jul 7 12:09:16 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 7 Jul 2021 12:09:16 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: add support for wildcarded DLCX In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24823 ) Change subject: mgcp_protocol: add support for wildcarded DLCX ...................................................................... Patch Set 4: (2 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/24823/2/src/libosmo-mgcp/mgcp_protocol.c File src/libosmo-mgcp/mgcp_protocol.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24823/2/src/libosmo-mgcp/mgcp_protocol.c at 1278 PS2, Line 1278: if (!endp->wildcarded_req && llist_count(&endp->conns) <= 0) { > Done You just changed the condition syntax, but not the logic here. Of course "<= 0" is the same as "< 1". What I mean is: can llist_count return less than 0? I don't think so, so using "!= 0" would be more clear here. Moreover, llist_count() requires iterating the whole list. This is not needed here. Simply check !llist_empty() which is constant in algorithmic complexity. https://gerrit.osmocom.org/c/osmo-mgw/+/24823/2/src/libosmo-mgcp/mgcp_protocol.c at 1350 PS2, Line 1350: return create_ok_response(endp, 200, "DLCX", p->trans); > The endp is still there, it just got rid of all its connected and the state is reset. [?] So if the request does not refer to a specific endpoint, which endpoint is selected and passed as "endp" in function handle_delete_con? -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24823 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I0770cf46d93ab09efe9cafdd56d2e3f1132db189 Gerrit-Change-Number: 24823 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: neels Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 07 Jul 2021 12:09:16 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: dexter Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 7 12:12:43 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 7 Jul 2021 12:12:43 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: fix loop that sends dummy RTP packets References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24873 ) Change subject: mgcp_protocol: fix loop that sends dummy RTP packets ...................................................................... mgcp_protocol: fix loop that sends dummy RTP packets The logic in mgcp_keepalive_timer_cb() only sends dummy packets for endpoints 1-N, leaving out endpoint 0, this is not correct it should include all endpoints (0-N). Change-Id: I99a9b572eac26780bc1286a8dd63c4c5652fda4f --- M src/libosmo-mgcp/mgcp_protocol.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/73/24873/1 diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index 3014048..5c54b14 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -1492,7 +1492,7 @@ /* Send walk over all endpoints and send out dummy packets through * every connection present on each endpoint */ - for (i = 1; i < trunk->number_endpoints; ++i) { + for (i = 0; i < trunk->number_endpoints; ++i) { struct mgcp_endpoint *endp = trunk->endpoints[i]; llist_for_each_entry(conn, &endp->conns, entry) { if (conn->mode == MGCP_CONN_RECV_ONLY) -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24873 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I99a9b572eac26780bc1286a8dd63c4c5652fda4f Gerrit-Change-Number: 24873 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 Jul 7 12:12:44 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 7 Jul 2021 12:12:44 +0000 Subject: Change in osmo-mgw[master]: mgw_main: fix loop that resets all endpoints References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24874 ) Change subject: mgw_main: fix loop that resets all endpoints ...................................................................... mgw_main: fix loop that resets all endpoints The loop that resets all endpoints in read_call_agent() starts counting at endpoint index 1, but it should begin counting at index 0 Change-Id: I82a385e547e54d82eff95213652317ed2fdaadd8 --- M src/osmo-mgw/mgw_main.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/74/24874/1 diff --git a/src/osmo-mgw/mgw_main.c b/src/osmo-mgw/mgw_main.c index d30378d..113f691 100644 --- a/src/osmo-mgw/mgw_main.c +++ b/src/osmo-mgw/mgw_main.c @@ -243,7 +243,7 @@ /* Walk over all endpoints and trigger a release, this will release all * endpoints, possible open connections are forcefully dropped */ - for (i = 1; i < reset_trunk->number_endpoints; ++i) + for (i = 0; i < reset_trunk->number_endpoints; ++i) mgcp_endp_release(reset_trunk->endpoints[i]); } -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24874 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I82a385e547e54d82eff95213652317ed2fdaadd8 Gerrit-Change-Number: 24874 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 Jul 7 12:15:51 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 7 Jul 2021 12:15:51 +0000 Subject: Change in osmo-mgw[master]: Take into account Marker bit when patching RTP stream 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/+/24872 to look at the new patch set (#2). Change subject: Take into account Marker bit when patching RTP stream ...................................................................... Take into account Marker bit when patching RTP stream On a deployed osmo-mgw with RTP traffic coming from a thirdparty RTP source, it was usual to see log messages like following one from time to time: "The input timestamp has an alignment error of 159 on SSRC" Doing a quick traffic analysis showed that the above mentioned RTP source was generating traffic from time to time containing RTP packets with the Marker (M) bit. Those messages were logged because the verification & patching funcions in osmo-mgw were not Marker-bit aware. Hence, this patch implements support for Marker bit when handling RTP packets. The Marker bit is usually used as a start of a talkspurt, and has to be considered a syncrhonization point, where timestamp and relation to real time don't need to match with last received RTP packet in the stream. Related: SYS#5498 Change-Id: I1fb449eda49e82607649122b9b9d983a9e5983fa --- M include/osmocom/mgcp/mgcp_network.h M src/libosmo-mgcp/mgcp_network.c M tests/mgcp/mgcp_test.c M tests/mgcp/mgcp_test.ok 4 files changed, 90 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/72/24872/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24872 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I1fb449eda49e82607649122b9b9d983a9e5983fa Gerrit-Change-Number: 24872 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 Jul 7 12:16:26 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 7 Jul 2021 12:16:26 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: fix loop that sends dummy RTP packets In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24873 ) Change subject: mgcp_protocol: fix loop that sends dummy RTP packets ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24873 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I99a9b572eac26780bc1286a8dd63c4c5652fda4f Gerrit-Change-Number: 24873 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 07 Jul 2021 12:16: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 Jul 7 12:17:02 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 7 Jul 2021 12:17:02 +0000 Subject: Change in osmo-mgw[master]: mgw_main: fix loop that resets all endpoints In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24874 ) Change subject: mgw_main: fix loop that resets all endpoints ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24874 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I82a385e547e54d82eff95213652317ed2fdaadd8 Gerrit-Change-Number: 24874 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 07 Jul 2021 12:17:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 7 12:17:52 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 7 Jul 2021 12:17:52 +0000 Subject: Change in osmo-mgw[master]: constify some function arg pointers In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24871 ) Change subject: constify some function arg pointers ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24871 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7a7560fad96719da01f1ee30eea0be0e52c60e99 Gerrit-Change-Number: 24871 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Wed, 07 Jul 2021 12:17:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 7 12:17:57 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 7 Jul 2021 12:17:57 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: fix loop that sends dummy RTP packets In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24873 ) Change subject: mgcp_protocol: fix loop that sends dummy RTP packets ...................................................................... Patch Set 1: I guess you verified from MGCP point of view that makes sense. For instance if endp 0 can be accesses by MGCP and that we are indeed using it. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24873 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I99a9b572eac26780bc1286a8dd63c4c5652fda4f Gerrit-Change-Number: 24873 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 07 Jul 2021 12:17:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 7 12:18:44 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 7 Jul 2021 12:18:44 +0000 Subject: Change in osmo-mgw[master]: Define patch_ssrc as bool type In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24870 ) Change subject: Define patch_ssrc as bool type ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24870 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I05233a413b0d8511d056e8f93467a111c4bdf119 Gerrit-Change-Number: 24870 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Wed, 07 Jul 2021 12:18:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 7 12:23:40 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 7 Jul 2021 12:23:40 +0000 Subject: Change in osmo-mgw[master]: Define patch_ssrc as bool type In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24870 ) Change subject: Define patch_ssrc as bool type ...................................................................... Define patch_ssrc as bool type This variable clearly holds a boolean value, so let's use stdef to make it clear. Change-Id: I05233a413b0d8511d056e8f93467a111c4bdf119 --- M include/osmocom/mgcp/mgcp_network.h M src/libosmo-mgcp/mgcp_network.c 2 files changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, approved diff --git a/include/osmocom/mgcp/mgcp_network.h b/include/osmocom/mgcp/mgcp_network.h index 1766f4a..0487b91 100644 --- a/include/osmocom/mgcp/mgcp_network.h +++ b/include/osmocom/mgcp/mgcp_network.h @@ -34,7 +34,7 @@ struct { /* are we patching the SSRC value? */ - int patch_ssrc; + bool patch_ssrc; /* original SSRC (to which we shall patch any different SSRC) */ uint32_t orig_ssrc; /* offset to apply on the sequence number */ diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index 1014bf2..cac8ef0 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -636,7 +636,7 @@ adjust_rtp_timestamp_offset(endp, state, rtp_end, addr, delta_seq, timestamp); - state->patch.patch_ssrc = 1; + state->patch.patch_ssrc = true; ssrc = state->patch.orig_ssrc; if (rtp_end->force_constant_ssrc != -1) rtp_end->force_constant_ssrc -= 1; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24870 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I05233a413b0d8511d056e8f93467a111c4bdf119 Gerrit-Change-Number: 24870 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 7 12:23:40 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 7 Jul 2021 12:23:40 +0000 Subject: Change in osmo-mgw[master]: constify some function arg pointers In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24871 ) Change subject: constify some function arg pointers ...................................................................... constify some function arg pointers Change-Id: I7a7560fad96719da01f1ee30eea0be0e52c60e99 --- M include/osmocom/mgcp/mgcp_network.h M include/osmocom/mgcp/mgcp_protocol.h M src/libosmo-mgcp/mgcp_network.c M src/libosmo-mgcp/mgcp_protocol.c M tests/mgcp/mgcp_test.c 5 files changed, 20 insertions(+), 25 deletions(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, approved diff --git a/include/osmocom/mgcp/mgcp_network.h b/include/osmocom/mgcp/mgcp_network.h index 0487b91..1ed00e4 100644 --- a/include/osmocom/mgcp/mgcp_network.h +++ b/include/osmocom/mgcp/mgcp_network.h @@ -152,7 +152,7 @@ int mgcp_bind_net_rtp_port(struct mgcp_endpoint *endp, int rtp_port, struct mgcp_conn_rtp *conn); void mgcp_free_rtp_port(struct mgcp_rtp_end *end); -void mgcp_patch_and_count(struct mgcp_endpoint *endp, +void mgcp_patch_and_count(const struct mgcp_endpoint *endp, struct mgcp_rtp_state *state, struct mgcp_rtp_end *rtp_end, struct osmo_sockaddr *addr, struct msgb *msg); @@ -172,6 +172,6 @@ struct mgcp_conn_rtp *conn); /* internal RTP Annex A counting */ -void mgcp_rtp_annex_count(struct mgcp_endpoint *endp, struct mgcp_rtp_state *state, +void mgcp_rtp_annex_count(const struct mgcp_endpoint *endp, struct mgcp_rtp_state *state, const uint16_t seq, const int32_t transit, const uint32_t ssrc); diff --git a/include/osmocom/mgcp/mgcp_protocol.h b/include/osmocom/mgcp/mgcp_protocol.h index abd264c..edd0554 100644 --- a/include/osmocom/mgcp/mgcp_protocol.h +++ b/include/osmocom/mgcp/mgcp_protocol.h @@ -23,5 +23,5 @@ void mgcp_rtp_end_config(struct mgcp_endpoint *endp, int expect_ssrc_change, struct mgcp_rtp_end *rtp); -uint32_t mgcp_rtp_packet_duration(struct mgcp_endpoint *endp, - struct mgcp_rtp_end *rtp); +uint32_t mgcp_rtp_packet_duration(const struct mgcp_endpoint *endp, + const struct mgcp_rtp_end *rtp); diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index cac8ef0..46cb0fd 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -240,7 +240,7 @@ } /* Compute timestamp alignment error */ -static int32_t ts_alignment_error(struct mgcp_rtp_stream_state *sstate, +static int32_t ts_alignment_error(const struct mgcp_rtp_stream_state *sstate, int ptime, uint32_t timestamp) { int32_t timestamp_delta; @@ -255,11 +255,11 @@ } /* Check timestamp and sequence number for plausibility */ -static int check_rtp_timestamp(struct mgcp_endpoint *endp, - struct mgcp_rtp_state *state, - struct mgcp_rtp_stream_state *sstate, - struct mgcp_rtp_end *rtp_end, - struct osmo_sockaddr *addr, +static int check_rtp_timestamp(const struct mgcp_endpoint *endp, + const struct mgcp_rtp_state *state, + const struct mgcp_rtp_stream_state *sstate, + const struct mgcp_rtp_end *rtp_end, + const struct osmo_sockaddr *addr, uint16_t seq, uint32_t timestamp, const char *text, int32_t * tsdelta_out) { @@ -344,10 +344,10 @@ } /* Set the timestamp offset according to the packet duration. */ -static int adjust_rtp_timestamp_offset(struct mgcp_endpoint *endp, +static int adjust_rtp_timestamp_offset(const struct mgcp_endpoint *endp, struct mgcp_rtp_state *state, - struct mgcp_rtp_end *rtp_end, - struct osmo_sockaddr *addr, + const struct mgcp_rtp_end *rtp_end, + const struct osmo_sockaddr *addr, int16_t delta_seq, uint32_t in_timestamp) { int32_t tsdelta = state->packet_duration; @@ -394,10 +394,10 @@ } /* Set the timestamp offset according to the packet duration. */ -static int align_rtp_timestamp_offset(struct mgcp_endpoint *endp, +static int align_rtp_timestamp_offset(const struct mgcp_endpoint *endp, struct mgcp_rtp_state *state, - struct mgcp_rtp_end *rtp_end, - struct osmo_sockaddr *addr, + const struct mgcp_rtp_end *rtp_end, + const struct osmo_sockaddr *addr, uint32_t timestamp) { char ipbuf[INET6_ADDRSTRLEN]; @@ -475,7 +475,7 @@ *fmtp_extra = conn->end.fmtp_extra; } -void mgcp_rtp_annex_count(struct mgcp_endpoint *endp, +void mgcp_rtp_annex_count(const struct mgcp_endpoint *endp, struct mgcp_rtp_state *state, const uint16_t seq, const int32_t transit, const uint32_t ssrc) { @@ -556,7 +556,7 @@ * is only one source. * There is also no probation period for new sources. Every RTP header * we receive will be seen as a switch in streams. */ -void mgcp_patch_and_count(struct mgcp_endpoint *endp, +void mgcp_patch_and_count(const struct mgcp_endpoint *endp, struct mgcp_rtp_state *state, struct mgcp_rtp_end *rtp_end, struct osmo_sockaddr *addr, struct msgb *msg) diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index 3014048..8d6f6f5 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -611,8 +611,8 @@ rtp->force_constant_ssrc ? ", force constant ssrc" : ""); } -uint32_t mgcp_rtp_packet_duration(struct mgcp_endpoint *endp, - struct mgcp_rtp_end *rtp) +uint32_t mgcp_rtp_packet_duration(const struct mgcp_endpoint *endp, + const struct mgcp_rtp_end *rtp) { int f = 0; diff --git a/tests/mgcp/mgcp_test.c b/tests/mgcp/mgcp_test.c index 2ca0b4c..e6862e5 100644 --- a/tests/mgcp/mgcp_test.c +++ b/tests/mgcp/mgcp_test.c @@ -1261,11 +1261,6 @@ "\x01\x23\x45\x67\x89\xAB\xCD\xEF"}, }; -void mgcp_patch_and_count(struct mgcp_endpoint *endp, - struct mgcp_rtp_state *state, - struct mgcp_rtp_end *rtp_end, - struct osmo_sockaddr *addr, struct msgb *msg); - static void test_packet_error_detection(int patch_ssrc, int patch_ts) { int i; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24871 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7a7560fad96719da01f1ee30eea0be0e52c60e99 Gerrit-Change-Number: 24871 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 7 12:30:18 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 7 Jul 2021 12:30:18 +0000 Subject: Change in osmo-mgw[master]: Take into account Marker bit when patching RTP stream In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24872 ) Change subject: Take into account Marker bit when patching RTP stream ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24872 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I1fb449eda49e82607649122b9b9d983a9e5983fa Gerrit-Change-Number: 24872 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Wed, 07 Jul 2021 12:30: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 Jul 7 12:36:35 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 7 Jul 2021 12:36:35 +0000 Subject: Change in osmo-mgw[master]: mgw: rx CRCX: Avoid sending dummy rtp if remote address not provided In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24862 ) Change subject: mgw: rx CRCX: Avoid sending dummy rtp if remote address not provided ...................................................................... Patch Set 3: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/24862/3/src/libosmo-mgcp/mgcp_protocol.c File src/libosmo-mgcp/mgcp_protocol.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24862/3/src/libosmo-mgcp/mgcp_protocol.c at 1497 PS3, Line 1497: for (i = 1; i < trunk->number_endpoints; ++i) { > I just spoke about it with dexter in jabber groupchat a few mins ago. He'll fix it tomorrow. This is a leftover from refactoring, this is the change id from the fix: I99a9b572eac26780bc1286a8dd63c4c5652fda4f -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24862 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I8ceafda691146823b12232b4a804b4ce74acbdc8 Gerrit-Change-Number: 24862 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Comment-Date: Wed, 07 Jul 2021 12:36:35 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: neels 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 Jul 7 12:46:53 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 7 Jul 2021 12:46:53 +0000 Subject: Change in osmo-mgw[master]: Fail rx MDCX sendrecv with invalid remote addr In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24863 ) Change subject: Fail rx MDCX sendrecv with invalid remote addr ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24863 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6ce8cf52930d423d3db8c27251be8350a26a4ede Gerrit-Change-Number: 24863 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-CC: osmith Gerrit-Comment-Date: Wed, 07 Jul 2021 12:46: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 Jul 7 12:52:37 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 7 Jul 2021 12:52:37 +0000 Subject: Change in osmo-mgw[master]: mgcp_send_dummy: Check RTP destination is available before attempt tx In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24861 ) Change subject: mgcp_send_dummy: Check RTP destination is available before attempt tx ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/24861/2/src/libosmo-mgcp/mgcp_network.c File src/libosmo-mgcp/mgcp_network.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24861/2/src/libosmo-mgcp/mgcp_network.c at 1044 PS2, Line 1044: goto failed; In the commit message you say that you want to make debugging easiert, Maybe the error message should then be different so that it ends up in the log that there was something wrong with the destination? -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24861 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Iee6ac1f4d24c131e3bf40c37e6fdc252e5208ec8 Gerrit-Change-Number: 24861 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Comment-Date: Wed, 07 Jul 2021 12:52:37 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 7 12:55:11 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 7 Jul 2021 12:55:11 +0000 Subject: Change in osmo-mgw[master]: mgcp_network.c: Reorder some functions in file In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24860 ) Change subject: mgcp_network.c: Reorder some functions in file ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24860 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Iff8dab942182a0d909519acddb86be75d9cda7ae Gerrit-Change-Number: 24860 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Comment-Date: Wed, 07 Jul 2021 12:55: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 Jul 7 13:08:28 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 7 Jul 2021 13:08:28 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: add support for wildcarded DLCX 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/+/24823 to look at the new patch set (#5). Change subject: mgcp_protocol: add support for wildcarded DLCX ...................................................................... mgcp_protocol: add support for wildcarded DLCX At the moment osmo-mgw does not support wildcarded DLCX requests that refer to the whole trunk, even though RFC3435 specifies it. However, wildcarded DLCX requests would enable the BSC or the MSC to reset its companioun osmo-mgw instance to a defined state after restart. Change-Id: I0770cf46d93ab09efe9cafdd56d2e3f1132db189 --- M include/osmocom/mgcp/mgcp_ratectr.h M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_ratectr.c 3 files changed, 20 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/23/24823/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24823 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I0770cf46d93ab09efe9cafdd56d2e3f1132db189 Gerrit-Change-Number: 24823 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder 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 Wed Jul 7 13:08:51 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 7 Jul 2021 13:08:51 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: add support for wildcarded DLCX In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24823 ) Change subject: mgcp_protocol: add support for wildcarded DLCX ...................................................................... Patch Set 5: (2 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/24823/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-mgw/+/24823/2//COMMIT_MSG at 9 PS2, Line 9: At the moment osmo-mgw does not support wildcarded DLCX requests that > I was surprised about this too. [?] Done https://gerrit.osmocom.org/c/osmo-mgw/+/24823/2/src/libosmo-mgcp/mgcp_protocol.c File src/libosmo-mgcp/mgcp_protocol.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24823/2/src/libosmo-mgcp/mgcp_protocol.c at 1350 PS2, Line 1350: return create_ok_response(endp, 200, "DLCX", p->trans); > So if the request does not refer to a specific endpoint, which endpoint is selected and passed as "e [?] Its a random free endpoint. This is a design problem osmo-mgw is suffering from. We would have to add a trunk member to struct mgcp_parse_data that is at least populated with a trunk and if the request is wildcarded we would use this p->trunk member only and not picking the trunk from the p->endp->trunk member. We might consider fixing this in a separate patch and put that patch before this one - what do you think? -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24823 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I0770cf46d93ab09efe9cafdd56d2e3f1132db189 Gerrit-Change-Number: 24823 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: neels Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 07 Jul 2021 13:08:51 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: neels Comment-In-Reply-To: pespin Comment-In-Reply-To: dexter Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 7 13:12:37 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 7 Jul 2021 13:12:37 +0000 Subject: Change in osmo-ci[master]: lint: ignore LINE_CONTINUATIONS In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24868 ) Change subject: lint: ignore LINE_CONTINUATIONS ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24868 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I8d8004f2a8ef926588487187af7cdef8254c7248 Gerrit-Change-Number: 24868 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 07 Jul 2021 13:12: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 Jul 7 13:16:28 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 7 Jul 2021 13:16:28 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: add support for wildcarded DLCX 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/+/24823 to look at the new patch set (#6). Change subject: mgcp_protocol: add support for wildcarded DLCX ...................................................................... mgcp_protocol: add support for wildcarded DLCX At the moment osmo-mgw does not support wildcarded DLCX requests that refer to the whole trunk, even though RFC3435 specifies it. However, wildcarded DLCX requests would enable the BSC or the MSC to reset its companioun osmo-mgw instance to a defined state after restart. Change-Id: I0770cf46d93ab09efe9cafdd56d2e3f1132db189 --- M include/osmocom/mgcp/mgcp_ratectr.h M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_ratectr.c 3 files changed, 19 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/23/24823/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24823 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I0770cf46d93ab09efe9cafdd56d2e3f1132db189 Gerrit-Change-Number: 24823 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder 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 Wed Jul 7 14:11:55 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 7 Jul 2021 14:11:55 +0000 Subject: Change in osmo-mgw[master]: mgcp_send_dummy: Check RTP destination is available before attempt tx In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24861 ) Change subject: mgcp_send_dummy: Check RTP destination is available before attempt tx ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/24861/2/src/libosmo-mgcp/mgcp_network.c File src/libosmo-mgcp/mgcp_network.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24861/2/src/libosmo-mgcp/mgcp_network.c at 1044 PS2, Line 1044: goto failed; > In the commit message you say that you want to make debugging easiert, Maybe the error message shoul [?] The function check_rtp_destin is already logging that information (that's its main purpose actually), so we are fine since something is already printed. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24861 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Iee6ac1f4d24c131e3bf40c37e6fdc252e5208ec8 Gerrit-Change-Number: 24861 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Comment-Date: Wed, 07 Jul 2021 14:11:55 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: dexter Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 7 14:12:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 7 Jul 2021 14:12:06 +0000 Subject: Change in osmo-mgw[master]: mgcp_network.c: Reorder some functions in file In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24860 ) Change subject: mgcp_network.c: Reorder some functions in file ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24860 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Iff8dab942182a0d909519acddb86be75d9cda7ae Gerrit-Change-Number: 24860 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 07 Jul 2021 14:12: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 Jul 7 14:12:14 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 7 Jul 2021 14:12:14 +0000 Subject: Change in osmo-mgw[master]: mgcp_send_dummy: Check RTP destination is available before attempt tx In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24861 ) Change subject: mgcp_send_dummy: Check RTP destination is available before attempt tx ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24861 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Iee6ac1f4d24c131e3bf40c37e6fdc252e5208ec8 Gerrit-Change-Number: 24861 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 07 Jul 2021 14:12: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 Jul 7 14:12:35 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 7 Jul 2021 14:12:35 +0000 Subject: Change in osmo-mgw[master]: mgcp_network.c: Reorder some functions in file In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24860 ) Change subject: mgcp_network.c: Reorder some functions in file ...................................................................... mgcp_network.c: Reorder some functions in file This is a preparation for next commit, where one of the function will require an static function available before it in the file. Moving the functions also make sense, in order to have the 3 mgcp send functions together for more easy understanding. This commit does small style changes to fix followint linter errors: """ src/libosmo-mgcp/mgcp_network.c:1036: ERROR:SPACING: space required after that ',' (ctx:VxV) src/libosmo-mgcp/mgcp_network.c:1091: WARNING:BRACES: braces {} are not necessary for any arm of this statement src/libosmo-mgcp/mgcp_network.c:1145: ERROR:POINTER_LOCATION: "(foo*)" should be "(foo *)" src/libosmo-mgcp/mgcp_network.c:1163: ERROR:ELSE_AFTER_BRACE: else should follow close brace '}' src/libosmo-mgcp/mgcp_network.c:1204: ERROR:POINTER_LOCATION: "(foo*)" should be "(foo *)" src/libosmo-mgcp/mgcp_network.c:1226: ERROR:POINTER_LOCATION: "(foo*)" should be "(foo *)" """ Change-Id: Iff8dab942182a0d909519acddb86be75d9cda7ae --- M src/libosmo-mgcp/mgcp_network.c 1 file changed, 240 insertions(+), 244 deletions(-) Approvals: neels: Looks good to me, but someone else must approve dexter: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index 46cb0fd..dfa952b 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -171,74 +171,6 @@ return ret; } -/*! send udp packet. - * \param[in] fd associated file descriptor. - * \param[in] addr destination ip-address. - * \param[in] port destination UDP port (network byte order). - * \param[in] buf buffer that holds the data to be send. - * \param[in] len length of the data to be sent. - * \returns bytes sent, -1 on error. */ -int mgcp_udp_send(int fd, struct osmo_sockaddr *addr, int port, const char *buf, int len) -{ - char ipbuf[INET6_ADDRSTRLEN]; - size_t addr_len; - bool is_ipv6 = addr->u.sa.sa_family == AF_INET6; - - LOGP(DRTP, LOGL_DEBUG, - "sending %i bytes length packet to %s:%u ...\n", len, - osmo_sockaddr_ntop(&addr->u.sa, ipbuf), - ntohs(port)); - - if (is_ipv6) { - addr->u.sin6.sin6_port = port; - addr_len = sizeof(addr->u.sin6); - } else { - addr->u.sin.sin_port = port; - addr_len = sizeof(addr->u.sin); - } - - return sendto(fd, buf, len, 0, &addr->u.sa, addr_len); -} - -/*! send RTP dummy packet (to keep NAT connection open). - * \param[in] endp mcgp endpoint that holds the RTP connection. - * \param[in] conn associated RTP connection. - * \returns bytes sent, -1 on error. */ -int mgcp_send_dummy(struct mgcp_endpoint *endp, struct mgcp_conn_rtp *conn) -{ - int rc; - int was_rtcp = 0; - - OSMO_ASSERT(endp); - OSMO_ASSERT(conn); - - LOGPCONN(conn->conn, DRTP, LOGL_DEBUG,"sending dummy packet... %s\n", - mgcp_conn_dump(conn->conn)); - - rc = mgcp_udp_send(conn->end.rtp.fd, &conn->end.addr, - conn->end.rtp_port, rtp_dummy_payload, sizeof(rtp_dummy_payload)); - - if (rc == -1) - goto failed; - - if (endp->trunk->omit_rtcp) - return rc; - - was_rtcp = 1; - rc = mgcp_udp_send(conn->end.rtcp.fd, &conn->end.addr, - conn->end.rtcp_port, rtp_dummy_payload, sizeof(rtp_dummy_payload)); - - if (rc >= 0) - return rc; - -failed: - LOGPCONN(conn->conn, DRTP, LOGL_ERROR, - "Failed to send dummy %s packet.\n", - was_rtcp ? "RTCP" : "RTP"); - - return -1; -} - /* Compute timestamp alignment error */ static int32_t ts_alignment_error(const struct mgcp_rtp_stream_state *sstate, int ptime, uint32_t timestamp) @@ -858,182 +790,6 @@ hdr->ssrc = state->alt_rtp_tx_ssrc; } - -/*! Send RTP/RTCP data to a specified destination connection. - * \param[in] endp associated endpoint (for configuration, logging). - * \param[in] is_rtp flag to specify if the packet is of type RTP or RTCP. - * \param[in] spoofed source address (set to NULL to disable). - * \param[in] buf buffer that contains the RTP/RTCP data. - * \param[in] len length of the buffer that contains the RTP/RTCP data. - * \param[in] conn_src associated source connection. - * \param[in] conn_dst associated destination connection. - * \returns 0 on success, -1 on ERROR. */ -int mgcp_send(struct mgcp_endpoint *endp, int is_rtp, struct osmo_sockaddr *addr, - struct msgb *msg, struct mgcp_conn_rtp *conn_src, - struct mgcp_conn_rtp *conn_dst) -{ - /*! When no destination connection is available (e.g. when only one - * connection in loopback mode exists), then the source connection - * shall be specified as destination connection */ - - struct mgcp_trunk *trunk = endp->trunk; - struct mgcp_rtp_end *rtp_end; - struct mgcp_rtp_state *rtp_state; - char ipbuf[INET6_ADDRSTRLEN]; - char *dest_name; - int rc; - int len; - - OSMO_ASSERT(conn_src); - OSMO_ASSERT(conn_dst); - - if (is_rtp) { - LOGPENDP(endp, DRTP, LOGL_DEBUG, "delivering RTP packet...\n"); - } else { - LOGPENDP(endp, DRTP, LOGL_DEBUG, "delivering RTCP packet...\n"); - } - - /* FIXME: It is legal that the payload type on the egress connection is - * different from the payload type that has been negotiated on the - * ingress connection. Essentially the codecs are the same so we can - * match them and patch the payload type. However, if we can not find - * the codec pendant (everything ist equal except the PT), we are of - * course unable to patch the payload type. A situation like this - * should not occur if transcoding is consequently avoided. Until - * we have transcoding support in osmo-mgw we can not resolve this. */ - if (is_rtp) { - rc = mgcp_patch_pt(conn_src, conn_dst, msg); - if (rc < 0) { - LOGPENDP(endp, DRTP, LOGL_DEBUG, - "can not patch PT because no suitable egress codec was found.\n"); - } - } - - /* Note: In case of loopback configuration, both, the source and the - * destination will point to the same connection. */ - rtp_end = &conn_dst->end; - rtp_state = &conn_src->state; - dest_name = conn_dst->conn->name; - - /* Ensure we have an alternative SSRC in case we need it, see also - * gen_rtp_header() */ - if (rtp_state->alt_rtp_tx_ssrc == 0) - rtp_state->alt_rtp_tx_ssrc = rand(); - - if (!rtp_end->output_enabled) { - 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", - dest_name, - osmo_sockaddr_ntop(&rtp_end->addr.u.sa, ipbuf), - ntohs(rtp_end->rtp_port), ntohs(rtp_end->rtcp_port) - ); - } else if (is_rtp) { - int cont; - int nbytes = 0; - int buflen = msgb_length(msg); - - /* Make sure we have a valid RTP header, in cases where no RTP - * header is present, we will generate one. */ - gen_rtp_header(msg, rtp_end, rtp_state); - - do { - /* Run transcoder */ - cont = endp->cfg->rtp_processing_cb(endp, rtp_end, - (char*)msgb_data(msg), &buflen, - RTP_BUF_SIZE); - if (cont < 0) - break; - - if (addr) - mgcp_patch_and_count(endp, rtp_state, rtp_end, - addr, msg); - - if (amr_oa_bwe_convert_indicated(conn_dst->end.codec)) { - rc = amr_oa_bwe_convert(endp, msg, - conn_dst->end.codec->param.amr_octet_aligned); - if (rc < 0) { - LOGPENDP(endp, DRTP, LOGL_ERROR, - "Error in AMR octet-aligned <-> bandwidth-efficient mode conversion\n"); - break; - } - } - else if (rtp_end->rfc5993_hr_convert - && strcmp(conn_src->end.codec->subtype_name, - "GSM-HR-08") == 0) { - rc = rfc5993_hr_convert(endp, msg); - if (rc < 0) { - LOGPENDP(endp, DRTP, LOGL_ERROR, "Error while converting to GSM-HR-08\n"); - break; - } - } - - LOGPENDP(endp, DRTP, LOGL_DEBUG, - "process/send to %s %s " - "rtp_port:%u rtcp_port:%u\n", - dest_name, - osmo_sockaddr_ntop(&rtp_end->addr.u.sa, ipbuf), - ntohs(rtp_end->rtp_port), ntohs(rtp_end->rtcp_port) - ); - - /* Forward a copy of the RTP data to a debug ip/port */ - forward_data(rtp_end->rtp.fd, &conn_src->tap_out, - msg); - - /* FIXME: HACK HACK HACK. See OS#2459. - * The ip.access nano3G needs the first RTP payload's first two bytes to read hex - * 'e400', or it will reject the RAB assignment. It seems to not harm other femto - * cells (as long as we patch only the first RTP payload in each stream). - */ - if (!rtp_state->patched_first_rtp_payload - && conn_src->conn->mode == MGCP_CONN_LOOPBACK) { - uint8_t *data = msgb_data(msg) + 12; - if (data[0] == 0xe0) { - data[0] = 0xe4; - data[1] = 0x00; - rtp_state->patched_first_rtp_payload = true; - LOGPENDP(endp, DRTP, LOGL_DEBUG, - "Patching over first two bytes" - " to fake an IuUP Initialization Ack\n"); - } - } - - len = mgcp_udp_send(rtp_end->rtp.fd, &rtp_end->addr, rtp_end->rtp_port, - (char*)msgb_data(msg), msgb_length(msg)); - - if (len <= 0) - return len; - - rtpconn_rate_ctr_inc(conn_dst, endp, RTP_PACKETS_TX_CTR); - rtpconn_rate_ctr_add(conn_dst, endp, RTP_OCTETS_TX_CTR, len); - rtp_state->alt_rtp_tx_sequence++; - - nbytes += len; - buflen = cont; - } while (buflen > 0); - return nbytes; - } else if (!trunk->omit_rtcp) { - LOGPENDP(endp, DRTP, LOGL_DEBUG, - "send to %s %s rtp_port:%u rtcp_port:%u\n", - dest_name, osmo_sockaddr_ntop(&rtp_end->addr.u.sa, ipbuf), - ntohs(rtp_end->rtp_port), ntohs(rtp_end->rtcp_port) - ); - - len = mgcp_udp_send(rtp_end->rtcp.fd, - &rtp_end->addr, - rtp_end->rtcp_port, (char*)msgb_data(msg), msgb_length(msg)); - - rtpconn_rate_ctr_inc(conn_dst, endp, RTP_PACKETS_TX_CTR); - rtpconn_rate_ctr_add(conn_dst, endp, RTP_OCTETS_TX_CTR, len); - rtp_state->alt_rtp_tx_sequence++; - - return len; - } - - return 0; -} - /* Check if the origin (addr) matches the address/port data of the RTP * connections. */ static int check_rtp_origin(struct mgcp_conn_rtp *conn, struct osmo_sockaddr *addr) @@ -1237,6 +993,246 @@ return -1; } +/*! send udp packet. + * \param[in] fd associated file descriptor. + * \param[in] addr destination ip-address. + * \param[in] port destination UDP port (network byte order). + * \param[in] buf buffer that holds the data to be send. + * \param[in] len length of the data to be sent. + * \returns bytes sent, -1 on error. */ +int mgcp_udp_send(int fd, struct osmo_sockaddr *addr, int port, const char *buf, int len) +{ + char ipbuf[INET6_ADDRSTRLEN]; + size_t addr_len; + bool is_ipv6 = addr->u.sa.sa_family == AF_INET6; + + LOGP(DRTP, LOGL_DEBUG, + "sending %i bytes length packet to %s:%u ...\n", len, + osmo_sockaddr_ntop(&addr->u.sa, ipbuf), + ntohs(port)); + + if (is_ipv6) { + addr->u.sin6.sin6_port = port; + addr_len = sizeof(addr->u.sin6); + } else { + addr->u.sin.sin_port = port; + addr_len = sizeof(addr->u.sin); + } + + return sendto(fd, buf, len, 0, &addr->u.sa, addr_len); +} + +/*! send RTP dummy packet (to keep NAT connection open). + * \param[in] endp mcgp endpoint that holds the RTP connection. + * \param[in] conn associated RTP connection. + * \returns bytes sent, -1 on error. */ +int mgcp_send_dummy(struct mgcp_endpoint *endp, struct mgcp_conn_rtp *conn) +{ + int rc; + int was_rtcp = 0; + + OSMO_ASSERT(endp); + OSMO_ASSERT(conn); + + LOGPCONN(conn->conn, DRTP, LOGL_DEBUG, "sending dummy packet... %s\n", + mgcp_conn_dump(conn->conn)); + + rc = mgcp_udp_send(conn->end.rtp.fd, &conn->end.addr, + conn->end.rtp_port, rtp_dummy_payload, sizeof(rtp_dummy_payload)); + + if (rc == -1) + goto failed; + + if (endp->trunk->omit_rtcp) + return rc; + + was_rtcp = 1; + rc = mgcp_udp_send(conn->end.rtcp.fd, &conn->end.addr, + conn->end.rtcp_port, rtp_dummy_payload, sizeof(rtp_dummy_payload)); + + if (rc >= 0) + return rc; + +failed: + LOGPCONN(conn->conn, DRTP, LOGL_ERROR, + "Failed to send dummy %s packet.\n", + was_rtcp ? "RTCP" : "RTP"); + + return -1; +} + +/*! Send RTP/RTCP data to a specified destination connection. + * \param[in] endp associated endpoint (for configuration, logging). + * \param[in] is_rtp flag to specify if the packet is of type RTP or RTCP. + * \param[in] spoofed source address (set to NULL to disable). + * \param[in] buf buffer that contains the RTP/RTCP data. + * \param[in] len length of the buffer that contains the RTP/RTCP data. + * \param[in] conn_src associated source connection. + * \param[in] conn_dst associated destination connection. + * \returns 0 on success, -1 on ERROR. */ +int mgcp_send(struct mgcp_endpoint *endp, int is_rtp, struct osmo_sockaddr *addr, + struct msgb *msg, struct mgcp_conn_rtp *conn_src, + struct mgcp_conn_rtp *conn_dst) +{ + /*! When no destination connection is available (e.g. when only one + * connection in loopback mode exists), then the source connection + * shall be specified as destination connection */ + + struct mgcp_trunk *trunk = endp->trunk; + struct mgcp_rtp_end *rtp_end; + struct mgcp_rtp_state *rtp_state; + char ipbuf[INET6_ADDRSTRLEN]; + char *dest_name; + int rc; + int len; + + OSMO_ASSERT(conn_src); + OSMO_ASSERT(conn_dst); + + if (is_rtp) + LOGPENDP(endp, DRTP, LOGL_DEBUG, "delivering RTP packet...\n"); + else + LOGPENDP(endp, DRTP, LOGL_DEBUG, "delivering RTCP packet...\n"); + + /* FIXME: It is legal that the payload type on the egress connection is + * different from the payload type that has been negotiated on the + * ingress connection. Essentially the codecs are the same so we can + * match them and patch the payload type. However, if we can not find + * the codec pendant (everything ist equal except the PT), we are of + * course unable to patch the payload type. A situation like this + * should not occur if transcoding is consequently avoided. Until + * we have transcoding support in osmo-mgw we can not resolve this. */ + if (is_rtp) { + rc = mgcp_patch_pt(conn_src, conn_dst, msg); + if (rc < 0) { + LOGPENDP(endp, DRTP, LOGL_DEBUG, + "can not patch PT because no suitable egress codec was found.\n"); + } + } + + /* Note: In case of loopback configuration, both, the source and the + * destination will point to the same connection. */ + rtp_end = &conn_dst->end; + rtp_state = &conn_src->state; + dest_name = conn_dst->conn->name; + + /* Ensure we have an alternative SSRC in case we need it, see also + * gen_rtp_header() */ + if (rtp_state->alt_rtp_tx_ssrc == 0) + rtp_state->alt_rtp_tx_ssrc = rand(); + + if (!rtp_end->output_enabled) { + 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", + dest_name, + osmo_sockaddr_ntop(&rtp_end->addr.u.sa, ipbuf), + ntohs(rtp_end->rtp_port), ntohs(rtp_end->rtcp_port) + ); + } else if (is_rtp) { + int cont; + int nbytes = 0; + int buflen = msgb_length(msg); + + /* Make sure we have a valid RTP header, in cases where no RTP + * header is present, we will generate one. */ + gen_rtp_header(msg, rtp_end, rtp_state); + + do { + /* Run transcoder */ + cont = endp->cfg->rtp_processing_cb(endp, rtp_end, + (char *)msgb_data(msg), &buflen, + RTP_BUF_SIZE); + if (cont < 0) + break; + + if (addr) + mgcp_patch_and_count(endp, rtp_state, rtp_end, + addr, msg); + + if (amr_oa_bwe_convert_indicated(conn_dst->end.codec)) { + rc = amr_oa_bwe_convert(endp, msg, + conn_dst->end.codec->param.amr_octet_aligned); + if (rc < 0) { + LOGPENDP(endp, DRTP, LOGL_ERROR, + "Error in AMR octet-aligned <-> bandwidth-efficient mode conversion\n"); + break; + } + } else if (rtp_end->rfc5993_hr_convert && + strcmp(conn_src->end.codec->subtype_name, "GSM-HR-08") == 0) { + rc = rfc5993_hr_convert(endp, msg); + if (rc < 0) { + LOGPENDP(endp, DRTP, LOGL_ERROR, "Error while converting to GSM-HR-08\n"); + break; + } + } + + LOGPENDP(endp, DRTP, LOGL_DEBUG, + "process/send to %s %s " + "rtp_port:%u rtcp_port:%u\n", + dest_name, + osmo_sockaddr_ntop(&rtp_end->addr.u.sa, ipbuf), + ntohs(rtp_end->rtp_port), ntohs(rtp_end->rtcp_port) + ); + + /* Forward a copy of the RTP data to a debug ip/port */ + forward_data(rtp_end->rtp.fd, &conn_src->tap_out, + msg); + + /* FIXME: HACK HACK HACK. See OS#2459. + * The ip.access nano3G needs the first RTP payload's first two bytes to read hex + * 'e400', or it will reject the RAB assignment. It seems to not harm other femto + * cells (as long as we patch only the first RTP payload in each stream). + */ + if (!rtp_state->patched_first_rtp_payload + && conn_src->conn->mode == MGCP_CONN_LOOPBACK) { + uint8_t *data = msgb_data(msg) + 12; + if (data[0] == 0xe0) { + data[0] = 0xe4; + data[1] = 0x00; + rtp_state->patched_first_rtp_payload = true; + LOGPENDP(endp, DRTP, LOGL_DEBUG, + "Patching over first two bytes" + " to fake an IuUP Initialization Ack\n"); + } + } + + len = mgcp_udp_send(rtp_end->rtp.fd, &rtp_end->addr, rtp_end->rtp_port, + (char *)msgb_data(msg), msgb_length(msg)); + + if (len <= 0) + return len; + + rtpconn_rate_ctr_inc(conn_dst, endp, RTP_PACKETS_TX_CTR); + rtpconn_rate_ctr_add(conn_dst, endp, RTP_OCTETS_TX_CTR, len); + rtp_state->alt_rtp_tx_sequence++; + + nbytes += len; + buflen = cont; + } while (buflen > 0); + return nbytes; + } else if (!trunk->omit_rtcp) { + LOGPENDP(endp, DRTP, LOGL_DEBUG, + "send to %s %s rtp_port:%u rtcp_port:%u\n", + dest_name, osmo_sockaddr_ntop(&rtp_end->addr.u.sa, ipbuf), + ntohs(rtp_end->rtp_port), ntohs(rtp_end->rtcp_port) + ); + + len = mgcp_udp_send(rtp_end->rtcp.fd, + &rtp_end->addr, + rtp_end->rtcp_port, (char *)msgb_data(msg), msgb_length(msg)); + + rtpconn_rate_ctr_inc(conn_dst, endp, RTP_PACKETS_TX_CTR); + rtpconn_rate_ctr_add(conn_dst, endp, RTP_OCTETS_TX_CTR, len); + rtp_state->alt_rtp_tx_sequence++; + + return len; + } + + return 0; +} + /*! dispatch incoming RTP packet to opposite RTP connection. * \param[in] proto protocol (MGCP_CONN_TYPE_RTP or MGCP_CONN_TYPE_RTCP). * \param[in] addr socket address where the RTP packet has been received from. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24860 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Iff8dab942182a0d909519acddb86be75d9cda7ae Gerrit-Change-Number: 24860 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 7 14:12:36 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 7 Jul 2021 14:12:36 +0000 Subject: Change in osmo-mgw[master]: mgcp_send_dummy: Check RTP destination is available before attempt tx In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24861 ) Change subject: mgcp_send_dummy: Check RTP destination is available before attempt tx ...................................................................... mgcp_send_dummy: Check RTP destination is available before attempt tx Several log messages showing "Failed to send dummy RTP packet." were seen in a osmo-mgw on the field. Let's re-use the function to check and provide more information on what's wrong to ease debugging. Related: SYS#5498 Change-Id: Iee6ac1f4d24c131e3bf40c37e6fdc252e5208ec8 --- M src/libosmo-mgcp/mgcp_network.c M tests/mgcp/mgcp_test.c M tests/mgcp/mgcp_test.ok 3 files changed, 10 insertions(+), 7 deletions(-) Approvals: neels: Looks good to me, but someone else must approve dexter: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index dfa952b..5b3ea51 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -1037,6 +1037,12 @@ LOGPCONN(conn->conn, DRTP, LOGL_DEBUG, "sending dummy packet... %s\n", mgcp_conn_dump(conn->conn)); + /* Before we try to deliver the packet, we check if the destination + * port and IP-Address make sense at all. If not, we will be unable + * to deliver the packet. */ + if (check_rtp_destin(conn) != 0) + goto failed; + rc = mgcp_udp_send(conn->end.rtp.fd, &conn->end.addr, conn->end.rtp_port, rtp_dummy_payload, sizeof(rtp_dummy_payload)); diff --git a/tests/mgcp/mgcp_test.c b/tests/mgcp/mgcp_test.c index e6862e5..5bb7b27 100644 --- a/tests/mgcp/mgcp_test.c +++ b/tests/mgcp/mgcp_test.c @@ -634,6 +634,10 @@ dummy_packets += 1; } + /* Make sure address+port are valid */ + OSMO_ASSERT(dest_host); + OSMO_ASSERT(dest_port); + return len; } diff --git a/tests/mgcp/mgcp_test.ok b/tests/mgcp/mgcp_test.ok index 9c48147..d3f8a26 100644 --- a/tests/mgcp/mgcp_test.ok +++ b/tests/mgcp/mgcp_test.ok @@ -118,7 +118,6 @@ using message with patched conn_id for comparison Response matches our expectations. (response contains a connection id) -Dummy packets: 2 ================================================ Testing MDCX4_PT1 @@ -142,7 +141,6 @@ using message with patched conn_id for comparison Response matches our expectations. (response contains a connection id) -Dummy packets: 2 ================================================ Testing MDCX4_PT2 @@ -166,7 +164,6 @@ using message with patched conn_id for comparison Response matches our expectations. (response contains a connection id) -Dummy packets: 2 ================================================ Testing MDCX4_PT3 @@ -190,7 +187,6 @@ using message with patched conn_id for comparison Response matches our expectations. (response contains a connection id) -Dummy packets: 2 ================================================ Testing MDCX4_PT4 @@ -214,7 +210,6 @@ using message with patched conn_id for comparison Response matches our expectations. (response contains a connection id) -Dummy packets: 2 ================================================ Testing MDCX4_SO @@ -253,7 +248,6 @@ using message with patched conn_id for comparison Response matches our expectations. (response contains a connection id) -Dummy packets: 2 ================================================ Testing DLCX @@ -441,7 +435,6 @@ using message with patched conn_id for comparison Response matches our expectations. (response contains a connection id) -Dummy packets: 2 ================================================ Testing CRCX -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24861 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Iee6ac1f4d24c131e3bf40c37e6fdc252e5208ec8 Gerrit-Change-Number: 24861 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 7 14:12:36 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 7 Jul 2021 14:12:36 +0000 Subject: Change in osmo-mgw[master]: mgw: rx CRCX: Avoid sending dummy rtp if remote address not provided In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24862 ) Change subject: mgw: rx CRCX: Avoid sending dummy rtp if remote address not provided ...................................................................... mgw: rx CRCX: Avoid sending dummy rtp if remote address not provided The following sequence of events was seen frequently in a osmo-mgw instance running on the field with heavy traffic: """ endpoint:rtpbridge/1 at mgw CRCX: creating new connection ... mgcp_network.c:236 endpoint:rtpbridge/1 at mgw CI:1C8CCFA9 Failed to send dummy RTP packet. """ Allegedly, that happens because at CRCX time the remote address may still not be known, hence we end up trying to send a dummy rtp packet to, for instance, host 0.0.0.0 port 0, which will of course fail. Let's avoid sending it if the address is not yet known. Similary, same issue could be seen during MDCX, since at MDCX we don't necessarily need to have a valid addr+port (there could be several MDCX and only last one set it). Finally, the keepalive timer also needs the check, since it iterates over all connections, and it could be that some is still not fully configured. Related: SYS#5498 Change-Id: I8ceafda691146823b12232b4a804b4ce74acbdc8 --- M include/osmocom/mgcp/mgcp_network.h M src/libosmo-mgcp/mgcp_network.c M src/libosmo-mgcp/mgcp_protocol.c 3 files changed, 16 insertions(+), 5 deletions(-) Approvals: neels: Looks good to me, but someone else must approve dexter: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/mgcp/mgcp_network.h b/include/osmocom/mgcp/mgcp_network.h index 1ed00e4..75b342d 100644 --- a/include/osmocom/mgcp/mgcp_network.h +++ b/include/osmocom/mgcp/mgcp_network.h @@ -132,6 +132,8 @@ char local_addr[INET6_ADDRSTRLEN]; }; +bool mgcp_rtp_end_remote_addr_available(const struct mgcp_rtp_end *rtp_end); + struct mgcp_rtp_tap { /* is this tap active (1) or not (0) */ int enabled; diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index 5b3ea51..d18c7cb 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -88,6 +88,11 @@ } } +bool mgcp_rtp_end_remote_addr_available(const struct mgcp_rtp_end *rtp_end) +{ + return rtp_end->rtp_port && !addr_is_any(&rtp_end->addr); +} + /*! 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. diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index 8d6f6f5..4fb93b0 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -990,8 +990,9 @@ /* Send dummy packet, see also comments in mgcp_keepalive_timer_cb() */ OSMO_ASSERT(trunk->keepalive_interval >= MGCP_KEEPALIVE_ONCE); - if (conn->conn->mode & MGCP_CONN_RECV_ONLY - && trunk->keepalive_interval != MGCP_KEEPALIVE_NEVER) + if (conn->conn->mode & MGCP_CONN_RECV_ONLY && + mgcp_rtp_end_remote_addr_available(&conn->end) && + trunk->keepalive_interval != MGCP_KEEPALIVE_NEVER) send_dummy(endp, conn); LOGPCONN(_conn, DLMGCP, LOGL_NOTICE, @@ -1232,8 +1233,9 @@ /* Send dummy packet, see also comments in mgcp_keepalive_timer_cb() */ OSMO_ASSERT(endp->trunk->keepalive_interval >= MGCP_KEEPALIVE_ONCE); - if (conn->conn->mode & MGCP_CONN_RECV_ONLY - && endp->trunk->keepalive_interval != MGCP_KEEPALIVE_NEVER) + if (conn->conn->mode & MGCP_CONN_RECV_ONLY && + mgcp_rtp_end_remote_addr_available(&conn->end) && + endp->trunk->keepalive_interval != MGCP_KEEPALIVE_NEVER) send_dummy(endp, conn); rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_SUCCESS)); @@ -1495,7 +1497,9 @@ for (i = 1; i < trunk->number_endpoints; ++i) { struct mgcp_endpoint *endp = trunk->endpoints[i]; llist_for_each_entry(conn, &endp->conns, entry) { - if (conn->mode == MGCP_CONN_RECV_ONLY) + if (conn->type == MGCP_CONN_TYPE_RTP && + conn->mode == MGCP_CONN_RECV_ONLY && + mgcp_rtp_end_remote_addr_available(&conn->u.rtp.end)) send_dummy(endp, &conn->u.rtp); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24862 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I8ceafda691146823b12232b4a804b4ce74acbdc8 Gerrit-Change-Number: 24862 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 7 14:12:36 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 7 Jul 2021 14:12:36 +0000 Subject: Change in osmo-mgw[master]: Fail rx MDCX sendrecv with invalid remote addr In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24863 ) Change subject: Fail rx MDCX sendrecv with invalid remote addr ...................................................................... Fail rx MDCX sendrecv with invalid remote addr use the recently new available API to check both remote address and port, instead of only the port. It doesn't make sense to configure a conn as sendrecv if we have no IP address to send stuff to, similar to what was already being checked with the port. Change-Id: I6ce8cf52930d423d3db8c27251be8350a26a4ede --- M src/libosmo-mgcp/mgcp_protocol.c M tests/mgcp/mgcp_test.c M tests/mgcp/mgcp_test.ok 3 files changed, 93 insertions(+), 45 deletions(-) Approvals: neels: Looks good to me, but someone else must approve dexter: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index 4fb93b0..56271e2 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -1149,7 +1149,7 @@ /* check connection mode setting */ if (conn->conn->mode != MGCP_CONN_LOOPBACK && conn->conn->mode != MGCP_CONN_RECV_ONLY - && conn->end.rtp_port == 0) { + && !mgcp_rtp_end_remote_addr_available(&conn->end)) { LOGPCONN(conn->conn, DLMGCP, LOGL_ERROR, "MDCX: selected connection mode type requires an opposite end!\n"); error_code = 527; diff --git a/tests/mgcp/mgcp_test.c b/tests/mgcp/mgcp_test.c index 5bb7b27..6978b1d 100644 --- a/tests/mgcp/mgcp_test.c +++ b/tests/mgcp/mgcp_test.c @@ -128,7 +128,7 @@ "a=fmtp:126 0/1/2\r\n" \ "a=ptime:40\r\n" -#define MDCX4 \ +#define MDCX4_ADDR0000 \ "MDCX 18983216 1 at mgw MGCP 1.0\r\n" \ "M: sendrecv\r" \ "C: 2\r\n" \ @@ -143,6 +143,24 @@ "a=rtpmap:99 AMR/8000\r\n" \ "a=ptime:40\r\n" +#define MDCX4_ADDR0000_RET \ + "527 18983216 FAIL\r\n" + +#define MDCX4 \ + "MDCX 18983217 1 at mgw MGCP 1.0\r\n" \ + "M: sendrecv\r" \ + "C: 2\r\n" \ + "I: %s\r\n" \ + "L: p:20, a:AMR, nt:IN\r\n" \ + "\n" \ + "v=0\r\n" \ + "o=- %s 23 IN IP4 5.6.7.8\r\n" \ + "c=IN IP4 5.6.7.8\r\n" \ + "t=0 0\r\n" \ + "m=audio 4441 RTP/AVP 99\r\n" \ + "a=rtpmap:99 AMR/8000\r\n" \ + "a=ptime:40\r\n" + #define MDCX4_RET(Ident) \ "200 " Ident " OK\r\n" \ "\r\n" \ @@ -168,45 +186,45 @@ "a=ptime:40\r\n" #define MDCX4_PT1 \ - "MDCX 18983217 1 at mgw MGCP 1.0\r\n" \ + "MDCX 18983218 1 at mgw MGCP 1.0\r\n" \ "M: SENDRECV\r" \ "C: 2\r\n" \ "I: %s\r\n" \ "L: p:20-40, a:AMR, nt:IN\r\n" \ "\n" \ "v=0\r\n" \ - "o=- %s 23 IN IP4 0.0.0.0\r\n" \ - "c=IN IP4 0.0.0.0\r\n" \ + "o=- %s 23 IN IP4 5.6.7.8\r\n" \ + "c=IN IP4 5.6.7.8\r\n" \ "t=0 0\r\n" \ "m=audio 4441 RTP/AVP 99\r\n" \ "a=rtpmap:99 AMR/8000\r\n" \ "a=ptime:40\r\n" #define MDCX4_PT2 \ - "MDCX 18983218 1 at mgw MGCP 1.0\r\n" \ + "MDCX 18983219 1 at mgw MGCP 1.0\r\n" \ "M: sendrecv\r" \ "C: 2\r\n" \ "I: %s\r\n" \ "L: p:20-20, a:AMR, nt:IN\r\n" \ "\n" \ "v=0\r\n" \ - "o=- %s 23 IN IP4 0.0.0.0\r\n" \ - "c=IN IP4 0.0.0.0\r\n" \ + "o=- %s 23 IN IP4 5.6.7.8\r\n" \ + "c=IN IP4 5.6.7.8\r\n" \ "t=0 0\r\n" \ "m=audio 4441 RTP/AVP 99\r\n" \ "a=rtpmap:99 AMR/8000\r\n" \ "a=ptime:40\r\n" #define MDCX4_PT3 \ - "MDCX 18983219 1 at mgw MGCP 1.0\r\n" \ + "MDCX 18983220 1 at mgw MGCP 1.0\r\n" \ "M: sendrecv\r" \ "C: 2\r\n" \ "I: %s\r\n" \ "L: a:AMR, nt:IN\r\n" \ "\n" \ "v=0\r\n" \ - "o=- %s 23 IN IP4 0.0.0.0\r\n" \ - "c=IN IP4 0.0.0.0\r\n" \ + "o=- %s 23 IN IP4 5.6.7.8\r\n" \ + "c=IN IP4 5.6.7.8\r\n" \ "t=0 0\r\n" \ "m=audio 4441 RTP/AVP 99\r\n" \ "a=rtpmap:99 AMR/8000\r\n" \ @@ -214,47 +232,47 @@ /* Test different upper/lower case in options */ #define MDCX4_PT4 \ - "MDCX 18983220 1 at mgw MGCP 1.0\r\n" \ + "MDCX 18983221 1 at mgw MGCP 1.0\r\n" \ "m: sendrecv\r" \ "c: 2\r\n" \ "i: %s\r\n" \ "l: A:amr, NT:IN\r\n" \ "\n" \ "v=0\r\n" \ - "o=- %s 23 IN IP4 0.0.0.0\r\n" \ - "c=IN IP4 0.0.0.0\r\n" \ + "o=- %s 23 IN IP4 5.6.7.8\r\n" \ + "c=IN IP4 5.6.7.8\r\n" \ "t=0 0\r\n" \ "m=audio 4441 RTP/AVP 99\r\n" \ "a=rtpmap:99 AMR/8000\r\n" \ "a=ptime:40\r\n" #define MDCX4_SO \ - "MDCX 18983221 1 at mgw MGCP 1.0\r\n" \ + "MDCX 18983222 1 at mgw MGCP 1.0\r\n" \ "M: sendonly\r" \ "C: 2\r\n" \ "I: %s\r\n" \ "L: p:20, a:AMR, nt:IN\r\n" \ "\n" \ "v=0\r\n" \ - "o=- %s 23 IN IP4 0.0.0.0\r\n" \ - "c=IN IP4 0.0.0.0\r\n" \ + "o=- %s 23 IN IP4 5.6.7.8\r\n" \ + "c=IN IP4 5.6.7.8\r\n" \ "t=0 0\r\n" \ "m=audio 4441 RTP/AVP 99\r\n" \ "a=rtpmap:99 AMR/8000\r\n" \ "a=ptime:40\r\n" #define MDCX4_RO \ - "MDCX 18983222 1 at mgw MGCP 1.0\r\n" \ + "MDCX 18983223 1 at mgw MGCP 1.0\r\n" \ "M: recvonly\r" \ "C: 2\r\n" \ "I: %s\r\n" \ "L: p:20, a:AMR, nt:IN\r\n" #define MDCX_TOO_LONG_CI \ - "MDCX 18983223 1 at mgw MGCP 1.0\r\n" \ + "MDCX 18983224 1 at mgw MGCP 1.0\r\n" \ "I: 123456789012345678901234567890123\n" -#define MDCX_TOO_LONG_CI_RET "510 18983223 FAIL\r\n" +#define MDCX_TOO_LONG_CI_RET "510 18983224 FAIL\r\n" #define SHORT2 "CRCX 1" #define SHORT2_RET "510 000000 FAIL\r\n" @@ -542,13 +560,14 @@ {"MDCX2", MDCX_UNALLOCATED, MDCX_RET}, {"CRCX", CRCX, CRCX_RET, 97}, {"MDCX3", MDCX3, MDCX3_RET, PTYPE_IGNORE}, - {"MDCX4", MDCX4, MDCX4_RET("18983216"), 99}, - {"MDCX4_PT1", MDCX4_PT1, MDCX4_RET("18983217"), 99}, - {"MDCX4_PT2", MDCX4_PT2, MDCX4_RET("18983218"), 99}, - {"MDCX4_PT3", MDCX4_PT3, MDCX4_RET("18983219"), 99}, - {"MDCX4_PT4", MDCX4_PT4, MDCX4_RET("18983220"), 99}, - {"MDCX4_SO", MDCX4_SO, MDCX4_RET("18983221"), 99}, - {"MDCX4_RO", MDCX4_RO, MDCX4_RO_RET("18983222"), PTYPE_IGNORE}, + {"MDCX4_ADDR000", MDCX4_ADDR0000, MDCX4_ADDR0000_RET}, + {"MDCX4", MDCX4, MDCX4_RET("18983217"), 99}, + {"MDCX4_PT1", MDCX4_PT1, MDCX4_RET("18983218"), 99}, + {"MDCX4_PT2", MDCX4_PT2, MDCX4_RET("18983219"), 99}, + {"MDCX4_PT3", MDCX4_PT3, MDCX4_RET("18983220"), 99}, + {"MDCX4_PT4", MDCX4_PT4, MDCX4_RET("18983221"), 99}, + {"MDCX4_SO", MDCX4_SO, MDCX4_RET("18983222"), 99}, + {"MDCX4_RO", MDCX4_RO, MDCX4_RO_RET("18983223"), PTYPE_IGNORE}, {"DLCX", DLCX, DLCX_RET, PTYPE_IGNORE}, {"CRCX_ZYN", CRCX_ZYN, CRCX_ZYN_RET, 97}, {"EMPTY", EMPTY, EMPTY_RET}, diff --git a/tests/mgcp/mgcp_test.ok b/tests/mgcp/mgcp_test.ok index d3f8a26..575fd83 100644 --- a/tests/mgcp/mgcp_test.ok +++ b/tests/mgcp/mgcp_test.ok @@ -97,7 +97,7 @@ Dummy packets: 2 ================================================ -Testing MDCX4 +Testing MDCX4_ADDR000 creating message from statically defined input: ---------8<--------- MDCX 18983216 1 at mgw MGCP 1.0 @@ -115,22 +115,46 @@ ---------8<--------- checking response: +using message as statically defined for comparison +Response matches our expectations. +(response does not contain a connection id) + +================================================ +Testing MDCX4 +creating message from statically defined input: +---------8<--------- +MDCX 18983217 1 at mgw MGCP 1.0 +M: sendrecv C: 2 +I: %s +L: p:20, a:AMR, nt:IN + +v=0 +o=- %s 23 IN IP4 5.6.7.8 +c=IN IP4 5.6.7.8 +t=0 0 +m=audio 4441 RTP/AVP 99 +a=rtpmap:99 AMR/8000 +a=ptime:40 + +---------8<--------- +checking response: using message with patched conn_id for comparison Response matches our expectations. (response contains a connection id) +Dummy packets: 2 ================================================ Testing MDCX4_PT1 creating message from statically defined input: ---------8<--------- -MDCX 18983217 1 at mgw MGCP 1.0 +MDCX 18983218 1 at mgw MGCP 1.0 M: SENDRECV C: 2 I: %s L: p:20-40, a:AMR, nt:IN v=0 -o=- %s 23 IN IP4 0.0.0.0 -c=IN IP4 0.0.0.0 +o=- %s 23 IN IP4 5.6.7.8 +c=IN IP4 5.6.7.8 t=0 0 m=audio 4441 RTP/AVP 99 a=rtpmap:99 AMR/8000 @@ -141,19 +165,20 @@ using message with patched conn_id for comparison Response matches our expectations. (response contains a connection id) +Dummy packets: 2 ================================================ Testing MDCX4_PT2 creating message from statically defined input: ---------8<--------- -MDCX 18983218 1 at mgw MGCP 1.0 +MDCX 18983219 1 at mgw MGCP 1.0 M: sendrecv C: 2 I: %s L: p:20-20, a:AMR, nt:IN v=0 -o=- %s 23 IN IP4 0.0.0.0 -c=IN IP4 0.0.0.0 +o=- %s 23 IN IP4 5.6.7.8 +c=IN IP4 5.6.7.8 t=0 0 m=audio 4441 RTP/AVP 99 a=rtpmap:99 AMR/8000 @@ -164,19 +189,20 @@ using message with patched conn_id for comparison Response matches our expectations. (response contains a connection id) +Dummy packets: 2 ================================================ Testing MDCX4_PT3 creating message from statically defined input: ---------8<--------- -MDCX 18983219 1 at mgw MGCP 1.0 +MDCX 18983220 1 at mgw MGCP 1.0 M: sendrecv C: 2 I: %s L: a:AMR, nt:IN v=0 -o=- %s 23 IN IP4 0.0.0.0 -c=IN IP4 0.0.0.0 +o=- %s 23 IN IP4 5.6.7.8 +c=IN IP4 5.6.7.8 t=0 0 m=audio 4441 RTP/AVP 99 a=rtpmap:99 AMR/8000 @@ -187,19 +213,20 @@ using message with patched conn_id for comparison Response matches our expectations. (response contains a connection id) +Dummy packets: 2 ================================================ Testing MDCX4_PT4 creating message from statically defined input: ---------8<--------- -MDCX 18983220 1 at mgw MGCP 1.0 +MDCX 18983221 1 at mgw MGCP 1.0 m: sendrecv c: 2 i: %s l: A:amr, NT:IN v=0 -o=- %s 23 IN IP4 0.0.0.0 -c=IN IP4 0.0.0.0 +o=- %s 23 IN IP4 5.6.7.8 +c=IN IP4 5.6.7.8 t=0 0 m=audio 4441 RTP/AVP 99 a=rtpmap:99 AMR/8000 @@ -210,19 +237,20 @@ using message with patched conn_id for comparison Response matches our expectations. (response contains a connection id) +Dummy packets: 2 ================================================ Testing MDCX4_SO creating message from statically defined input: ---------8<--------- -MDCX 18983221 1 at mgw MGCP 1.0 +MDCX 18983222 1 at mgw MGCP 1.0 M: sendonly C: 2 I: %s L: p:20, a:AMR, nt:IN v=0 -o=- %s 23 IN IP4 0.0.0.0 -c=IN IP4 0.0.0.0 +o=- %s 23 IN IP4 5.6.7.8 +c=IN IP4 5.6.7.8 t=0 0 m=audio 4441 RTP/AVP 99 a=rtpmap:99 AMR/8000 @@ -238,7 +266,7 @@ Testing MDCX4_RO creating message from statically defined input: ---------8<--------- -MDCX 18983222 1 at mgw MGCP 1.0 +MDCX 18983223 1 at mgw MGCP 1.0 M: recvonly C: 2 I: %s L: p:20, a:AMR, nt:IN @@ -248,6 +276,7 @@ using message with patched conn_id for comparison Response matches our expectations. (response contains a connection id) +Dummy packets: 2 ================================================ Testing DLCX @@ -463,7 +492,7 @@ Testing MDCX_TOO_LONG_CI creating message from statically defined input: ---------8<--------- -MDCX 18983223 1 at mgw MGCP 1.0 +MDCX 18983224 1 at mgw MGCP 1.0 I: 123456789012345678901234567890123 ---------8<--------- -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24863 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6ce8cf52930d423d3db8c27251be8350a26a4ede Gerrit-Change-Number: 24863 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 7 14:49:44 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 7 Jul 2021 14:49:44 +0000 Subject: Change in osmo-dev[master]: net/templates/run.sh: fix check for masquerade References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-dev/+/24875 ) Change subject: net/templates/run.sh: fix check for masquerade ...................................................................... net/templates/run.sh: fix check for masquerade Replace the old check with an exact check for the given rule. The old check doesn't work on my system if docker is running and sets up other masquerading rules. Change-Id: I30c22fe4e7683611e8dada329dbf7d51f78b6016 --- M net/templates/run.sh 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-dev refs/changes/75/24875/1 diff --git a/net/templates/run.sh b/net/templates/run.sh index 0eacb0f..8ddef94 100755 --- a/net/templates/run.sh +++ b/net/templates/run.sh @@ -13,7 +13,8 @@ sudo true || exit 1 -if [ -z "$(sudo iptables -L -t nat | grep MASQUERADE)" ]; then +if ! sudo iptables -t nat -C POSTROUTING -s ${GGSN_NET} -o $dev -j MASQUERADE 2>/dev/null; then + echo "Adding iptables rule for masquerade" sudo iptables -t nat -A POSTROUTING -s ${GGSN_NET} -o $dev -j MASQUERADE fi -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/24875 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I30c22fe4e7683611e8dada329dbf7d51f78b6016 Gerrit-Change-Number: 24875 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 Jul 7 14:57:23 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 7 Jul 2021 14:57:23 +0000 Subject: Change in libosmocore[master]: linuxlist: add function to check entry presence In-Reply-To: References: Message-ID: dexter has abandoned this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24813 ) Change subject: linuxlist: add function to check entry presence ...................................................................... Abandoned This function would be dangerous (see also: https://gerrit.osmocom.org/c/osmo-bts/+/24513/8/src/common/abis.c#434) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24813 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id1e8281d9d9f34277095ce9307e298bf29affa71 Gerrit-Change-Number: 24813 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 7 14:57:53 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 7 Jul 2021 14:57:53 +0000 Subject: Change in osmo-bts[master]: allow to configure multiple oml remote-ip addresses In-Reply-To: References: Message-ID: Hello Jenkins Builder, neels, laforge, pespin, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/24513 to look at the new patch set (#9). Change subject: allow to configure multiple oml remote-ip addresses ...................................................................... allow to configure multiple oml remote-ip addresses At the moment we can only configure a single BSC in the BTS configuration. This also means that if this single BSC fails for some reason the BTS has no alternate BSC to connect to. Lets extend the remote-ip parameter so that it can be used multiple times so that an operater can configure any number of BSCs that are tried one after another during BTS startup. Change-Id: I205f68a3a7f35fee4c38a7cfba2b014237df2727 Related: SYS#4971 --- M include/osmo-bts/abis.h M include/osmo-bts/bts.h M src/common/abis.c M src/common/bts.c M src/common/main.c M src/common/vty.c M src/osmo-bts-omldummy/main.c 7 files changed, 295 insertions(+), 80 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/13/24513/9 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24513 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I205f68a3a7f35fee4c38a7cfba2b014237df2727 Gerrit-Change-Number: 24513 Gerrit-PatchSet: 9 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 7 14:58:21 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 7 Jul 2021 14:58:21 +0000 Subject: Change in osmo-bts[master]: allow to configure multiple oml remote-ip addresses In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24513 ) Change subject: allow to configure multiple oml remote-ip addresses ...................................................................... Patch Set 9: (5 comments) https://gerrit.osmocom.org/c/osmo-bts/+/24513/8/src/common/abis.c File src/common/abis.c: https://gerrit.osmocom.org/c/osmo-bts/+/24513/8/src/common/abis.c at 150 PS8, Line 150: if (!llist_contains(&bts->bsc_oml_hosts, priv->bsc_oml_host)) > I think I already explained in previous version that imho this is not the proper way of doing this. [?] That makes sense. Thanks. https://gerrit.osmocom.org/c/osmo-bts/+/24513/8/src/common/abis.c at 170 PS8, Line 170: osmo_get_macaddr(bts_dev_info.mac_addr, "eth0"); > I see the eth0 comes from old version abis_open() below. [?] Done https://gerrit.osmocom.org/c/osmo-bts/+/24513/8/src/common/abis.c at 223 PS8, Line 223: .out_state_mask = S(ABIS_LINK_ST_CONNECTING) | S(ABIS_LINK_ST_CONNECTED) | S(ABIS_LINK_ST_FAILED), > In general I find much more readable to have one state/event per line. [?] Done https://gerrit.osmocom.org/c/osmo-bts/+/24513/8/src/common/abis.c at 224 PS8, Line 224: .onenter = abis_link_connecting, > The onenter states are usually named *_onenter to make it clear when they run. [?] Done https://gerrit.osmocom.org/c/osmo-bts/+/24513/8/src/common/abis.c at 432 PS8, Line 432: /* Note: the parameter dst_host is optional and may be NULL. It is > This comment is outdated Done -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24513 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I205f68a3a7f35fee4c38a7cfba2b014237df2727 Gerrit-Change-Number: 24513 Gerrit-PatchSet: 9 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 07 Jul 2021 14:58:21 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: daniel Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 7 17:15:27 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 7 Jul 2021 17:15:27 +0000 Subject: Change in osmo-bsc[master]: WIP: avoid switching dyn ts to sdcch8 if it starves later TCH References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24876 ) Change subject: WIP: avoid switching dyn ts to sdcch8 if it starves later TCH ...................................................................... WIP: avoid switching dyn ts to sdcch8 if it starves later TCH Add a 2nd step lchan target, which provides information on channel type required after the 1st one is used. This is used to avoid selecting a dynamic timeslot to be switched to SDCCH8 when doing so would end up with the BTS having no free TCH channels to be used later on when the call is negotiated in SDCCH8. In that case, we avoid the PDCH->SDCCH8 dyn TS switch and instead let upper layers look for a TCH as a next step. This way we ensure that the call is possible. Related: SYS#5309 Change-Id: I3b32968949a7bdcbebf5a823359295bac51d8e08 --- M include/osmocom/bsc/lchan_select.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/handover_decision_2.c M src/osmo-bsc/handover_fsm.c M src/osmo-bsc/lchan_select.c M tests/handover/handover_test.c 8 files changed, 159 insertions(+), 57 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/76/24876/1 diff --git a/include/osmocom/bsc/lchan_select.h b/include/osmocom/bsc/lchan_select.h index aa2f40e..11ee34b 100644 --- a/include/osmocom/bsc/lchan_select.h +++ b/include/osmocom/bsc/lchan_select.h @@ -1,8 +1,12 @@ /* Select a suitable lchan from a given cell. */ #pragma once -struct gsm_lchan *lchan_select_by_type(struct gsm_bts *bts, enum gsm_chan_t type); +struct gsm_lchan *lchan_select_by_type(struct gsm_bts *bts, enum gsm_chan_t type, enum gsm_chan_t step2_type); enum gsm_chan_t chan_mode_to_chan_type(enum gsm48_chan_mode chan_mode, enum channel_rate chan_rate); struct gsm_lchan *lchan_select_by_chan_mode(struct gsm_bts *bts, enum gsm48_chan_mode chan_mode, enum channel_rate chan_rate); -struct gsm_lchan *lchan_avail_by_type(struct gsm_bts *bts, enum gsm_chan_t type, bool log); +struct gsm_lchan *lchan_select_by_chan_mode_list(struct gsm_bts *bts, + const struct channel_mode_and_rate *chan_mode_rate_list, + unsigned int chan_mode_rate_list_len, + struct channel_mode_and_rate *selected_chan_mode_rate); +struct gsm_lchan *lchan_avail_by_type(struct gsm_bts *bts, enum gsm_chan_t type, enum gsm_chan_t step2_type, bool log); diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index f0adc56..71e6b7a 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1778,12 +1778,12 @@ /* First check the situation on the BTS, if we have TCH/H or TCH/F resources available for another (EMERGENCY) * call. If yes, then no (further) action has to be carried out. */ - if (lchan_avail_by_type(rqd->bts, GSM_LCHAN_TCH_F, true)) { + if (lchan_avail_by_type(rqd->bts, GSM_LCHAN_TCH_F, GSM_LCHAN_NONE, true)) { LOG_BTS(rqd->bts, DRSL, LOGL_NOTICE, "CHAN RQD/EMERGENCY-PRIORITY: at least one TCH/F is (now) available!\n"); return false; } - if (lchan_avail_by_type(rqd->bts, GSM_LCHAN_TCH_H, true)) { + if (lchan_avail_by_type(rqd->bts, GSM_LCHAN_TCH_H, GSM_LCHAN_NONE, true)) { LOG_BTS(rqd->bts, DRSL, LOGL_NOTICE, "CHAN RQD/EMERGENCY-PRIORITY: at least one TCH/H is (now) available!\n"); return false; @@ -1881,18 +1881,25 @@ /* Emergency calls will be put on a free TCH/H or TCH/F directly in the code below, all other channel requests * will get an SDCCH first (if possible). */ - if (rqd->reason != GSM_CHREQ_REASON_EMERG) - lchan = lchan_select_by_type(bts, GSM_LCHAN_SDCCH); + if (rqd->reason != GSM_CHREQ_REASON_EMERG) { + if (GSM_CHREQ_REASON_CALL) { + lchan = lchan_select_by_type(bts, GSM_LCHAN_SDCCH, GSM_LCHAN_TCH_H); + if (!lchan) + lchan = lchan_select_by_type(bts, GSM_LCHAN_SDCCH, GSM_LCHAN_TCH_F); + } else { + lchan = lchan_select_by_type(bts, GSM_LCHAN_SDCCH, GSM_LCHAN_NONE); + } + } if (!lchan) { LOG_BTS(bts, DRSL, LOGL_NOTICE, "CHAN RQD: no resources for %s 0x%x, retrying with %s\n", gsm_lchant_name(GSM_LCHAN_SDCCH), rqd->ref.ra, gsm_lchant_name(GSM_LCHAN_TCH_H)); - lchan = lchan_select_by_type(bts, GSM_LCHAN_TCH_H); + lchan = lchan_select_by_type(bts, GSM_LCHAN_TCH_H, GSM_LCHAN_NONE); } if (!lchan) { LOG_BTS(bts, DRSL, LOGL_NOTICE, "CHAN RQD: no resources for %s 0x%x, retrying with %s\n", gsm_lchant_name(GSM_LCHAN_SDCCH), rqd->ref.ra, gsm_lchant_name(GSM_LCHAN_TCH_F)); - lchan = lchan_select_by_type(bts, GSM_LCHAN_TCH_F); + lchan = lchan_select_by_type(bts, GSM_LCHAN_TCH_F, GSM_LCHAN_NONE); } if (!lchan) { LOG_BTS(bts, DRSL, LOGL_NOTICE, "CHAN RQD: no resources for %s 0x%x\n", diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index 2c52d22..8efef52 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -585,19 +585,15 @@ } } else { /* Try to allocate a new lchan in order of preference */ - for (i = 0; i < req->n_ch_mode_rate; i++) { - conn->assignment.new_lchan = lchan_select_by_chan_mode(bts, - req->ch_mode_rate_list[i].chan_mode, req->ch_mode_rate_list[i].chan_rate); - if (!conn->assignment.new_lchan) - continue; - LOG_ASSIGNMENT(conn, LOGL_DEBUG, "selected new lchan %s for mode[%d] = %s channel_rate=%d\n", + conn->assignment.new_lchan = lchan_select_by_chan_mode_list(bts, + req->ch_mode_rate_list, + req->n_ch_mode_rate, + &conn->assignment.selected_ch_mode_rate); + if (conn->assignment.new_lchan) + LOG_ASSIGNMENT(conn, LOGL_DEBUG, "selected new lchan %s for mode=%s channel_rate=%d\n", gsm_lchan_name(conn->assignment.new_lchan), - i, gsm48_chan_mode_name(req->ch_mode_rate_list[i].chan_mode), - req->ch_mode_rate_list[i].chan_rate); - - conn->assignment.selected_ch_mode_rate = req->ch_mode_rate_list[i]; - break; - } + gsm48_chan_mode_name(conn->assignment.selected_ch_mode_rate.chan_mode), + conn->assignment.selected_ch_mode_rate.chan_rate); } /* Check whether the lchan allocation was successful or not and tear diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 070b660..0d73fd2 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -1937,7 +1937,7 @@ { LOG_LCHAN(from_lchan, LOGL_NOTICE, "Manually triggering Assignment from VTY\n"); if (!to_lchan) { - to_lchan = lchan_select_by_type(from_lchan->ts->trx->bts, from_lchan->type); + to_lchan = lchan_select_by_type(from_lchan->ts->trx->bts, from_lchan->type, GSM_LCHAN_NONE); vty_out(vty, "Error: cannot find free lchan of type %s%s", gsm_lchant_name(from_lchan->type), VTY_NEWLINE); } @@ -2115,7 +2115,7 @@ continue; llist_for_each_entry(trx, &bts->trx_list, list) { - struct gsm_lchan *lchan = lchan_select_by_type(bts, free_type); + struct gsm_lchan *lchan = lchan_select_by_type(bts, free_type, GSM_LCHAN_NONE); if (!lchan) continue; diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index d778876..7699c81 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -1033,7 +1033,7 @@ c->target.min_free_tchh = ho_get_hodec2_tchh_min_slots(c->target.bts->ho); /* Would the next TCH/F lchan occupy a dynamic timeslot that currently counts for free TCH/H timeslots? */ - next_lchan = lchan_avail_by_type(c->target.bts, GSM_LCHAN_TCH_F, false); + next_lchan = lchan_avail_by_type(c->target.bts, GSM_LCHAN_TCH_F, GSM_LCHAN_NONE, false); if (next_lchan && next_lchan->ts->pchan_on_init == GSM_PCHAN_OSMO_DYN) c->target.next_tchf_reduces_tchh = 2; else @@ -1041,7 +1041,7 @@ /* Would the next TCH/H lchan occupy a dynamic timeslot that currently counts for free TCH/F timeslots? * Note that a dyn TS already in TCH/H mode (half occupied) would not reduce free TCH/F. */ - next_lchan = lchan_avail_by_type(c->target.bts, GSM_LCHAN_TCH_H, false); + next_lchan = lchan_avail_by_type(c->target.bts, GSM_LCHAN_TCH_H, GSM_LCHAN_NONE, false); if (next_lchan && next_lchan->ts->pchan_on_init == GSM_PCHAN_OSMO_DYN && next_lchan->ts->pchan_is != GSM_PCHAN_TCH_H) c->target.next_tchh_reduces_tchf = 1; diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index 5f4b892..1d38fff 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -375,7 +375,7 @@ ho->async = true; gsm_bts_cell_id_list(&ho->target_cell_ids, ho->new_bts); - ho->new_lchan = lchan_select_by_type(ho->new_bts, ho->new_lchan_type); + ho->new_lchan = lchan_select_by_type(ho->new_bts, ho->new_lchan_type, GSM_LCHAN_NONE); if (ho->scope & HO_INTRA_CELL) { ho_count(bts, CTR_INTRA_CELL_HO_ATTEMPTED); diff --git a/src/osmo-bsc/lchan_select.c b/src/osmo-bsc/lchan_select.c index efa2ff2..d6c5275 100644 --- a/src/osmo-bsc/lchan_select.c +++ b/src/osmo-bsc/lchan_select.c @@ -32,7 +32,7 @@ static struct gsm_lchan * _lc_find_trx(struct gsm_bts_trx *trx, enum gsm_phys_chan_config pchan, - enum gsm_phys_chan_config as_pchan, bool allow_pchan_switch, bool log) + enum gsm_phys_chan_config as_pchan, bool allow_pchan_switch, const struct gsm_bts_trx_ts *exclude_ts, bool log) { struct gsm_lchan *lchan; struct gsm_bts_trx_ts *ts; @@ -69,6 +69,10 @@ ts = &trx->ts[j]; if (!ts_is_usable(ts)) continue; + if (ts == exclude_ts) { + LOGPLCHANALLOC("%s is excluded\n", gsm_ts_and_pchan_name(ts)); + continue; + } /* The caller first selects what kind of TS to search in, e.g. looking for exact * GSM_PCHAN_TCH_F, or maybe among dynamic GSM_PCHAN_OSMO_DYN... */ if (ts->pchan_on_init != pchan) { @@ -105,8 +109,8 @@ } static struct gsm_lchan * -_lc_dyn_find_bts(struct gsm_bts *bts, enum gsm_phys_chan_config pchan, - enum gsm_phys_chan_config dyn_as_pchan, bool log) +_lc_dyn_find_bts_excl(struct gsm_bts *bts, enum gsm_phys_chan_config pchan, + enum gsm_phys_chan_config dyn_as_pchan, const struct gsm_bts_trx_ts *exclude_dyn_ts_switch, bool log, bool *ts_switch_required) { struct gsm_bts_trx *trx; struct gsm_lchan *lc; @@ -120,15 +124,18 @@ * true, because they never switch anyway. */ try_pchan_switch = (pchan != dyn_as_pchan); for (allow_pchan_switch = 0; allow_pchan_switch <= (try_pchan_switch ? 1 : 0); allow_pchan_switch++) { + const struct gsm_bts_trx_ts *excl = allow_pchan_switch ? exclude_dyn_ts_switch : NULL; + if (ts_switch_required) + *ts_switch_required = allow_pchan_switch; if (bts->chan_alloc_reverse) { llist_for_each_entry_reverse(trx, &bts->trx_list, list) { - lc = _lc_find_trx(trx, pchan, dyn_as_pchan, (bool)allow_pchan_switch, log); + lc = _lc_find_trx(trx, pchan, dyn_as_pchan, (bool)allow_pchan_switch, excl, log); if (lc) return lc; } } else { llist_for_each_entry(trx, &bts->trx_list, list) { - lc = _lc_find_trx(trx, pchan, dyn_as_pchan, (bool)allow_pchan_switch, log); + lc = _lc_find_trx(trx, pchan, dyn_as_pchan, (bool)allow_pchan_switch, excl, log); if (lc) return lc; } @@ -139,9 +146,16 @@ } static struct gsm_lchan * +_lc_dyn_find_bts(struct gsm_bts *bts, enum gsm_phys_chan_config pchan, + enum gsm_phys_chan_config dyn_as_pchan, bool log, bool *ts_switch_required) +{ + return _lc_dyn_find_bts_excl(bts, pchan, dyn_as_pchan, NULL, log, ts_switch_required); +} + +static struct gsm_lchan * _lc_find_bts(struct gsm_bts *bts, enum gsm_phys_chan_config pchan, bool log) { - return _lc_dyn_find_bts(bts, pchan, pchan, log); + return _lc_dyn_find_bts(bts, pchan, pchan, log, NULL); } enum gsm_chan_t chan_mode_to_chan_type(enum gsm48_chan_mode chan_mode, enum channel_rate chan_rate) @@ -184,16 +198,92 @@ enum gsm_chan_t type = chan_mode_to_chan_type(chan_mode, chan_rate); if (type == GSM_LCHAN_NONE) return NULL; - return lchan_select_by_type(bts, type); + return lchan_select_by_type(bts, type, GSM_LCHAN_NONE); } -struct gsm_lchan *lchan_avail_by_type(struct gsm_bts *bts, enum gsm_chan_t type, bool log) +static enum gsm_chan_t _step2_type_get(enum gsm_chan_t type, + const struct channel_mode_and_rate *chan_mode_rate_list, + unsigned int chan_mode_rate_list_len) +{ + int i; + enum gsm_chan_t step2_type; + + if (type == GSM_LCHAN_SDCCH) { + for (i = 0; i < chan_mode_rate_list_len; i++) + step2_type = chan_mode_to_chan_type(chan_mode_rate_list[i].chan_mode, + chan_mode_rate_list[i].chan_rate); + if (step2_type == GSM_LCHAN_TCH_H || step2_type == GSM_LCHAN_TCH_F) + return step2_type; + } + return GSM_LCHAN_NONE; +} + +/* Try to allocate a new lchan in order of preference */ +struct gsm_lchan *lchan_select_by_chan_mode_list(struct gsm_bts *bts, + const struct channel_mode_and_rate *chan_mode_rate_list, + unsigned int chan_mode_rate_list_len, + struct channel_mode_and_rate *selected_chan_mode_rate) +{ + unsigned int i; + struct gsm_lchan *new_lchan; + /* Try to allocate a new lchan in order of preference */ + for (i = 0; i < chan_mode_rate_list_len; i++) { + enum gsm_chan_t type = chan_mode_to_chan_type(chan_mode_rate_list[i].chan_mode, + chan_mode_rate_list[i].chan_rate); + enum gsm_chan_t step2_type; + + if (type == GSM_LCHAN_NONE) + continue; + step2_type = _step2_type_get(type, (&chan_mode_rate_list[i]) + 1, chan_mode_rate_list_len - i - 1); + new_lchan = lchan_select_by_type(bts, type, step2_type); + if (!new_lchan) + continue; + + *selected_chan_mode_rate = chan_mode_rate_list[i]; + break; + } + return NULL; +} + +static struct gsm_lchan *_lchan_avail_tch_f(struct gsm_bts *bts, const struct gsm_bts_trx_ts *exclude_dyn_ts_switch, bool log) { struct gsm_lchan *lchan = NULL; + lchan = _lc_find_bts(bts, GSM_PCHAN_TCH_F, log); + /* If we don't have TCH/F available, try dynamic TCH/F_PDCH */ + if (!lchan) + lchan = _lc_dyn_find_bts_excl(bts, GSM_PCHAN_TCH_F_PDCH, + GSM_PCHAN_TCH_F, exclude_dyn_ts_switch, log, NULL); + + /* Try fully dynamic TCH/F_TCH/H_PDCH as TCH/F... */ + if (!lchan && bts->network->dyn_ts_allow_tch_f) + lchan = _lc_dyn_find_bts_excl(bts, + GSM_PCHAN_OSMO_DYN, + GSM_PCHAN_TCH_F, exclude_dyn_ts_switch, log, NULL); + return lchan; +} + +static struct gsm_lchan *_lchan_avail_tch_h(struct gsm_bts *bts, const struct gsm_bts_trx_ts *exclude_dyn_ts_switch, bool log) +{ + struct gsm_lchan *lchan = NULL; + lchan = _lc_find_bts(bts, GSM_PCHAN_TCH_H, log); + /* No dedicated TCH/x available -- try fully dynamic + * TCH/F_TCH/H_PDCH */ + if (!lchan) + lchan = _lc_dyn_find_bts_excl(bts, + GSM_PCHAN_OSMO_DYN, + GSM_PCHAN_TCH_H, exclude_dyn_ts_switch, log, NULL); + return lchan; +} + +struct gsm_lchan *lchan_avail_by_type(struct gsm_bts *bts, enum gsm_chan_t type, enum gsm_chan_t step2_type, bool log) +{ + struct gsm_lchan *lchan = NULL; + bool ts_switch_required; enum gsm_phys_chan_config first, first_cbch, second, second_cbch; if (log) - LOG_BTS(bts, DRLL, LOGL_DEBUG, "lchan_avail_by_type(%s)\n", gsm_lchant_name(type)); + LOG_BTS(bts, DRLL, LOGL_DEBUG, "lchan_avail_by_type(%s, step2=%s)\n", + gsm_lchant_name(type), gsm_lchant_name(step2_type)); switch (type) { case GSM_LCHAN_SDCCH: @@ -218,32 +308,37 @@ lchan = _lc_find_bts(bts, second_cbch, log); /* No dedicated SDCCH available -- try fully dynamic * TCH/F_TCH/H_SDCCH8_PDCH if BTS supports it: */ - if (lchan == NULL && osmo_bts_has_feature(&bts->features, BTS_FEAT_DYN_TS_SDCCH8)) + if (lchan == NULL && osmo_bts_has_feature(&bts->features, BTS_FEAT_DYN_TS_SDCCH8)) { lchan = _lc_dyn_find_bts(bts, GSM_PCHAN_OSMO_DYN, - GSM_PCHAN_SDCCH8_SACCH8C, log); + GSM_PCHAN_SDCCH8_SACCH8C, log, &ts_switch_required); + /* If a DYN TS is switched to SDCCH8 as a first step towards + handling a TCH, let's make sure there's still a TCH available + too. Otherwise, let's rather return NOT FOUND now and let + caller subsequently request a TCH, which will take the DYN TS + and be able to success through the entire call channel + establishment */ + if (ts_switch_required) { + switch (step2_type) { + case GSM_LCHAN_TCH_F: + if (!_lchan_avail_tch_f(bts, lchan->ts, log)) + lchan = NULL; + break; + case GSM_LCHAN_TCH_H: + if (!_lchan_avail_tch_h(bts, lchan->ts, log)) + lchan = NULL; + break; + default: + /* we are fine, go forward */ + } + } + } break; case GSM_LCHAN_TCH_F: - lchan = _lc_find_bts(bts, GSM_PCHAN_TCH_F, log); - /* If we don't have TCH/F available, try dynamic TCH/F_PDCH */ - if (!lchan) - lchan = _lc_dyn_find_bts(bts, GSM_PCHAN_TCH_F_PDCH, - GSM_PCHAN_TCH_F, log); - - /* Try fully dynamic TCH/F_TCH/H_PDCH as TCH/F... */ - if (!lchan && bts->network->dyn_ts_allow_tch_f) - lchan = _lc_dyn_find_bts(bts, - GSM_PCHAN_OSMO_DYN, - GSM_PCHAN_TCH_F, log); + lchan = _lchan_avail_tch_f(bts, NULL, log); break; case GSM_LCHAN_TCH_H: - lchan = _lc_find_bts(bts, GSM_PCHAN_TCH_H, log); - /* No dedicated TCH/x available -- try fully dynamic - * TCH/F_TCH/H_PDCH */ - if (!lchan) - lchan = _lc_dyn_find_bts(bts, - GSM_PCHAN_OSMO_DYN, - GSM_PCHAN_TCH_H, log); + lchan = _lchan_avail_tch_h(bts, NULL, log); break; default: LOG_BTS(bts, DRLL, LOGL_ERROR, "Unknown gsm_chan_t %u\n", type); @@ -255,11 +350,11 @@ /* Return a matching lchan from a specific BTS that is currently available. The next logical step is * lchan_activate() on it, which would possibly cause dynamic timeslot pchan switching, taken care of by * the lchan and timeslot FSMs. */ -struct gsm_lchan *lchan_select_by_type(struct gsm_bts *bts, enum gsm_chan_t type) +struct gsm_lchan *lchan_select_by_type(struct gsm_bts *bts, enum gsm_chan_t type, enum gsm_chan_t step2_type) { struct gsm_lchan *lchan = NULL; - lchan = lchan_avail_by_type(bts, type, true); + lchan = lchan_avail_by_type(bts, type, step2_type, true); LOG_BTS(bts, DRLL, LOGL_DEBUG, "lchan_select_by_type(%s)\n", gsm_lchant_name(type)); diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index 2ff9f31..15245eb 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -434,7 +434,7 @@ { struct gsm_lchan *lchan; - lchan = lchan_select_by_type(bts, (full_rate) ? GSM_LCHAN_TCH_F : GSM_LCHAN_TCH_H); + lchan = lchan_select_by_type(bts, (full_rate) ? GSM_LCHAN_TCH_F : GSM_LCHAN_TCH_H, GSM_LCHAN_NONE); if (!lchan) { fprintf(stderr, "No resource for lchan\n"); exit(EXIT_FAILURE); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24876 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3b32968949a7bdcbebf5a823359295bac51d8e08 Gerrit-Change-Number: 24876 Gerrit-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 Jul 7 17:16:34 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 7 Jul 2021 17:16:34 +0000 Subject: Change in osmo-bsc[master]: WIP: avoid switching dyn ts to sdcch8 if it starves later TCH In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24876 ) Change subject: WIP: avoid switching dyn ts to sdcch8 if it starves later TCH ...................................................................... Patch Set 1: Hi @neels, please have a look. Take this as an RFC. I'm still not sure how to correctly differentiate between signalling-only requests and "I want a call in the end" requests coming from MSC. Hope you can provide feedback on that. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24876 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3b32968949a7bdcbebf5a823359295bac51d8e08 Gerrit-Change-Number: 24876 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: neels Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Wed, 07 Jul 2021 17:16:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 7 17:32:24 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 7 Jul 2021 17:32:24 +0000 Subject: Change in osmo-dev[master]: net/templates/run.sh: fix check for masquerade In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/24875 ) Change subject: net/templates/run.sh: fix check for masquerade ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/24875 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I30c22fe4e7683611e8dada329dbf7d51f78b6016 Gerrit-Change-Number: 24875 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 07 Jul 2021 17:32:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 7 17:34:04 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 7 Jul 2021 17:34:04 +0000 Subject: Change in libosmocore[master]: linuxlist: add function to check entry presence In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24813 ) Change subject: linuxlist: add function to check entry presence ...................................................................... Patch Set 2: This function is not dangerous, it's the way you were using it on the other patch. But I guess it's not needed anymore so that's why the patch is abandoned. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24813 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id1e8281d9d9f34277095ce9307e298bf29affa71 Gerrit-Change-Number: 24813 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 07 Jul 2021 17:34:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 7 17:43:01 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 7 Jul 2021 17:43:01 +0000 Subject: Change in osmo-bts[master]: allow to configure multiple oml remote-ip addresses In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24513 ) Change subject: allow to configure multiple oml remote-ip addresses ...................................................................... Patch Set 9: (3 comments) See my proposal, this way the FSM is not affected, in the process of going through the list of addresses in order (it doesn't start from scratch). https://gerrit.osmocom.org/c/osmo-bts/+/24513/9/src/common/abis.c File src/common/abis.c: https://gerrit.osmocom.org/c/osmo-bts/+/24513/9/src/common/abis.c at 218 PS9, Line 218: priv->bsc_oml_host = bts->bsc_oml_hosts.next; if (priv->bsc_oml_host == data) { if (llist_count() <= 1) priv->bsc_oml_host = NULL; else if (priv->bsc_oml_host == lllist_last()) priv->bsc_oml_host = priv->bsc_oml_host.prev; else priv->bsc_oml_host = priv->bsc_oml_host.next; } https://gerrit.osmocom.org/c/osmo-bts/+/24513/9/src/common/vty.c File src/common/vty.c: https://gerrit.osmocom.org/c/osmo-bts/+/24513/9/src/common/vty.c at 530 PS9, Line 530: if (bts->abis_link_fi) This event can be dropped. https://gerrit.osmocom.org/c/osmo-bts/+/24513/9/src/common/vty.c at 556 PS9, Line 556: osmo_fsm_inst_dispatch(bts->abis_link_fi, ABIS_LINK_EV_VTY_CFG_CHANGE, NULL); if (bts->abis_link_fi) osmo_fsm_inst_dispatch(bts->abis_link_fi, ABIS_LINK_EV_VTY_RM_ADDR, bsc_oml_host_del); llist_del(&bsc_oml_host_del->list); talloc_free(bsc_oml_host_del); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24513 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I205f68a3a7f35fee4c38a7cfba2b014237df2727 Gerrit-Change-Number: 24513 Gerrit-PatchSet: 9 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 07 Jul 2021 17:43: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 Wed Jul 7 20:27:40 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 7 Jul 2021 20:27:40 +0000 Subject: Change in simtrace2[master]: 99-simtrace2.rules: Add OCTSIMTEST References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/24877 ) Change subject: 99-simtrace2.rules: Add OCTSIMTEST ...................................................................... 99-simtrace2.rules: Add OCTSIMTEST Change-Id: I226ee21e0937f851428578578f81075fa703dd54 --- M host/contrib/99-simtrace2.rules 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/77/24877/1 diff --git a/host/contrib/99-simtrace2.rules b/host/contrib/99-simtrace2.rules index 4a8b2ea..b576389 100644 --- a/host/contrib/99-simtrace2.rules +++ b/host/contrib/99-simtrace2.rules @@ -16,6 +16,8 @@ # sysmocom QMOD SAM3 (DFU and runtime) ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="4003", GROUP="plugdev" ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="4004", GROUP="plugdev" +# sysmocom OCTSIMTEST +ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="616d", GROUP="plugdev" # All done LABEL="simtrace2_rules_end" -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24877 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I226ee21e0937f851428578578f81075fa703dd54 Gerrit-Change-Number: 24877 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 Jul 7 20:27:41 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 7 Jul 2021 20:27:41 +0000 Subject: Change in simtrace2[master]: contrib/flash.py: Add OCTSIMTEST support References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/24878 ) Change subject: contrib/flash.py: Add OCTSIMTEST support ...................................................................... contrib/flash.py: Add OCTSIMTEST support Change-Id: Id906d955f45a204ac0b00f56d8f5149c64c62f32 --- M contrib/flash.py 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/78/24878/1 diff --git a/contrib/flash.py b/contrib/flash.py index 435d311..21903bb 100755 --- a/contrib/flash.py +++ b/contrib/flash.py @@ -27,7 +27,8 @@ DEVICE_SIMTRACE = Device(usb_vendor_id=0x1d50, usb_product_id=0x60e3, name="SIMtrace 2", url={"trace": "https://ftp.osmocom.org/binaries/simtrace2/firmware/latest/simtrace-trace-dfu-latest.bin", "cardem": "https://osmocom.org/attachments/download/3868/simtrace-cardem-dfu.bin"}) DEVICE_QMOD = Device(usb_vendor_id=0x1d50, usb_product_id=0x4004, name="sysmoQMOD (Quad Modem)", url={"cardem": "https://ftp.osmocom.org/binaries/simtrace2/firmware/latest/qmod-cardem-dfu-latest.bin"}) DEVICE_OWHW = Device(usb_vendor_id=0x1d50, usb_product_id=0x4001, name="OWHW", url={"cardem": "https://ftp.osmocom.org/binaries/simtrace2/firmware/latest/owhw-cardem-dfu-latest.bin"}) -DEVICES = [DEVICE_SIMTRACE, DEVICE_QMOD] +DEVICE_OCTSIMTEST = Device(usb_vendor_id=0x1d50, usb_product_id=0x616d, name="OCTSIMTEST", url={"cardem": "https://ftp.osmocom.org/binaries/simtrace2/firmware/latest/octsimtest-cardem-dfu-latest.bin"}) +DEVICES = [DEVICE_SIMTRACE, DEVICE_QMOD, DEVICE_OCTSIMTEST] # which firmware does the SIMtrace USN interface subclass correspond FIRMWARE_SUBCLASS = {1: "trace", 2: "cardem"} -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24878 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Id906d955f45a204ac0b00f56d8f5149c64c62f32 Gerrit-Change-Number: 24878 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 Jul 7 20:27:42 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 7 Jul 2021 20:27:42 +0000 Subject: Change in simtrace2[master]: WIP: introduce support for new ngff_cardem board References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/24879 ) Change subject: WIP: introduce support for new ngff_cardem board ...................................................................... WIP: introduce support for new ngff_cardem board This adds support for the new ngff_cardem board, a board that basically combines a ngff breakout board with a built-in SIMtrace2. The firmware support added by this ptach is currently untested, and serves as a basis for testing the ngff_cardem prototypes. Change-Id: I9649c853271c22d5403cdf3a7ec9029c9cecfa32 --- M contrib/flash.py M contrib/simtrace.lua A firmware/libboard/ngff_cardem/include/board.h A firmware/libboard/ngff_cardem/include/card_pres.h A firmware/libboard/ngff_cardem/include/wwan_led.h A firmware/libboard/ngff_cardem/include/wwan_perst.h A firmware/libboard/ngff_cardem/product_string.txt A firmware/libboard/ngff_cardem/source/board_ngff_cardem.c A firmware/libboard/ngff_cardem/source/card_pres.c A firmware/libboard/ngff_cardem/source/sim_switch.c A firmware/libboard/ngff_cardem/source/wwan_led.c A firmware/libboard/ngff_cardem/source/wwan_perst.c M firmware/libcommon/include/simtrace_usb.h M host/contrib/99-simtrace2.rules M host/lib/usb_util.c 15 files changed, 716 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/79/24879/1 diff --git a/contrib/flash.py b/contrib/flash.py index 21903bb..01fe7c9 100755 --- a/contrib/flash.py +++ b/contrib/flash.py @@ -28,7 +28,8 @@ DEVICE_QMOD = Device(usb_vendor_id=0x1d50, usb_product_id=0x4004, name="sysmoQMOD (Quad Modem)", url={"cardem": "https://ftp.osmocom.org/binaries/simtrace2/firmware/latest/qmod-cardem-dfu-latest.bin"}) DEVICE_OWHW = Device(usb_vendor_id=0x1d50, usb_product_id=0x4001, name="OWHW", url={"cardem": "https://ftp.osmocom.org/binaries/simtrace2/firmware/latest/owhw-cardem-dfu-latest.bin"}) DEVICE_OCTSIMTEST = Device(usb_vendor_id=0x1d50, usb_product_id=0x616d, name="OCTSIMTEST", url={"cardem": "https://ftp.osmocom.org/binaries/simtrace2/firmware/latest/octsimtest-cardem-dfu-latest.bin"}) -DEVICES = [DEVICE_SIMTRACE, DEVICE_QMOD, DEVICE_OCTSIMTEST] +DEVICE_NGFF_CARDEM = Device(usb_vendor_id=0x1d50, usb_product_id=0x616e, name="ngff-cardem", url={"cardem": "https://ftp.osmocom.org/binaries/simtrace2/firmware/latest/ngff_cardem-cardem-dfu-latest.bin"}) +DEVICES = [DEVICE_SIMTRACE, DEVICE_QMOD, DEVICE_OCTSIMTEST, DEVICE_NGFF_CARDEM] # which firmware does the SIMtrace USN interface subclass correspond FIRMWARE_SUBCLASS = {1: "trace", 2: "cardem"} diff --git a/contrib/simtrace.lua b/contrib/simtrace.lua index 68eb961..8298265 100644 --- a/contrib/simtrace.lua +++ b/contrib/simtrace.lua @@ -62,6 +62,7 @@ function usb_simtrace_protocol.init() local usb_product_dissectors = DissectorTable.get("usb.product") usb_product_dissectors:add(0x1d50616d, usb_simtrace_protocol) +usb_product_dissectors:add(0x1d50616e, usb_simtrace_protocol) -- DissectorTable.get("usb.bulk"):add(0xffff, usb_simtrace_protocol) end diff --git a/firmware/libboard/ngff_cardem/include/board.h b/firmware/libboard/ngff_cardem/include/board.h new file mode 100644 index 0000000..8520d6b --- /dev/null +++ b/firmware/libboard/ngff_cardem/include/board.h @@ -0,0 +1,107 @@ +/* Osmocom ngff-cardem board definition + * + * (C) 2021 by Harald Welte + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA + */ +#pragma once +#include "board_common.h" +#include "simtrace_usb.h" + +/** Name of the board */ +#define BOARD_NAME "NGFF-CARDEM" +/** Board definition */ +#define ngff_cardem + +/** oscillator used as main clock source (in Hz) */ +#define BOARD_MAINOSC 12000000 +/** desired main clock frequency (in Hz, based on BOARD_MAINOSC) */ +#define BOARD_MCK 58000000 // 12.000 * 29 / 6 + +/** MCU pin connected to red LED */ +#define PIO_LED_RED PIO_PA17 +/** MCU pin connected to green LED */ +#define PIO_LED_GREEN PIO_PA18 +/** red LED pin definition */ +#define PIN_LED_RED {PIO_LED_RED, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +/** green LED pin definition */ +#define PIN_LED_GREEN {PIO_LED_GREEN, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +/** LEDs pin definition */ +#define PINS_LEDS PIN_LED_RED, PIN_LED_GREEN +/** index for red LED in LEDs pin definition array */ +#define LED_NUM_RED 0 +/** index for green LED in LEDs pin definition array */ +#define LED_NUM_GREEN 1 +/** the green LED is actually red and used as indication for USIM1 */ +#define LED_USIM1 LED_GREEN + +/* USIM 2 interface (USART) */ +#define PIN_USIM2_CLK {PIO_PA2, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT} +#define PIN_USIM2_IO {PIO_PA6, PIOA, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT} +#define PINS_ISO7816_USIM2 PIN_USIM2_CLK, PIN_USIM2_IO + +/* USIM 2 interface (TC) */ +#define PIN_USIM2_IO_TC {PIO_PA1, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT} +#define PIN_USIM2_CLK_TC {PIO_PA4, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT} +#define PINS_TC_USIM2 PIN_USIM2_IO_TC, PIN_USIM2_CLK_TC + +/* USIM 1 interface (USART) */ +#define PIN_USIM1_IO {PIO_PA22, PIOA, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT} +#define PIN_USIM1_CLK {PIO_PA23, PIOA, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT} +#define PINS_ISO7816_USIM1 PIN_USIM1_CLK, PIN_USIM1_IO + +/* USIM 1 interface (TC) */ +#define PIN_USIM1_IO_TC {PIO_PA27, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT} +#define PIN_USIM1_CLK_TC {PIO_PA29, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT} +#define PINS_TC_USIM1 PIN_USIM1_IO_TC, PIN_USIM1_CLK_TC + +#define PIN_USIM1_nRST {PIO_PA24, PIOA, ID_PIOA, PIO_INPUT, PIO_DEFAULT} +#define PIN_USIM1_VCC {PIO_PB2, PIOB, ID_PIOB, PIO_INPUT, PIO_DEFAULT} + +#define PIN_USIM2_nRST {PIO_PA7, PIOA, ID_PIOA, PIO_INPUT, PIO_DEFAULT} +//#define PIN_USIM2_VCC {PIO_PB2, PIOB, ID_PIOB, PIO_INPUT, PIO_DEFAULT} + +#define PINS_USIM1 PINS_TC_USIM1, PINS_ISO7816_USIM1, PIN_USIM1_nRST +#define PINS_USIM2 PINS_TC_USIM2, PINS_ISO7816_USIM2, PIN_USIM2_nRST + +/* from v3 and onwards only (!) */ +#define PIN_DET_USIM1_PRES {PIO_PA8, PIOA, ID_PIOA, PIO_INPUT, PIO_PULLUP | PIO_DEGLITCH | PIO_IT_EDGE} + +/* inputs reading the WWAN LED level */ +#define PIN_WWAN1 {PIO_PA15, PIOA, ID_PIOA, PIO_INPUT, PIO_PULLUP | PIO_DEGLITCH | PIO_IT_EDGE} +#define PINS_WWAN_IN { PIN_WWAN1 } + +/* outputs controlling RESET input of modems */ +#define PIN_PERST1 {PIO_PA25, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_PULLUP} +#define PINS_PERST { PIN_PERST1 } + +#define PIN_VERSION_DET {PIO_PA19, PIOA, ID_PIOA, PIO_PERIPH_D, PIO_DEFAULT} + +/* GPIO towards SPDT switches between real SIM and SAM3 */ +//#define PIN_SIM_SWITCH1 {PIO_PA20, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} +//#define PIN_SIM_SWITCH2 {PIO_PA28, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} + +#define BOARD_USB_BMATTRIBUTES USBConfigurationDescriptor_SELFPOWERED_NORWAKEUP + +#define BOARD_USB_VENDOR_ID USB_VENDOR_OPENMOKO +#define BOARD_USB_PRODUCT_ID USB_PRODUCT_NGFF_CARDEM +#define BOARD_DFU_USB_PRODUCT_ID USB_PRODUCT_NGFF_CARDEM +#define BOARD_USB_RELEASE 0x010 + +#define DETECT_VCC_BY_ADC +#define VCC_UV_THRESH_1V8 1500000 +#define VCC_UV_THRESH_3V 2500000 + +#define HAVE_CARDEM diff --git a/firmware/libboard/ngff_cardem/include/card_pres.h b/firmware/libboard/ngff_cardem/include/card_pres.h new file mode 100644 index 0000000..81f0613 --- /dev/null +++ b/firmware/libboard/ngff_cardem/include/card_pres.h @@ -0,0 +1,22 @@ +/* card presence utilities + * + * (C) 2016-2017 by Harald Welte + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA + */ +#pragma once + +int is_card_present(int port); +int card_present_init(void); diff --git a/firmware/libboard/ngff_cardem/include/wwan_led.h b/firmware/libboard/ngff_cardem/include/wwan_led.h new file mode 100644 index 0000000..77887c7 --- /dev/null +++ b/firmware/libboard/ngff_cardem/include/wwan_led.h @@ -0,0 +1,20 @@ +/* Code to read/track the status of the WWAN LEDs of attached modems + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA + */ +#pragma once + +int wwan_led_active(int wwan); +int wwan_led_init(void); diff --git a/firmware/libboard/ngff_cardem/include/wwan_perst.h b/firmware/libboard/ngff_cardem/include/wwan_perst.h new file mode 100644 index 0000000..c934afc --- /dev/null +++ b/firmware/libboard/ngff_cardem/include/wwan_perst.h @@ -0,0 +1,21 @@ +/* Code to control the PERST lines of attached modems + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA + */ +#pragma once + +int wwan_perst_set(int modem_nr, int active); +int wwan_perst_do_reset_pulse(int modem_nr, unsigned int duration_ms); +int wwan_perst_init(void); diff --git a/firmware/libboard/ngff_cardem/product_string.txt b/firmware/libboard/ngff_cardem/product_string.txt new file mode 100644 index 0000000..09a33c6 --- /dev/null +++ b/firmware/libboard/ngff_cardem/product_string.txt @@ -0,0 +1 @@ +ngff-cardem diff --git a/firmware/libboard/ngff_cardem/source/board_ngff_cardem.c b/firmware/libboard/ngff_cardem/source/board_ngff_cardem.c new file mode 100644 index 0000000..742ec55 --- /dev/null +++ b/firmware/libboard/ngff_cardem/source/board_ngff_cardem.c @@ -0,0 +1,152 @@ +/* sysmocom quad-modem sysmoQMOD application code + * + * (C) 2021 Harald Welte + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA + */ +#include "board.h" +#include "simtrace.h" +#include "utils.h" +#include "led.h" +#include "wwan_led.h" +#include "wwan_perst.h" +#include "sim_switch.h" +#include "boardver_adc.h" +#include "card_pres.h" +#include +#include "usb_buf.h" + +/* array of generated USB Strings */ +extern unsigned char *usb_strings[]; + +/* returns '1' in case we should break any endless loop */ +void board_exec_dbg_cmd(int ch) +{ + switch (ch) { + case '?': + printf("\t?\thelp\n\r"); + printf("\tR\treset SAM3\n\r"); + printf("\tl\tswitch off LED 1\n\r"); + printf("\tL\tswitch on LED 1\n\r"); + printf("\tg\tswitch off LED 2\n\r"); + printf("\tG\tswitch on LED 2\n\r"); + printf("\tU\tProceed to USB Initialization\n\r"); + printf("\t1\tGenerate 1ms reset pulse on WWAN1\n\r"); + printf("\t!\tSwitch Channel A from physical -> remote\n\r"); + printf("\t@\tSwitch Channel B from physical -> remote\n\r"); + printf("\tt\t(pseudo)talloc report\n\r"); + break; + case 'R': + printf("Asking NVIC to reset us\n\r"); + USBD_Disconnect(); + NVIC_SystemReset(); + break; + case 'l': + led_blink(LED_GREEN, BLINK_ALWAYS_OFF); + printf("LED 1 switched off\n\r"); + break; + case 'L': + led_blink(LED_GREEN, BLINK_ALWAYS_ON); + printf("LED 1 switched on\n\r"); + break; + case 'g': + led_blink(LED_RED, BLINK_ALWAYS_OFF); + printf("LED 2 switched off\n\r"); + break; + case 'G': + led_blink(LED_RED, BLINK_ALWAYS_ON); + printf("LED 2 switched on\n\r"); + break; + case '1': + printf("Resetting Modem\n\r"); + wwan_perst_do_reset_pulse(0, 300); + break; + case '!': + sim_switch_use_physical(0, 0); + break; + case 't': + talloc_report(NULL, stdout); + break; + default: + printf("Unknown command '%c'\n\r", ch); + break; + } +} + +void board_main_top(void) +{ +#ifndef APPLICATION_dfu + usb_buf_init(); + + wwan_led_init(); + wwan_perst_init(); + sim_switch_init(); +#endif + + /* Obtain the circuit board version (currently just prints voltage */ + get_board_version_adc(); +#ifndef APPLICATION_dfu + /* Initialize checking for card insert/remove events */ + card_present_init(); +#endif +} + +static int uart_has_loopback_jumper(void) +{ + unsigned int i; + const Pin uart_loopback_pins[] = { + {PIO_PA9A_URXD0, PIOA, ID_PIOA, PIO_INPUT, PIO_DEFAULT}, + {PIO_PA10A_UTXD0, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} + }; + + /* Configure UART pins as I/O */ + PIO_Configure(uart_loopback_pins, PIO_LISTSIZE(uart_loopback_pins)); + + /* Send pattern over UART TX and check if it is received on RX + * If the loop doesn't get interrupted, RxD always follows TxD and thus a + * loopback jumper has been placed on RxD/TxD, and we will boot + * into DFU unconditionally + */ + int has_loopback_jumper = 1; + for (i = 0; i < 10; i++) { + /* Set TxD high; abort if RxD doesn't go high either */ + PIO_Set(&uart_loopback_pins[1]); + if (!PIO_Get(&uart_loopback_pins[0])) { + has_loopback_jumper = 0; + break; + } + /* Set TxD low, abort if RxD doesn't go low either */ + PIO_Clear(&uart_loopback_pins[1]); + if (PIO_Get(&uart_loopback_pins[0])) { + has_loopback_jumper = 0; + break; + } + } + + /* Put pins back to UART mode */ + const Pin uart_pins[] = {PINS_UART}; + PIO_Configure(uart_pins, PIO_LISTSIZE(uart_pins)); + + return has_loopback_jumper; +} + +int board_override_enter_dfu(void) +{ + /* If the loopback jumper is set, we enter DFU mode */ + if (uart_has_loopback_jumper()) + return 1; + + return 0; +} diff --git a/firmware/libboard/ngff_cardem/source/card_pres.c b/firmware/libboard/ngff_cardem/source/card_pres.c new file mode 100644 index 0000000..198318f --- /dev/null +++ b/firmware/libboard/ngff_cardem/source/card_pres.c @@ -0,0 +1,76 @@ +/* card presence utilities + * + * (C) 2016-2021 by Harald Welte + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA + */ +#include +#include "board.h" +#include "utils.h" +#include "card_pres.h" + +#define NUM_CARDPRES 1 + +#define TIMER_INTERVAL_MS 500 + +static const Pin pin_cardpres[NUM_CARDPRES] = { PIN_DET_USIM1_PRES }; +static int last_state[NUM_CARDPRES] = { -1 }; +static struct osmo_timer_list cardpres_timer; + +/* Determine if a SIM card is present in the given slot */ +int is_card_present(int port) +{ + const Pin *pin; + int present; + + if (port < 0 || port >= NUM_CARDPRES) + return -1; + pin = &pin_cardpres[port]; + + /* Card present signals are low-active, as we have a switch + * against GND and an internal-pull-up in the SAM3 */ + present = PIO_Get(pin) ? 0 : 1; + + return present; +} + +static void cardpres_tmr_cb(void *data) +{ + unsigned int i; + + for (i = 0; i < ARRAY_SIZE(pin_cardpres); i++) { + int state = is_card_present(i); + if (state != last_state[i]) { + TRACE_INFO("%u: Card Detect Status %d -> %d\r\n", i, last_state[i], state); + /* FIXME: report to USB host */ + last_state[i] = state; + } + } + + osmo_timer_schedule(&cardpres_timer, 0, TIMER_INTERVAL_MS*1000); +} + +int card_present_init(void) +{ + unsigned int i; + + PIO_Configure(pin_cardpres, ARRAY_SIZE(pin_cardpres)); + + /* start timer */ + cardpres_timer.cb = cardpres_tmr_cb; + osmo_timer_schedule(&cardpres_timer, 0, TIMER_INTERVAL_MS*1000); + + return 2; +} diff --git a/firmware/libboard/ngff_cardem/source/sim_switch.c b/firmware/libboard/ngff_cardem/source/sim_switch.c new file mode 100644 index 0000000..59513ad --- /dev/null +++ b/firmware/libboard/ngff_cardem/source/sim_switch.c @@ -0,0 +1,90 @@ +/* Code to switch between local (physical) and remote (emulated) SIM + * + * (C) 2015-2017 by Harald Welte + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA + */ +#include "board.h" +#include "trace.h" +#include "led.h" +#include "sim_switch.h" + +#ifdef PIN_SIM_SWITCH1 +static const Pin pin_conn_usim1 = {PIO_PA20, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT}; +#endif +#ifdef PIN_SIM_SWITCH2 +static const Pin pin_conn_usim2 = {PIO_PA28, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT}; +#endif + +static int initialized = 0; + +int sim_switch_use_physical(unsigned int nr, int physical) +{ + const Pin *pin; + enum led led; + + if (!initialized) { + TRACE_ERROR("Somebody forgot to call sim_switch_init()\r\n"); + sim_switch_init(); + } + + TRACE_INFO("Modem %d: %s SIM\n\r", nr, + physical ? "physical" : "virtual"); + + switch (nr) { +#ifdef PIN_SIM_SWITCH1 + case 0: + pin = &pin_conn_usim1; + led = LED_USIM1; + break; +#endif +#ifdef PIN_SIM_SWITCH2 + case 1: + pin = &pin_conn_usim2; + led = LED_USIM2; + break; +#endif + default: + TRACE_ERROR("Invalid SIM%u\n\r", nr); + return -1; + } + + if (physical) { + TRACE_INFO("%u: Use local/physical SIM\r\n", nr); + PIO_Clear(pin); + led_blink(led, BLINK_ALWAYS_ON); + } else { + TRACE_INFO("%u: Use remote/emulated SIM\r\n", nr); + PIO_Set(pin); + led_blink(led, BLINK_ALWAYS_OFF); + } + + return 0; +} + +int sim_switch_init(void) +{ + int num_switch = 0; +#ifdef PIN_SIM_SWITCH1 + PIO_Configure(&pin_conn_usim1, 1); + num_switch++; +#endif +#ifdef PIN_SIM_SWITCH2 + PIO_Configure(&pin_conn_usim2, 1); + num_switch++; +#endif + initialized = 1; + return num_switch; +} diff --git a/firmware/libboard/ngff_cardem/source/wwan_led.c b/firmware/libboard/ngff_cardem/source/wwan_led.c new file mode 100644 index 0000000..b3b5693 --- /dev/null +++ b/firmware/libboard/ngff_cardem/source/wwan_led.c @@ -0,0 +1,93 @@ +/* Code to read/track the status of the WWAN LEDs of attached modems + * + * 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 + */ +/* Depending on the board this is running on, it might be possible + * for the controller to read the status of the WWAN LED output lines of + * the cellular modem. If the board supports this, it sets the + * PIN_WWAN1 and/or PIN_WWAN2 defines in its board.h file. + */ +#include "board.h" +#include "wwan_led.h" + +#ifdef PIN_WWAN1 +static const Pin pin_wwan1 = PIN_WWAN1; + +static void wwan1_irqhandler(const Pin *pPin) +{ + int active = wwan_led_active(0); + + TRACE_INFO("0: WWAN LED %u\r\n", active); + + /* TODO: notify host via USB */ +} +#endif + +#ifdef PIN_WWAN2 +static const Pin pin_wwan2 = PIN_WWAN2; + +static void wwan2_irqhandler(const Pin *pPin) +{ + int active = wwan_led_active(1); + TRACE_INFO("1: WWAN LED %u\r\n", active); + + /* TODO: notify host via USB */ +} +#endif + +/* determine if a tiven WWAN led is currently active or not */ +int wwan_led_active(int wwan) +{ + const Pin *pin; + int active; + + switch (wwan) { +#ifdef PIN_WWAN1 + case 0: + pin = &pin_wwan1; + break; +#endif +#ifdef PIN_WWAN2 + case 1: + pin = &pin_wwan2; + break; +#endif + default: + return -1; + } + + active = PIO_Get(pin) ? 0 : 1; + return active; +} + +int wwan_led_init(void) +{ + int num_leds = 0; + +#ifdef PIN_WWAN1 + PIO_Configure(&pin_wwan1, 1); + PIO_ConfigureIt(&pin_wwan1, wwan1_irqhandler); + PIO_EnableIt(&pin_wwan1); + num_leds++; +#endif + +#ifdef PIN_WWAN2 + PIO_Configure(&pin_wwan2, 1); + PIO_ConfigureIt(&pin_wwan2, wwan2_irqhandler); + PIO_EnableIt(&pin_wwan2); + num_leds++; +#endif + return num_leds; +} diff --git a/firmware/libboard/ngff_cardem/source/wwan_perst.c b/firmware/libboard/ngff_cardem/source/wwan_perst.c new file mode 100644 index 0000000..95a7c7b --- /dev/null +++ b/firmware/libboard/ngff_cardem/source/wwan_perst.c @@ -0,0 +1,127 @@ +/* Code to control the PERST lines of attached modems + * + * 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 + */ +/* Depending on the board this is running on, it might be possible + * for the controller to set the status of the PERST input line of + * the cellular modem. If the board supports this, it sets the + * PIN_PERST1 and/or PIN_PERST2 defines in its board.h file. + */ +#include "board.h" +#include "trace.h" +#include "wwan_perst.h" +#include + +struct wwan_perst { + uint8_t idx; + const Pin pin; + struct osmo_timer_list timer; +}; + +#ifdef PIN_PERST1 +static struct wwan_perst perst1 = { + .idx = 0, + .pin = PIN_PERST1, +}; +#endif + +#ifdef PIN_PERST2 +static struct wwan_perst perst2 = { + .idx = 1, + .pin = PIN_PERST2, +}; +#endif + +static int initialized = 0; + +static void perst_tmr_cb(void *data) +{ + struct wwan_perst *perst = data; + /* release the (low-active) reset */ + TRACE_INFO("%u: De-asserting modem reset\r\n", perst->idx); + PIO_Clear(&perst->pin); +} + +static struct wwan_perst *get_perst_for_modem(int modem_nr) +{ + if (!initialized) { + TRACE_ERROR("Somebody forgot to call wwan_perst_init()\r\n"); + wwan_perst_init(); + } + + switch (modem_nr) { +#ifdef PIN_PERST1 + case 0: + return &perst1; +#endif +#ifdef PIN_PERST2 + case 1: + return &perst2; +#endif + default: + return NULL; + } +} + +int wwan_perst_do_reset_pulse(int modem_nr, unsigned int duration_ms) +{ + struct wwan_perst *perst = get_perst_for_modem(modem_nr); + if (!perst) + return -1; + + TRACE_INFO("%u: Asserting modem reset\r\n", modem_nr); + PIO_Set(&perst->pin); + osmo_timer_schedule(&perst->timer, duration_ms/1000, (duration_ms%1000)*1000); + + return 0; +} + +int wwan_perst_set(int modem_nr, int active) +{ + struct wwan_perst *perst = get_perst_for_modem(modem_nr); + if (!perst) + return -1; + + osmo_timer_del(&perst->timer); + if (active) { + TRACE_INFO("%u: Asserting modem reset\r\n", modem_nr); + PIO_Set(&perst->pin); + } else { + TRACE_INFO("%u: De-asserting modem reset\r\n", modem_nr); + PIO_Clear(&perst->pin); + } + + return 0; +} + +int wwan_perst_init(void) +{ + int num_perst = 0; +#ifdef PIN_PERST1 + PIO_Configure(&perst1.pin, 1); + perst1.timer.cb = perst_tmr_cb; + perst1.timer.data = (void *) &perst1; + num_perst++; +#endif + +#ifdef PIN_PERST2 + PIO_Configure(&perst2.pin, 1); + perst2.timer.cb = perst_tmr_cb; + perst2.timer.data = (void *) &perst2; + num_perst++; +#endif + initialized = 1; + return num_perst; +} diff --git a/firmware/libcommon/include/simtrace_usb.h b/firmware/libcommon/include/simtrace_usb.h index a232ac5..7bf401c 100644 --- a/firmware/libcommon/include/simtrace_usb.h +++ b/firmware/libcommon/include/simtrace_usb.h @@ -26,6 +26,7 @@ #define USB_PRODUCT_SIMTRACE2_DFU 0x60e3 /* was 0x60e2 */ #define USB_PRODUCT_SIMTRACE2 0x60e3 #define USB_PRODUCT_OCTSIMTEST 0x616d +#define USB_PRODUCT_NGFF_CARDEM 0x616e /* USB proprietary class */ #define USB_CLASS_PROPRIETARY 0xff diff --git a/host/contrib/99-simtrace2.rules b/host/contrib/99-simtrace2.rules index b576389..5ae04e2 100644 --- a/host/contrib/99-simtrace2.rules +++ b/host/contrib/99-simtrace2.rules @@ -18,6 +18,8 @@ ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="4004", GROUP="plugdev" # sysmocom OCTSIMTEST ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="616d", GROUP="plugdev" +# ngff-cardem +ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="616e", GROUP="plugdev" # All done LABEL="simtrace2_rules_end" diff --git a/host/lib/usb_util.c b/host/lib/usb_util.c index 4d3b2b9..872d185 100644 --- a/host/lib/usb_util.c +++ b/host/lib/usb_util.c @@ -33,5 +33,6 @@ { USB_VENDOR_OPENMOKO, USB_PRODUCT_QMOD_SAM3 }, { USB_VENDOR_OPENMOKO, USB_PRODUCT_SIMTRACE2 }, { USB_VENDOR_OPENMOKO, USB_PRODUCT_OCTSIMTEST }, + { USB_VENDOR_OPENMOKO, USB_PRODUCT_NGFF_CARDEM }, { 0, 0 } }; -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24879 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I9649c853271c22d5403cdf3a7ec9029c9cecfa32 Gerrit-Change-Number: 24879 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 Jul 7 20:56:44 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 7 Jul 2021 20:56:44 +0000 Subject: Change in osmo-bsc[master]: WIP: avoid switching dyn ts to sdcch8 if it starves later TCH In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24876 ) Change subject: WIP: avoid switching dyn ts to sdcch8 if it starves later TCH ...................................................................... Patch Set 1: (1 comment) I see this fundamental problem: The case this patch is targeting is Immediate Assignment: 1 new MS does CHAN REQ 2 we always Immediate-Assign an SDCCH 3 MS asks for voice call (goes through to MSC) 4 BSC gets Assignment Request from MSC to assign to TCH The place where you are aiming to change the behavior is 2. So if we know that a TCH will be requested, don't occupy last available TCH as SDCCH. The problem is: how do you know at that point that a TCH will be requested? The place where you figure out step2_type goes through a codec list. But this list of permitted codecs will only be available during step 4. In practice, step 4 always and only requests TCH, and if it might ever happen that a normal Assignment from the MSC requests an SDCCH8, then that SDCCH8 *will* be the final lchan type assigned. Typically, no TCH will follow shortly. The only case we need to cover is: first assigning an SDCCH8 shortly before a TCH is requested, and that only happens during the initial CHAN REQ dance. I have these ideas: - during CHAN REQ, an MS typically requests a chan mode. So, an MS can send a Channel Request reason of e.g. CHREQ_T_SDCCH or CHREQ_T_TCH_F. See abis_rsl.c:1684 https://git.osmocom.org/osmo-bsc/tree/src/osmo-bsc/abis_rsl.c?id=52b9912ef95838c0b60fc171984d3157a56fe488#n1684 So you could guess the step2_type from this CHREQ reason. - we could in general count the free TCH slots and always avoid pchan switch to SDCCH8 if that would occupy the last available TCH. Not so elegant but fairly easy to implement. - figuring out whether TCH are available after a dyn TS switch could be done via counting available TCH: if we have a dyn TS in PDCH mode, and the nr of available TCH/F is 1, we know that switching the dyn TS to SDCCH8 will reduce TCH/F by one. So we don't necessarily need a second pass over lchan_select(), we can use the counts instead. There is code doing something similar in handover_decision_2.c:1035: https://git.osmocom.org/osmo-bsc/tree/src/osmo-bsc/handover_decision_2.c?id=52b9912ef95838c0b60fc171984d3157a56fe488#n1035 I imagine there could be a next_sdcch_reduces_tchf somewhere; Then refuse if CHAN RQD asked for TCH and we see that free_tchf - next_sdcch_reduces_tchf <= 0. Should yield similar behavior with much less complexity in lchan_select functions - this reminds me of the 'handover2 min-free-slots (tch/h|tch/f) N' config option. I was thinking whether it makes sense to take this number as an indicator whether we allow "congesting" TCH by switching a dyn to SDCCH8. But it's not a good fit really. I see another possible issue: The patch avoids switching to SDCCH8 for the first MS in need of Immediate Assignment. Once the timeslot is switched to SDCCH8, any other new MS will happily occupy SDCCH on it. The SDCCH lchans will be released as the MS complete their signalling requests, but it is still theoretically possible that after having converted to SDCCH8 once, the timeslot will "resist" switching back to PDCH and "never" be available as TCH again. To illustrate, imagine a high load situation. A lot of MS are trying to establish calls, but lchans are exhausted. We take care to keep the last dyn TS available as TCH, servicing calls as possible. In-between, there is one MS that only wants to send an SMS, so it gets assigned the first SDCCH on the last remaining dyn TS. Now continuous CHAN RQD easily get an SDCCH assigned (because we no longer need to switch the dyn TS and skip the check), and the dyn TS remains in SDCCH8 mode indefinitely, occupied by MS trying to establish phone calls, which fail since there are no TCH left. So I get the idea that even if a dyn TS is in SDCCH8 mode, we should avoid Immediate Assignment there for MS that need a voice call established. More generally put: if an MS asks for TCH during CHAN RQD, we refuse Immediate Assignment when there are no TCH lchans available, always. In addition, we also refuse Imm Ass when a dyn TS switch to SDCCH8 is necessary and no TCH is left after that switch. This is indeed also solved by above mentioned free_tchf - next_sdcch_reduces_tchf <= 0 method. So I guess that is a better approach to solve this issue. https://gerrit.osmocom.org/c/osmo-bsc/+/24876/1/src/osmo-bsc/lchan_select.c File src/osmo-bsc/lchan_select.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24876/1/src/osmo-bsc/lchan_select.c at 216 PS1, Line 216: return step2_type; this is where step2_type is figured out -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24876 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3b32968949a7bdcbebf5a823359295bac51d8e08 Gerrit-Change-Number: 24876 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Wed, 07 Jul 2021 20:56: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 Wed Jul 7 20:58:24 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 7 Jul 2021 20:58:24 +0000 Subject: Change in osmo-bsc[master]: WIP: avoid switching dyn ts to sdcch8 if it starves later TCH In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24876 ) Change subject: WIP: avoid switching dyn ts to sdcch8 if it starves later TCH ...................................................................... Patch Set 1: > that a normal Assignment from the MSC requests an SDCCH8, then that SDCCH8 I mean SDCCH > The only case we need to cover is: first assigning an SDCCH8 shortly before a TCH I mean SDCCH -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24876 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3b32968949a7bdcbebf5a823359295bac51d8e08 Gerrit-Change-Number: 24876 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Wed, 07 Jul 2021 20:58:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 7 21:31:35 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 7 Jul 2021 21:31:35 +0000 Subject: Change in osmo-bsc[master]: handover_ctrl: add control interface for handover settings In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24600 ) Change subject: handover_ctrl: add control interface for handover settings ...................................................................... Patch Set 7: Code-Review+1 (2 comments) nice one, patch became much smaller! https://gerrit.osmocom.org/c/osmo-bsc/+/24600/6/src/osmo-bsc/handover_ctrl.c File src/osmo-bsc/handover_ctrl.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24600/6/src/osmo-bsc/handover_ctrl.c at 73 PS6, Line 73: CTRL_CMD_DEFINE(NAME, CTRL_CMD VTY_CMD_PREFIX VTY_CMD); \ > When CTRL_CMD it is used the constant will be defined like "handover2 min-free-slots tch-h\0", VTY_C [?] I figured out your nifty trick there later on : ) interesting solution, even though it had most of us confused at first. with a comment explaining in detail that could have passed CR too : ) https://gerrit.osmocom.org/c/osmo-bsc/+/24600/7/src/osmo-bsc/handover_ctrl.c File src/osmo-bsc/handover_ctrl.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24600/7/src/osmo-bsc/handover_ctrl.c at 185 PS7, Line 185: { 0) I don't understand yet where the spaces-to-dots conversion happens. Is it possible that that step also sanitizes the '/' characters already, and we could get away without needing a filter function?? (I guess not) 1) Let's avoid allocating most strings with this step: if (osmo_separated_identifiers_valid(cmd->name, " -")) return cmd; 2) I thought we could also try to use the existing osmo_identifier_sanitize_buf() API, something like cmd->name = talloc_strdup(cmd->name); osmo_identifier_sanitize_buf(cmd->name, NULL, "-"); But AFAICT there are a number of problems with that, because unfortunately sep_chars has opposite meaning in osmo_separated_identifiers_valid() and osmo_identifier_sanitize_buf(). This loop here is also fine I guess, because there is only fixed hardcoded input data anyway. But if you like maybe give it a try... -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24600 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I12f143906818fd6b16e8783157cbb1eb51e49ffc Gerrit-Change-Number: 24600 Gerrit-PatchSet: 7 Gerrit-Owner: dexter Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 07 Jul 2021 21:31:35 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: neels Comment-In-Reply-To: dexter Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 7 21:36:36 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 7 Jul 2021 21:36:36 +0000 Subject: Change in osmo-bsc[master]: hodec2: [1/2] implement automatic choice between FULL and SUBSET meas... In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24850 ) Change subject: hodec2: [1/2] implement automatic choice between FULL and SUBSET measurements ...................................................................... Patch Set 4: (2 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/24850/4/include/osmocom/bsc/meas_rep.h File include/osmocom/bsc/meas_rep.h: https://gerrit.osmocom.org/c/osmo-bsc/+/24850/4/include/osmocom/bsc/meas_rep.h at 55 PS4, Line 55: TDMA_MEAS_FIELD_RXLEV = 0, > Not sure what do you win with last version change. [?] well in that MUX macro, I compose the switch() value using '<< 1' and '<< 2'. That only works when the values used are exactly 1-bit in range. The AUTO one never gets used in the MUX so i don't care about its value. (I should prolly add an osmo_static_assert() for this too) https://gerrit.osmocom.org/c/osmo-bsc/+/24850/4/src/osmo-bsc/meas_rep.c File src/osmo-bsc/meas_rep.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24850/4/src/osmo-bsc/meas_rep.c at 86 PS4, Line 86: #define MUX(FIELD, DIR, SET) ((FIELD) + ((DIR) << 1) + ((SET) << 2)) ... this MUX here -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24850 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I283e03126a6bc1f5f1b35f9801e841053edd2947 Gerrit-Change-Number: 24850 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 07 Jul 2021 21:36:36 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 7 21:40:09 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 7 Jul 2021 21:40:09 +0000 Subject: Change in osmo-mgw[master]: check_rtp_destin(): clarify log msg References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24880 ) Change subject: check_rtp_destin(): clarify log msg ...................................................................... check_rtp_destin(): clarify log msg The braces as put before this patch would read as {"is known", "is not yet known"}, which is confusing the actual situation. Change-Id: Icd1f22a9f4147a2758c2f068ecba46cf7f732604 --- M src/libosmo-mgcp/mgcp_network.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/80/24880/1 diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index d18c7cb..e545fba 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -876,7 +876,7 @@ * and IP-address for outgoing data. */ if (ip_is_any && conn->end.rtp_port == 0) { LOGPCONN(conn->conn, DRTP, LOGL_DEBUG, - "destination IP-address and rtp port is (not yet) known (%s:%u)\n", + "destination IP-address and rtp port is not (yet) known (%s:%u)\n", osmo_sockaddr_ntop(&conn->end.addr.u.sa, ipbuf), conn->end.rtp_port); return -1; } -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24880 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Icd1f22a9f4147a2758c2f068ecba46cf7f732604 Gerrit-Change-Number: 24880 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 Jul 7 21:52:53 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 7 Jul 2021 21:52:53 +0000 Subject: Change in libosmocore[master]: fix api doc of osmo_identifier_sanitize_buf() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24881 ) Change subject: fix api doc of osmo_identifier_sanitize_buf() ...................................................................... fix api doc of osmo_identifier_sanitize_buf() The implementation cleary replaces sep_chars instead of keeping them. Adjust the doc to clarify that. It seems to me that the intention was to *allow* sep_chars instead of replacing them, especially when looking at sep_chars of osmo_separated_identifiers_valid(). But we're stuck with that now. Change-Id: Ia842a7eeb46b49ee364be55c1194e463ebcaf392 --- M src/utils.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/81/24881/1 diff --git a/src/utils.c b/src/utils.c index f5896c4..721c34a 100644 --- a/src/utils.c +++ b/src/utils.c @@ -687,7 +687,7 @@ * To guarantee passing osmo_separated_identifiers_valid(), replace_with must not itself be an illegal character. If in * doubt, use '-'. * \param[inout] str Identifier to sanitize, must be nul terminated and in a writable buffer. - * \param[in] sep_chars Additional characters that are allowed besides osmo_identifier_illegal_chars. + * \param[in] sep_chars Additional characters that are to be replaced besides osmo_identifier_illegal_chars. * \param[in] replace_with Replace any illegal characters with this character. */ void osmo_identifier_sanitize_buf(char *str, const char *sep_chars, char replace_with) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24881 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia842a7eeb46b49ee364be55c1194e463ebcaf392 Gerrit-Change-Number: 24881 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 Jul 7 21:57:16 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 7 Jul 2021 21:57:16 +0000 Subject: Change in osmo-bsc[master]: hodec2: [1/2] implement automatic choice between FULL and SUBSET meas... In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, fixeria, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24850 to look at the new patch set (#5). Change subject: hodec2: [1/2] implement automatic choice between FULL and SUBSET measurements ...................................................................... hodec2: [1/2] implement automatic choice between FULL and SUBSET measurements Cosmetic preparation for enabling automatic choice between FULL and SUBSET measurements depending on DTX in handover decision 2. Change the internal API to pass separate enums for the choices {RXLEV, RXQUAL}, {UL, DL} and {FULL, SUB}. Change-Id: I283e03126a6bc1f5f1b35f9801e841053edd2947 --- M include/osmocom/bsc/meas_rep.h M src/osmo-bsc/handover_decision.c M src/osmo-bsc/handover_decision_2.c M src/osmo-bsc/meas_rep.c 4 files changed, 82 insertions(+), 26 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/50/24850/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24850 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I283e03126a6bc1f5f1b35f9801e841053edd2947 Gerrit-Change-Number: 24850 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 7 21:57:16 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 7 Jul 2021 21:57:16 +0000 Subject: Change in osmo-bsc[master]: hodec2: [2/2] implement automatic choice between FULL and SUBSET meas... In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24851 to look at the new patch set (#5). Change subject: hodec2: [2/2] implement automatic choice between FULL and SUBSET measurements ...................................................................... hodec2: [2/2] implement automatic choice between FULL and SUBSET measurements Add TDMA_MEAS_SET_AUTO to indicate automatic choice between FULL and SUBSET measurements depending on DTX. So far use only in hodec2. TDMA_MEAS_SET_AUTO looks at each individual measurement report's DTX flag and for each report chooses FULL if DTX is not used, or SUB if DTX is used. The default setting for 'handover2 tdma-measurement' is still 'subset'. To use the automatic choice, users need configure handover2 tdma-measurement auto Change-Id: I67dce55ccf892c8679272ee5dfedc25620f0f725 --- M include/osmocom/bsc/handover_cfg.h M include/osmocom/bsc/meas_rep.h M src/osmo-bsc/handover_decision_2.c M src/osmo-bsc/meas_rep.c M tests/bsc/Makefile.am M tests/handover_cfg.vty 6 files changed, 33 insertions(+), 22 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/51/24851/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24851 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I67dce55ccf892c8679272ee5dfedc25620f0f725 Gerrit-Change-Number: 24851 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 8 04:49:19 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 8 Jul 2021 04:49:19 +0000 Subject: Change in osmo-bsc[master]: lchan: call reset() upon alloc References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24882 ) Change subject: lchan: call reset() upon alloc ...................................................................... lchan: call reset() upon alloc call lchan_reset() after allocation, to make sure that lchan->* fields that have a nonzero default value get initialized properly. In particular, a future patch adds interference measurements, and an lchan that never received any Resource Indication info should always indicate that there are no measurements (a nonzero constant). Change-Id: I700a969f5b11c21dacda9a7cad00c943dce554b3 --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/82/24882/1 diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 6350481..47a8f9e 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -433,6 +433,8 @@ lchan_rtp_fsm_init(); } +static void lchan_reset(struct gsm_lchan *lchan); + void lchan_fsm_alloc(struct gsm_lchan *lchan) { OSMO_ASSERT(lchan->ts); @@ -444,6 +446,7 @@ lchan->fi->priv = lchan; lchan_fsm_update_id(lchan); LOGPFSML(lchan->fi, LOGL_DEBUG, "new lchan\n"); + lchan_reset(lchan); } /* Clear volatile state of the lchan. Clear all except -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24882 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I700a969f5b11c21dacda9a7cad00c943dce554b3 Gerrit-Change-Number: 24882 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 Jul 8 04:49:19 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 8 Jul 2021 04:49:19 +0000 Subject: Change in osmo-bsc[master]: RES IND: parse msg and store interference levels in lchans References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24883 ) Change subject: RES IND: parse msg and store interference levels in lchans ...................................................................... RES IND: parse msg and store interference levels in lchans Also show the current interference levels of unused lchans in the vty. Change-Id: Iccc1391e8419604bb09e464db8455e053dfbc982 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/lchan_fsm.c 4 files changed, 108 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/83/24883/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index b07345d..0632944 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -646,6 +646,9 @@ bool vamos; }; +#define INTERF_DBM_UNKNOWN 0 +#define INTERF_BAND_UNKNOWN 0xff + struct gsm_lchan { /* The TS that we're part of */ struct gsm_bts_trx_ts *ts; @@ -781,6 +784,14 @@ /* Whether this lchan is activated/modified into a mode that allows VAMOS multiplexing at this moment */ bool enabled; } vamos; + + /* dBm value of interference level as reported in the most recent Resource Indication, if any for this lchan. Or + * INTERF_DBM_UNKNOWN if this lchan was not included in the most recent Resource Indication. + * The range is typically -115 to -85 dBm, here stored 1:1 as a signed integer, to ease comparison. */ + int16_t interf_dbm; + /* Actual reported interference band index, or INTERF_BAND_UNKNOWN if this lchan was not included in the most + * recent Resource Indication. */ + uint8_t interf_band; }; /* One Timeslot in a TRX */ diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index f0adc56..08e9411 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1467,6 +1467,77 @@ return 0; } +static int rsl_rx_resource_indication(struct msgb *msg) +{ + struct abis_rsl_common_hdr *rslh = msgb_l2(msg); + struct tlv_parsed tp; + struct e1inp_sign_link *sign_link = msg->dst; + struct tlv_p_entry *res_info_ie; + struct gsm_bts_trx *trx = sign_link->trx; + struct gsm_lchan *lchan; + int ts_nr; + struct gsm_bts_trx_ts *ts; + int i; + + rsl_tlv_parse(&tp, rslh->data, msgb_l2len(msg)-sizeof(*rslh)); + + LOGP(DRSL, LOGL_DEBUG, "%s Resource Indication\n", gsm_trx_name(trx)); + + /* First clear out all ratings, because only the last resource indication counts. If we can't parse the message, + * then there are no ratings. */ + for (ts_nr = 0; ts_nr < TRX_NR_TS; ts_nr++) { + ts = &trx->ts[ts_nr]; + ts_for_n_lchans(lchan, ts, ts->max_lchans_possible) { + lchan->interf_dbm = INTERF_DBM_UNKNOWN; + lchan->interf_band = INTERF_BAND_UNKNOWN; + } + } + + res_info_ie = TLVP_GET_MINLEN(&tp, RSL_IE_RESOURCE_INFO, 2); + if (!res_info_ie) { + LOGP(DRSL, LOGL_ERROR, "Resource Indication: missing Resource Info IE\n"); + return -ENOENT; + } + + /* The IE value is defined in 3GPP TS 48.058 9.3.21 Resource Information: + * one octet channel nr, one octet interference level, channel nr, interference level, ... + * Where channel nr is cbits + tn (as usual), + * and interference level is a 3bit value in the most significant bits of the octet. + * Evaluate each pair and update interference ratings for all lchans in this trx. */ + + /* There must be an even amount of octets in the value */ + if (res_info_ie->len & 1) { + LOGP(DRSL, LOGL_ERROR, "Resource Indication: Resource Info IE has odd length\n"); + return -EINVAL; + } + + /* Now iterate the reported levels and update corresponding lchans */ + for (i = 0; i < res_info_ie->len; i += 2) { + struct gsm_bts *bts; + uint8_t chan_nr = res_info_ie->val[i]; + uint8_t interf_band = res_info_ie->val[i + 1] >> 5; + + lchan = lchan_lookup(trx, chan_nr, "Abis RSL rx Resource Indication: "); + if (!lchan) + continue; + + bts = lchan->ts->trx->bts; + /* Store the actual received index */ + lchan->interf_band = interf_band; + /* Clamp the index to 5 before accessing array of interference band bounds */ + interf_band = OSMO_MIN(interf_band, ARRAY_SIZE(bts->interf_meas_params.bounds_dbm)-1); + /* FIXME: when testing with ip.access nanoBTS, we observe a value range of 1..6. According to spec, it + * seems like values 0..5 are intended: 3GPP TS 48.058 9.3.21 Resource Information says: + * "The Interf Band field (bits 6-8) indicates in binary the interference level expressed as one of five + * possible interference level bands as defined by O&M." + * and 3GPP TS 52.021 9.4.25 "Interference level Boundaries" (OML) defines values 0, X1, X2, X3, X4, X5. + * If nanoBTS sends 6, the above code clamps it to 5, so that we lose one band in accuracy. */ + lchan->interf_dbm = -((int16_t)bts->interf_meas_params.bounds_dbm[interf_band]); + } + + return 0; +} + static int abis_rsl_rx_trx(struct msgb *msg) { struct abis_rsl_common_hdr *rslh = msgb_l2(msg); @@ -1479,7 +1550,7 @@ break; case RSL_MT_RF_RES_IND: /* interference on idle channels of TRX */ - //DEBUGP(DRSL, "%s RF Resource Indication\n", gsm_trx_name(sign_link->trx)); + rc = rsl_rx_resource_indication(msg); break; case RSL_MT_OVERLOAD: /* indicate CCCH / ACCH / processor overload */ diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 070b660..07c8a9c 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -1682,6 +1682,14 @@ - lchan->bs_power_db, ms_pwr_dbm(lchan->ts->trx->bts->band, lchan->ms_power), VTY_NEWLINE); + + vty_out(vty, " Interference Level: "); + if (lchan->interf_dbm == INTERF_DBM_UNKNOWN) + vty_out(vty, "unknown"); + else + vty_out(vty, "%d dBm (%u)", lchan->interf_dbm, lchan->interf_band); + vty_out(vty, "%s", VTY_NEWLINE); + vty_out(vty, " Channel Mode / Codec: %s%s", gsm48_chan_mode_name(lchan->current_ch_mode_rate.chan_mode), VTY_NEWLINE); @@ -1733,8 +1741,21 @@ lchan->ts->trx->bts->nr, lchan->ts->trx->nr, lchan->ts->nr, gsm_pchan_name(lchan->ts->pchan_on_init)); vty_out_dyn_ts_status(vty, lchan->ts); - vty_out(vty, ", Lchan %u, Type %s%s TSC-s%dc%u, State %s - L1 MS Power: %u dBm RXL-FULL-dl: %4d dBm RXL-FULL-ul: %4d dBm%s", - lchan->nr, + vty_out(vty, ", Lchan %u", lchan->nr); + + if (lchan_state_is(lchan, LCHAN_ST_UNUSED)) { + vty_out(vty, ", Type %s, State %s - Interference Level: ", + gsm_pchan_name(lchan->ts->pchan_is), + lchan_state_name(lchan)); + if (lchan->interf_dbm == INTERF_DBM_UNKNOWN) + vty_out(vty, "unknown"); + else + vty_out(vty, "%d dBm (%u)", lchan->interf_dbm, lchan->interf_band); + vty_out(vty, "%s", VTY_NEWLINE); + return; + } + + vty_out(vty, ", Type %s%s TSC-s%dc%u, State %s - L1 MS Power: %u dBm RXL-FULL-dl: %4d dBm RXL-FULL-ul: %4d dBm%s", gsm_lchant_name(lchan->type), lchan->vamos.enabled ? " (VAMOS)" : "", lchan->tsc_set > 0 ? lchan->tsc_set : 1, diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 47a8f9e..efb5c62 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -488,6 +488,8 @@ .release.rr_cause = GSM48_RR_CAUSE_NORMAL, .tsc_set = 1, + .interf_dbm = INTERF_DBM_UNKNOWN, + .interf_band = INTERF_BAND_UNKNOWN, }; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24883 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iccc1391e8419604bb09e464db8455e053dfbc982 Gerrit-Change-Number: 24883 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 Jul 8 04:49:19 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 8 Jul 2021 04:49:19 +0000 Subject: Change in osmo-bsc[master]: RES IND: add test_resource_indication.ho_vty References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24884 ) Change subject: RES IND: add test_resource_indication.ho_vty ...................................................................... RES IND: add test_resource_indication.ho_vty Show that osmo-bsc does not yet take Resource Indication's reported interference levels into account. (An upcoming patch will change that.) This is a first: this test is not actually doing any handover, but it is using the handover/*.ho_vty scripting that was intended for handover testing. Change-Id: I56ec61196a1e103f0b4caf18d25d8222bb82cf87 --- M tests/handover/handover_test.c M tests/handover/handover_tests.ok A tests/handover/test_resource_indication.ho_vty 3 files changed, 163 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/84/24884/1 diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index 2ff9f31..8d316ca 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -1045,6 +1045,93 @@ return CMD_SUCCESS; } +DEFUN(res_ind, res_ind_cmd, + "res-ind trx <0-255> <0-255> levels .LEVELS", + "Send Resource Indication for a specific TRX, indicating interference levels per lchan\n" + "Indicate a BTS and TRX\n" "BTS nr\n" "TRX nr\n" + "Indicate interference levels: each level is an index to bts->interf_meas_params.bounds_dbm[]," + " i.e. <0-5> or '-' to omit a report for this timeslot/lchan." + " Separate timeslots by spaces, for individual subslots directly concatenate values." + " If a timeslot has more subslots than provided, the last given value is repeated." + " For example: 'res-ind trx 0 0 levels - 1 23 -': on BTS 0 TRX 0, omit ratings for the entire first timeslot," + " send level=1 for timeslot 1, and for timeslot 2 send level=2 for subslot 0 and level=3 for subslot 1.\n") +{ + int i; + uint8_t level; + struct gsm_bts *bts = bts_by_num_str(argv[0]); + struct gsm_bts_trx *trx = trx_by_num_str(bts, argv[1]); + struct msgb *msg = msgb_alloc_headroom(256, 64, "RES-IND"); + struct abis_rsl_common_hdr *rslh; + uint8_t *res_info_len; + VTY_ECHO(); + + argv += 2; + argc -= 2; + + rslh = (struct abis_rsl_common_hdr*)msgb_put(msg, sizeof(*rslh)); + rslh->msg_discr = ABIS_RSL_MDISC_TRX; + rslh->msg_type = RSL_MT_RF_RES_IND; + msgb_put_u8(msg, RSL_IE_RESOURCE_INFO); + res_info_len = msg->tail; + msgb_put_u8(msg, 0); + + level = 0xff; + for (i = 0; i < ARRAY_SIZE(trx->ts); i++) { + const char *ts_str; + struct gsm_lchan *lchan; + size_t given_subslots = 0; + struct gsm_bts_trx_ts *ts = &trx->ts[i]; + + if (i < argc) { + ts_str = argv[i]; + given_subslots = strlen(ts_str); + } + + ts_for_n_lchans(lchan, ts, ts->max_lchans_possible) { + int chan_nr; + + if (lchan->nr < given_subslots) { + char subslot_val = ts_str[lchan->nr]; + switch (subslot_val) { + case '-': + level = INTERF_BAND_UNKNOWN; + break; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + level = subslot_val - '0'; + break; + default: + OSMO_ASSERT(false); + } + } + + if (level == INTERF_BAND_UNKNOWN) + continue; + + chan_nr = gsm_lchan2chan_nr(lchan, true); + if (chan_nr < 0) + continue; + + msgb_put_u8(msg, chan_nr); + msgb_put_u8(msg, level << 5); + } + } + + *res_info_len = msg->tail - res_info_len - 1; + + msg->dst = trx->rsl_link_primary; + msg->l2h = msg->data; + abis_rsl_rcvmsg(msg); + + return CMD_SUCCESS; +} + DEFUN(congestion_check, congestion_check_cmd, "congestion-check", "Trigger a congestion check\n") @@ -1313,6 +1400,7 @@ install_element(CONFIG_NODE, &meas_rep_cmd); install_element(CONFIG_NODE, &meas_rep_repeat_cmd); install_element(CONFIG_NODE, &meas_rep_repeat_bspower_cmd); + install_element(CONFIG_NODE, &res_ind_cmd); install_element(CONFIG_NODE, &congestion_check_cmd); install_element(CONFIG_NODE, &expect_no_chan_cmd); install_element(CONFIG_NODE, &expect_chan_cmd); diff --git a/tests/handover/handover_tests.ok b/tests/handover/handover_tests.ok index b76c032..a03454d 100644 --- a/tests/handover/handover_tests.ok +++ b/tests/handover/handover_tests.ok @@ -47,6 +47,7 @@ pass test_neighbor_full.ho_vty pass test_no_congestion.ho_vty pass test_penalty_timer.ho_vty +pass test_resource_indication.ho_vty pass test_rxqual.ho_vty pass test_rxqual_vs_congestion.ho_vty pass test_stay_in_better_cell.ho_vty diff --git a/tests/handover/test_resource_indication.ho_vty b/tests/handover/test_resource_indication.ho_vty new file mode 100644 index 0000000..6e319c6 --- /dev/null +++ b/tests/handover/test_resource_indication.ho_vty @@ -0,0 +1,74 @@ +# Test effects of interference levels reported in Resource Indication. +# Note, this is not actually a handover test. + +create-bts trx-count 1 timeslots c+s4 TCH/F TCH/F TCH/F TCH/F TCH/F TCH/F PDCH + +# By default, the ordering is most-interference-first +network + bts 0 + interference-meas level-bounds -85 -91 -97 -103 -109 -115 +# 0 1 2 3 4 5 + +res-ind trx 0 0 levels - 1 2 3 4 3 2 - +create-ms bts 0 TCH/F AMR +# FAIL: interference is ignored +expect-ts-use trx 0 0 states * TCH/F - - - - - * + +# The ordering may also be configured reversed, still the lowest dBm value should win +network + bts 0 + interference-meas level-bounds -115 -109 -103 -97 -91 -85 +# 0 1 2 3 4 5 + +res-ind trx 0 0 levels - 5 4 2 - 3 4 - +create-ms bts 0 TCH/F AMR +# FAIL: interference is ignored +expect-ts-use trx 0 0 states * TCH/F TCH/F - - - - * + +# Favor lchans that have an indicated interference level +res-ind trx 0 0 levels - - - - - 4 3 - +create-ms bts 0 TCH/F AMR +# FAIL: interference is ignored +expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F - - - * + +# For equal levels, pick the first +res-ind trx 0 0 levels - 2 2 - - 2 - - +create-ms bts 0 TCH/F AMR +# FAIL: interference is ignored +expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F TCH/F - - * + +# Test clamping of indexes > 5 +res-ind trx 0 0 levels - - 6 - - 4 - - +create-ms bts 0 TCH/F AMR +# FAIL: interference is ignored +expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F TCH/F TCH/F - * + +# Also test for TCH/H +create-bts trx-count 1 timeslots c+s4 TCH/H TCH/H TCH/H TCH/H TCH/H TCH/H PDCH +network + bts 1 + interference-meas level-bounds -115 -109 -103 -97 -91 -85 +# 0 1 2 3 4 5 + +res-ind trx 1 0 levels - 54 32 21 23 45 54 - +create-ms bts 1 TCH/H AMR +# FAIL: interference is ignored +expect-ts-use trx 1 0 states * TCH/H- - - - - - * + +# Favor lchans that have an indicated interference level +res-ind trx 1 0 levels - - - 4- 3- - - - +create-ms bts 1 TCH/H AMR +# FAIL: interference is ignored +expect-ts-use trx 1 0 states * TCH/HH - - - - - * + +# For equal levels, pick the first +res-ind trx 1 0 levels - -2 22 2- -2 22 2- - +create-ms bts 1 TCH/H AMR +# FAIL: interference is ignored +expect-ts-use trx 1 0 states * TCH/HH TCH/H- - - - - * + +# Test clamping of indexes > 5 +res-ind trx 1 0 levels - 7- 67 6- -7 54 6- - +create-ms bts 1 TCH/H AMR +# FAIL: interference is ignored +expect-ts-use trx 1 0 states * TCH/HH TCH/HH - - - - * -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24884 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I56ec61196a1e103f0b4caf18d25d8222bb82cf87 Gerrit-Change-Number: 24884 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 Jul 8 04:49:20 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 8 Jul 2021 04:49:20 +0000 Subject: Change in osmo-bsc[master]: RES IND: pick lchan with least interference References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24885 ) Change subject: RES IND: pick lchan with least interference ...................................................................... RES IND: pick lchan with least interference In lchan_select, do not return on the first available lchan, but iterate through all available lchans. Among those that would match, pick the one with the lowest interference level as indicated by earlier RES IND. Lchans that have no interference ratings are picked last. Change-Id: I844494092193811dfd9fa4d52983cbaed0fc9248 --- M src/osmo-bsc/lchan_select.c M tests/handover/test_resource_indication.ho_vty 2 files changed, 49 insertions(+), 28 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/85/24885/1 diff --git a/src/osmo-bsc/lchan_select.c b/src/osmo-bsc/lchan_select.c index efa2ff2..1209a24 100644 --- a/src/osmo-bsc/lchan_select.c +++ b/src/osmo-bsc/lchan_select.c @@ -30,22 +30,36 @@ #include #include +static struct gsm_lchan *pick_better_lchan(struct gsm_lchan *a, struct gsm_lchan *b) +{ + if (!a) + return b; + if (!b) + return a; + /* comparing negative dBm values: smaller value means less interference. */ + if (b->interf_dbm < a->interf_dbm) + return b; + return a; +} + static struct gsm_lchan * _lc_find_trx(struct gsm_bts_trx *trx, enum gsm_phys_chan_config pchan, enum gsm_phys_chan_config as_pchan, bool allow_pchan_switch, bool log) { struct gsm_lchan *lchan; + struct gsm_lchan *found_lchan = NULL; struct gsm_bts_trx_ts *ts; int j, start, stop, dir; -#define LOGPLCHANALLOC(fmt, args...) \ +#define LOGPLCHANALLOC(fmt, args...) do { \ if (log) \ LOGP(DRLL, LOGL_DEBUG, "looking for lchan %s%s%s%s: " fmt, \ gsm_pchan_name(pchan), \ pchan == as_pchan ? "" : " as ", \ pchan == as_pchan ? "" : gsm_pchan_name(as_pchan), \ ((pchan != as_pchan) && !allow_pchan_switch) ? " without pchan switch" : "", \ - ## args) + ## args); \ + } while (0) if (!trx_is_usable(trx)) { LOGPLCHANALLOC("%s trx not usable\n", gsm_trx_name(trx)); @@ -88,19 +102,35 @@ lchans_as_pchan = pchan_subslots(as_pchan); ts_for_n_lchans(lchan, ts, lchans_as_pchan) { if (lchan->fi->state == LCHAN_ST_UNUSED) { - LOGPLCHANALLOC("%s ss=%d is available%s\n", + struct gsm_lchan *was = found_lchan; + found_lchan = pick_better_lchan(found_lchan, lchan); + if (found_lchan != was) + LOGPLCHANALLOC("%s ss=%d interf=%u=%ddBm is %s%s\n", + gsm_ts_and_pchan_name(ts), lchan->nr, + lchan->interf_band, lchan->interf_dbm, + was == NULL ? "available" : "better", + ts->pchan_is != as_pchan ? ", after dyn PCHAN change" : ""); + else + LOGPLCHANALLOC("%s ss=%d interf=%u=%ddBm is also available but not better\n", + gsm_ts_and_pchan_name(ts), lchan->nr, + lchan->interf_band, lchan->interf_dbm); + } else { + LOGPLCHANALLOC("%s ss=%d in type=%s,state=%s not suitable\n", gsm_ts_and_pchan_name(ts), lchan->nr, - ts->pchan_is != as_pchan ? " after dyn PCHAN change" : ""); - return lchan; + gsm_lchant_name(lchan->type), + osmo_fsm_inst_state_name(lchan->fi)); } - LOGPLCHANALLOC("%s ss=%d in type=%s,state=%s not suitable\n", - gsm_ts_and_pchan_name(ts), lchan->nr, - gsm_lchant_name(lchan->type), - osmo_fsm_inst_state_name(lchan->fi)); } } - return NULL; + if (found_lchan) + LOGPLCHANALLOC("%s ss=%d interf=%ddBm%s is the best pick\n", + gsm_ts_and_pchan_name(found_lchan->ts), found_lchan->nr, + found_lchan->interf_dbm, + found_lchan->ts->pchan_is != as_pchan ? ", after dyn PCHAN change," : ""); + else + LOGPLCHANALLOC("Nothing found"); + return found_lchan; #undef LOGPLCHANALLOC } diff --git a/tests/handover/test_resource_indication.ho_vty b/tests/handover/test_resource_indication.ho_vty index 6e319c6..fdef2bd 100644 --- a/tests/handover/test_resource_indication.ho_vty +++ b/tests/handover/test_resource_indication.ho_vty @@ -11,8 +11,7 @@ res-ind trx 0 0 levels - 1 2 3 4 3 2 - create-ms bts 0 TCH/F AMR -# FAIL: interference is ignored -expect-ts-use trx 0 0 states * TCH/F - - - - - * +expect-ts-use trx 0 0 states * - - - TCH/F - - * # The ordering may also be configured reversed, still the lowest dBm value should win network @@ -22,26 +21,22 @@ res-ind trx 0 0 levels - 5 4 2 - 3 4 - create-ms bts 0 TCH/F AMR -# FAIL: interference is ignored -expect-ts-use trx 0 0 states * TCH/F TCH/F - - - - * +expect-ts-use trx 0 0 states * - - TCH/F TCH/F - - * # Favor lchans that have an indicated interference level res-ind trx 0 0 levels - - - - - 4 3 - create-ms bts 0 TCH/F AMR -# FAIL: interference is ignored -expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F - - - * +expect-ts-use trx 0 0 states * - - TCH/F TCH/F - TCH/F * # For equal levels, pick the first res-ind trx 0 0 levels - 2 2 - - 2 - - create-ms bts 0 TCH/F AMR -# FAIL: interference is ignored -expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F TCH/F - - * +expect-ts-use trx 0 0 states * TCH/F - TCH/F TCH/F - TCH/F * # Test clamping of indexes > 5 res-ind trx 0 0 levels - - 6 - - 4 - - create-ms bts 0 TCH/F AMR -# FAIL: interference is ignored -expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F TCH/F TCH/F - * +expect-ts-use trx 0 0 states * TCH/F - TCH/F TCH/F TCH/F TCH/F * # Also test for TCH/H create-bts trx-count 1 timeslots c+s4 TCH/H TCH/H TCH/H TCH/H TCH/H TCH/H PDCH @@ -52,23 +47,19 @@ res-ind trx 1 0 levels - 54 32 21 23 45 54 - create-ms bts 1 TCH/H AMR -# FAIL: interference is ignored -expect-ts-use trx 1 0 states * TCH/H- - - - - - * +expect-ts-use trx 1 0 states * - - TCH/-H - - - * # Favor lchans that have an indicated interference level res-ind trx 1 0 levels - - - 4- 3- - - - create-ms bts 1 TCH/H AMR -# FAIL: interference is ignored -expect-ts-use trx 1 0 states * TCH/HH - - - - - * +expect-ts-use trx 1 0 states * - - TCH/-H TCH/H- - - * # For equal levels, pick the first res-ind trx 1 0 levels - -2 22 2- -2 22 2- - create-ms bts 1 TCH/H AMR -# FAIL: interference is ignored -expect-ts-use trx 1 0 states * TCH/HH TCH/H- - - - - * +expect-ts-use trx 1 0 states * TCH/-H - TCH/-H TCH/H- - - * # Test clamping of indexes > 5 res-ind trx 1 0 levels - 7- 67 6- -7 54 6- - create-ms bts 1 TCH/H AMR -# FAIL: interference is ignored -expect-ts-use trx 1 0 states * TCH/HH TCH/HH - - - - * +expect-ts-use trx 1 0 states * TCH/-H - TCH/-H TCH/H- TCH/-H - * -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24885 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I844494092193811dfd9fa4d52983cbaed0fc9248 Gerrit-Change-Number: 24885 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 Jul 8 04:49:21 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 8 Jul 2021 04:49:21 +0000 Subject: Change in osmo-bsc[master]: add fixme comment for vty 'interference-meas level-bounds' References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24886 ) Change subject: add fixme comment for vty 'interference-meas level-bounds' ...................................................................... add fixme comment for vty 'interference-meas level-bounds' Change-Id: I501e07d34a26a1571a244f643563b5bf985c59d4 --- M src/osmo-bsc/bsc_vty.c 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/86/24886/1 diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 07c8a9c..2b52b16 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -5023,7 +5023,9 @@ bts->interf_meas_params.bounds_dbm[i] = abs(atoi(argv[i])); /* TODO: ensure ascending (or descending?) order */ } - + /* FIXME: when changed in a running BSC, this changes the dBm meanings of the reported interference levels + * without telling the BTS about it. So the interpretation of the interference level band numbers will then be + * wrong. */ return CMD_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24886 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I501e07d34a26a1571a244f643563b5bf985c59d4 Gerrit-Change-Number: 24886 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 Jul 8 04:49:22 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 8 Jul 2021 04:49:22 +0000 Subject: Change in osmo-bsc[master]: separate 'interference-meas level-bounds' cfg and used References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24887 ) Change subject: separate 'interference-meas level-bounds' cfg and used ...................................................................... separate 'interference-meas level-bounds' cfg and used The VTY defun already indicates BSC_VTY_ATTR_RESTART_ABIS_OML_LINK correctly, but so far we would start using the new values internally, even before the OML link is restarted. Fix that. Have bts->interf_meas_params twice: interf_meas_params_cfg for the VTY configured values, and interf_meas_params_used for the values that the BTS actually knows about, after they were sent via OML. In a running BSC, when changing the interference level boundaries on the telnet VTY, the BTS is not immediately told about the change. That would require a BTS restart. Hence store the cfg values separately in interf_meas_params_cfg. For comparing/printing interference levels in a running BTS, only employ the values that were actually sent via OML and placed in interf_meas_params_used. Change-Id: Iad8cf4151ff7f86dc0549158ed5d91d788d40b1f --- M include/osmocom/bsc/bts.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/bts.c M src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c M src/osmo-bsc/nm_bts_fsm.c M tests/handover/handover_test.c 7 files changed, 27 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/87/24887/1 diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h index 2e88129..f618e2c 100644 --- a/include/osmocom/bsc/bts.h +++ b/include/osmocom/bsc/bts.h @@ -548,8 +548,10 @@ /* Maximum BCCH carrier power reduction */ uint8_t c0_max_power_red_db; - /* Interference Measurement Parameters */ - struct gsm_interf_meas_params interf_meas_params; + /* Interference Measurement Parameters, as read from VTY */ + struct gsm_interf_meas_params interf_meas_params_cfg; + /* Interference Measurement Parameters, as last sent via OML */ + struct gsm_interf_meas_params interf_meas_params_used; /* We will ignore CHAN RQD with access delay greater than rach_max_delay */ uint8_t rach_max_delay; diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 08e9411..b240cbc 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1525,14 +1525,14 @@ /* Store the actual received index */ lchan->interf_band = interf_band; /* Clamp the index to 5 before accessing array of interference band bounds */ - interf_band = OSMO_MIN(interf_band, ARRAY_SIZE(bts->interf_meas_params.bounds_dbm)-1); + interf_band = OSMO_MIN(interf_band, ARRAY_SIZE(bts->interf_meas_params_used.bounds_dbm)-1); /* FIXME: when testing with ip.access nanoBTS, we observe a value range of 1..6. According to spec, it * seems like values 0..5 are intended: 3GPP TS 48.058 9.3.21 Resource Information says: * "The Interf Band field (bits 6-8) indicates in binary the interference level expressed as one of five * possible interference level bands as defined by O&M." * and 3GPP TS 52.021 9.4.25 "Interference level Boundaries" (OML) defines values 0, X1, X2, X3, X4, X5. * If nanoBTS sends 6, the above code clamps it to 5, so that we lose one band in accuracy. */ - lchan->interf_dbm = -((int16_t)bts->interf_meas_params.bounds_dbm[interf_band]); + lchan->interf_dbm = -((int16_t)bts->interf_meas_params_used.bounds_dbm[interf_band]); } return 0; diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 2b52b16..e0aa97f 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -1272,22 +1272,22 @@ || bts->repeated_acch_policy.dl_facch_cmd) vty_out(vty, " repeat rxqual %u%s", bts->repeated_acch_policy.rxqual, VTY_NEWLINE); - if (bts->interf_meas_params.avg_period != interf_meas_params_def.avg_period) { + if (bts->interf_meas_params_cfg.avg_period != interf_meas_params_def.avg_period) { vty_out(vty, " interference-meas avg-period %u%s", - bts->interf_meas_params.avg_period, + bts->interf_meas_params_cfg.avg_period, VTY_NEWLINE); } - if (memcmp(bts->interf_meas_params.bounds_dbm, + if (memcmp(bts->interf_meas_params_cfg.bounds_dbm, interf_meas_params_def.bounds_dbm, sizeof(interf_meas_params_def.bounds_dbm))) { vty_out(vty, " interference-meas level-bounds " "%d %d %d %d %d %d%s", - -1 * bts->interf_meas_params.bounds_dbm[0], - -1 * bts->interf_meas_params.bounds_dbm[1], - -1 * bts->interf_meas_params.bounds_dbm[2], - -1 * bts->interf_meas_params.bounds_dbm[3], - -1 * bts->interf_meas_params.bounds_dbm[4], - -1 * bts->interf_meas_params.bounds_dbm[5], + -1 * bts->interf_meas_params_cfg.bounds_dbm[0], + -1 * bts->interf_meas_params_cfg.bounds_dbm[1], + -1 * bts->interf_meas_params_cfg.bounds_dbm[2], + -1 * bts->interf_meas_params_cfg.bounds_dbm[3], + -1 * bts->interf_meas_params_cfg.bounds_dbm[4], + -1 * bts->interf_meas_params_cfg.bounds_dbm[5], VTY_NEWLINE); } @@ -4997,7 +4997,7 @@ { struct gsm_bts *bts = vty->index; - bts->interf_meas_params.avg_period = atoi(argv[0]); + bts->interf_meas_params_cfg.avg_period = atoi(argv[0]); return CMD_SUCCESS; } @@ -5019,13 +5019,10 @@ struct gsm_bts *bts = vty->index; unsigned int i; - for (i = 0; i < ARRAY_SIZE(bts->interf_meas_params.bounds_dbm); i++) { - bts->interf_meas_params.bounds_dbm[i] = abs(atoi(argv[i])); + for (i = 0; i < ARRAY_SIZE(bts->interf_meas_params_cfg.bounds_dbm); i++) { + bts->interf_meas_params_cfg.bounds_dbm[i] = abs(atoi(argv[i])); /* TODO: ensure ascending (or descending?) order */ } - /* FIXME: when changed in a running BSC, this changes the dBm meanings of the reported interference levels - * without telling the BTS about it. So the interpretation of the interference level band numbers will then be - * wrong. */ return CMD_SUCCESS; } diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c index cf3a6b8..d03f092 100644 --- a/src/osmo-bsc/bts.c +++ b/src/osmo-bsc/bts.c @@ -358,7 +358,7 @@ bts->bs_power_ctrl.dir = GSM_PWR_CTRL_DIR_DL; /* Interference Measurement Parameters (defaults) */ - bts->interf_meas_params = interf_meas_params_def; + bts->interf_meas_params_cfg = interf_meas_params_def; bts->rach_max_delay = 63; diff --git a/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c b/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c index ed3a802..aac0ddf 100644 --- a/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c +++ b/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c @@ -37,10 +37,10 @@ /* Interference level Boundaries: 0 .. X5 (3GPP TS 52.021, section 9.4.25) */ msgb_tv_fixed_put(msgb, NM_ATT_INTERF_BOUND, - sizeof(bts->interf_meas_params.bounds_dbm), - &bts->interf_meas_params.bounds_dbm[0]); + sizeof(bts->interf_meas_params_cfg.bounds_dbm), + &bts->interf_meas_params_cfg.bounds_dbm[0]); /* Intave: Interference Averaging period (3GPP TS 52.021, section 9.4.24) */ - msgb_tv_put(msgb, NM_ATT_INTAVE_PARAM, bts->interf_meas_params.avg_period); + msgb_tv_put(msgb, NM_ATT_INTAVE_PARAM, bts->interf_meas_params_cfg.avg_period); rlt = gsm_bts_get_radio_link_timeout(bts); if (rlt == -1) { diff --git a/src/osmo-bsc/nm_bts_fsm.c b/src/osmo-bsc/nm_bts_fsm.c index 329d911..e64d74c 100644 --- a/src/osmo-bsc/nm_bts_fsm.c +++ b/src/osmo-bsc/nm_bts_fsm.c @@ -106,7 +106,8 @@ !bts->mo.set_attr_sent && !bts->mo.set_attr_ack_received) { bts->mo.set_attr_sent = true; msgb = nanobts_attr_bts_get(bts); - abis_nm_set_bts_attr(bts, msgb->data, msgb->len); + if (abis_nm_set_bts_attr(bts, msgb->data, msgb->len) == 0) + bts->interf_meas_params_used = bts->interf_meas_params_cfg; msgb_free(msgb); } diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index 8d316ca..ce9880b 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -1065,6 +1065,9 @@ uint8_t *res_info_len; VTY_ECHO(); + /* In this test suite, always act as if the interf_meas_params_cfg were already sent to the BTS via OML */ + bts->interf_meas_params_used = bts->interf_meas_params_cfg; + argv += 2; argc -= 2; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24887 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iad8cf4151ff7f86dc0549158ed5d91d788d40b1f Gerrit-Change-Number: 24887 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 Jul 8 04:49:23 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 8 Jul 2021 04:49:23 +0000 Subject: Change in osmo-bsc[master]: vty 'interference-meas level-bounds': explain duality in ordering References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24888 ) Change subject: vty 'interference-meas level-bounds': explain duality in ordering ...................................................................... vty 'interference-meas level-bounds': explain duality in ordering Change-Id: If71e20e95d29e7f03739ee04e1ef429bf8bd51ed --- M src/osmo-bsc/bsc_vty.c 1 file changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/88/24888/1 diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index e0aa97f..7985826 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -5008,7 +5008,9 @@ "interference-meas level-bounds " "<-120-0> <-120-0> <-120-0> <-120-0> <-120-0> <-120-0>", "Interference measurement parameters\n" - "Interference level Boundaries\n" + "Interference level Boundaries. 3GPP do not specify whether these should be in ascending or descending" + " order (3GPP TS 48.058 9.3.21 / 3GPP TS 52.021 9.4.25). OsmoBSC supports either ordering, but possibly" + " some BTS models only return meaningful interference levels with one specific ordering.\n" "Interference boundary 0 (dBm)\n" "Interference boundary X1 (dBm)\n" "Interference boundary X2 (dBm)\n" @@ -5021,7 +5023,6 @@ for (i = 0; i < ARRAY_SIZE(bts->interf_meas_params_cfg.bounds_dbm); i++) { bts->interf_meas_params_cfg.bounds_dbm[i] = abs(atoi(argv[i])); - /* TODO: ensure ascending (or descending?) order */ } return CMD_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24888 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If71e20e95d29e7f03739ee04e1ef429bf8bd51ed Gerrit-Change-Number: 24888 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 Jul 8 08:01:10 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 8 Jul 2021 08:01:10 +0000 Subject: Change in osmo-mgw[master]: check_rtp_destin(): clarify log msg In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24880 ) Change subject: check_rtp_destin(): clarify log msg ...................................................................... Patch Set 1: Code-Review+1 looks the same to me, but +1 if it looks clearer to you. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24880 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Icd1f22a9f4147a2758c2f068ecba46cf7f732604 Gerrit-Change-Number: 24880 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 08 Jul 2021 08:01: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 Jul 8 08:02:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 8 Jul 2021 08:02:17 +0000 Subject: Change in libosmocore[master]: fix api doc of osmo_identifier_sanitize_buf() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24881 ) Change subject: fix api doc of osmo_identifier_sanitize_buf() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24881 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia842a7eeb46b49ee364be55c1194e463ebcaf392 Gerrit-Change-Number: 24881 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 08 Jul 2021 08:02:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 8 08:03:34 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 8 Jul 2021 08:03:34 +0000 Subject: Change in osmo-bsc[master]: hodec2: [1/2] implement automatic choice between FULL and SUBSET meas... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24850 ) Change subject: hodec2: [1/2] implement automatic choice between FULL and SUBSET measurements ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24850 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I283e03126a6bc1f5f1b35f9801e841053edd2947 Gerrit-Change-Number: 24850 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 08 Jul 2021 08:03:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 8 08:04:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 8 Jul 2021 08:04:06 +0000 Subject: Change in osmo-bsc[master]: hodec2: [2/2] implement automatic choice between FULL and SUBSET meas... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24851 ) Change subject: hodec2: [2/2] implement automatic choice between FULL and SUBSET measurements ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24851 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I67dce55ccf892c8679272ee5dfedc25620f0f725 Gerrit-Change-Number: 24851 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 08 Jul 2021 08:04: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 Jul 8 08:12:05 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 8 Jul 2021 08:12:05 +0000 Subject: Change in osmo-bsc[master]: RES IND: parse msg and store interference levels in lchans In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24883 ) Change subject: RES IND: parse msg and store interference levels in lchans ...................................................................... Patch Set 1: Code-Review+1 (2 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/24883/1/src/osmo-bsc/abis_rsl.c File src/osmo-bsc/abis_rsl.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24883/1/src/osmo-bsc/abis_rsl.c at 1482 PS1, Line 1482: rsl_tlv_parse(&tp, rslh->data, msgb_l2len(msg)-sizeof(*rslh)); spacing between "-" https://gerrit.osmocom.org/c/osmo-bsc/+/24883/1/src/osmo-bsc/abis_rsl.c at 1484 PS1, Line 1484: LOGP(DRSL, LOGL_DEBUG, "%s Resource Indication\n", gsm_trx_name(trx)); Rx Resource Indication? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24883 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iccc1391e8419604bb09e464db8455e053dfbc982 Gerrit-Change-Number: 24883 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 08 Jul 2021 08:12:05 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 8 08:12:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 8 Jul 2021 08:12:47 +0000 Subject: Change in osmo-bsc[master]: lchan: call reset() upon alloc In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24882 ) Change subject: lchan: call reset() upon alloc ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24882 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I700a969f5b11c21dacda9a7cad00c943dce554b3 Gerrit-Change-Number: 24882 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 08 Jul 2021 08:12:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 8 08:14:23 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 8 Jul 2021 08:14:23 +0000 Subject: Change in osmo-bsc[master]: RES IND: add test_resource_indication.ho_vty In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24884 ) Change subject: RES IND: add test_resource_indication.ho_vty ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24884 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I56ec61196a1e103f0b4caf18d25d8222bb82cf87 Gerrit-Change-Number: 24884 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 08 Jul 2021 08:14: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 Jul 8 08:16:56 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 8 Jul 2021 08:16:56 +0000 Subject: Change in osmo-bsc[master]: RES IND: pick lchan with least interference In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24885 ) Change subject: RES IND: pick lchan with least interference ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24885/1/src/osmo-bsc/lchan_select.c File src/osmo-bsc/lchan_select.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24885/1/src/osmo-bsc/lchan_select.c at 55 PS1, Line 55: if (log) \ This change looks not related. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24885 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I844494092193811dfd9fa4d52983cbaed0fc9248 Gerrit-Change-Number: 24885 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 08 Jul 2021 08:16:56 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 8 08:17:52 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 8 Jul 2021 08:17:52 +0000 Subject: Change in osmo-bsc[master]: add fixme comment for vty 'interference-meas level-bounds' In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24886 ) Change subject: add fixme comment for vty 'interference-meas level-bounds' ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24886 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I501e07d34a26a1571a244f643563b5bf985c59d4 Gerrit-Change-Number: 24886 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 08 Jul 2021 08:17:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 8 08:22:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 8 Jul 2021 08:22:08 +0000 Subject: Change in osmo-bsc[master]: separate 'interference-meas level-bounds' cfg and used In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24887 ) Change subject: separate 'interference-meas level-bounds' cfg and used ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24887/1/src/osmo-bsc/nm_bts_fsm.c File src/osmo-bsc/nm_bts_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24887/1/src/osmo-bsc/nm_bts_fsm.c at 110 PS1, Line 110: bts->interf_meas_params_used = bts->interf_meas_params_cfg; You should ideally set this in the if condition below, when you receive the ACK from the BTS. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24887 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iad8cf4151ff7f86dc0549158ed5d91d788d40b1f Gerrit-Change-Number: 24887 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 08 Jul 2021 08:22:08 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 8 08:22:13 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 8 Jul 2021 08:22:13 +0000 Subject: Change in osmo-bsc[master]: separate 'interference-meas level-bounds' cfg and used In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24887 ) Change subject: separate 'interference-meas level-bounds' cfg and used ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24887 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iad8cf4151ff7f86dc0549158ed5d91d788d40b1f Gerrit-Change-Number: 24887 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 08 Jul 2021 08:22: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 Jul 8 08:23:58 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 8 Jul 2021 08:23:58 +0000 Subject: Change in osmo-bsc[master]: vty 'interference-meas level-bounds': explain duality in ordering In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24888 ) Change subject: vty 'interference-meas level-bounds': explain duality in ordering ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24888/1/src/osmo-bsc/bsc_vty.c File src/osmo-bsc/bsc_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24888/1/src/osmo-bsc/bsc_vty.c at 5011 PS1, Line 5011: "Interference level Boundaries. 3GPP do not specify whether these should be in ascending or descending" This looks too much to be put in the description imho. It may make more sense to add it to the user manual (we have some way to set extra VTY command information in the .adoc vty reference right?) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24888 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If71e20e95d29e7f03739ee04e1ef429bf8bd51ed Gerrit-Change-Number: 24888 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 08 Jul 2021 08:23: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 Thu Jul 8 09:00:20 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 8 Jul 2021 09:00:20 +0000 Subject: Change in osmo-bsc[master]: doc: bts.adoc: Update dyn ts section to include SDCCH8 support References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24889 ) Change subject: doc: bts.adoc: Update dyn ts section to include SDCCH8 support ...................................................................... doc: bts.adoc: Update dyn ts section to include SDCCH8 support Change-Id: I40f4b19e7df83351c9c9e65d71880ac6aaa4ee88 --- M doc/manuals/chapters/bts.adoc 1 file changed, 6 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/89/24889/1 diff --git a/doc/manuals/chapters/bts.adoc b/doc/manuals/chapters/bts.adoc index acd2200..1a693f9 100644 --- a/doc/manuals/chapters/bts.adoc +++ b/doc/manuals/chapters/bts.adoc @@ -272,10 +272,11 @@ === Dynamic Timeslot Configuration (TCH / PDCH) -A dynamic timeslot is in principle a voice timeslot (TCH) that is used to serve -GPRS data (PDCH) when no voice call is active on it. This enhances GPRS -bandwidth while no voice calls are active, which is dynamically scaled down as -voice calls need to be served. This is a tremendous improvement in service over +A dynamic timeslot is in principle a timeslot that is used to serve GPRS data +(PDCH), but that can be switched to be used either for voice (TCH) or signalling +(SDCCH8) when all other static timeslots are already in use. This enhances GPRS +bandwidth while there is no CS load, and is dynamically scaled down as CS +services need to be served. This is a tremendous improvement in service over statically assigning a fixed number of timeslots for voice and data. The causality is as follows: to establish a voice call, the @@ -313,7 +314,7 @@ ==== Osmocom Style Dynamic Timeslots (TCH/F_TCH/H_SDCCH8_PDCH) Timeslots of the `TCH/F_TCH/H_SDCCH8_PDCH` type dynamically switch between TCH/F, -TCH/H and PDCH, depending on the channel kind requested by the MSC. The RSL +TCH/H, SDCCH8 and PDCH, depending on the channel kind requested by the MSC. The RSL messaging for `TCH/F_TCH/H_SDCCH8_PDCH` timeslots is compatible with Ericsson RBS. BTS models supporting this timeslot kind are shown in <>. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24889 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I40f4b19e7df83351c9c9e65d71880ac6aaa4ee88 Gerrit-Change-Number: 24889 Gerrit-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 Jul 8 09:01:03 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 8 Jul 2021 09:01:03 +0000 Subject: Change in osmo-bsc[master]: doc: bts.adoc: Update dyn ts section to include SDCCH8 support In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-bsc/+/24889 ) Change subject: doc: bts.adoc: Update dyn ts section to include SDCCH8 support ...................................................................... doc: bts.adoc: Update dyn ts section to include SDCCH8 support Related: SYS#5309 Change-Id: I40f4b19e7df83351c9c9e65d71880ac6aaa4ee88 --- M doc/manuals/chapters/bts.adoc 1 file changed, 6 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/89/24889/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24889 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I40f4b19e7df83351c9c9e65d71880ac6aaa4ee88 Gerrit-Change-Number: 24889 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 Jul 8 10:18:15 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 8 Jul 2021 10:18:15 +0000 Subject: Change in osmo-mgw[master]: Take into account Marker bit when patching RTP stream In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24872 ) Change subject: Take into account Marker bit when patching RTP stream ...................................................................... Take into account Marker bit when patching RTP stream On a deployed osmo-mgw with RTP traffic coming from a thirdparty RTP source, it was usual to see log messages like following one from time to time: "The input timestamp has an alignment error of 159 on SSRC" Doing a quick traffic analysis showed that the above mentioned RTP source was generating traffic from time to time containing RTP packets with the Marker (M) bit. Those messages were logged because the verification & patching funcions in osmo-mgw were not Marker-bit aware. Hence, this patch implements support for Marker bit when handling RTP packets. The Marker bit is usually used as a start of a talkspurt, and has to be considered a syncrhonization point, where timestamp and relation to real time don't need to match with last received RTP packet in the stream. Related: SYS#5498 Change-Id: I1fb449eda49e82607649122b9b9d983a9e5983fa --- M include/osmocom/mgcp/mgcp_network.h M src/libosmo-mgcp/mgcp_network.c M tests/mgcp/mgcp_test.c M tests/mgcp/mgcp_test.ok 4 files changed, 90 insertions(+), 20 deletions(-) Approvals: dexter: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/mgcp/mgcp_network.h b/include/osmocom/mgcp/mgcp_network.h index 75b342d..d6d90dd 100644 --- a/include/osmocom/mgcp/mgcp_network.h +++ b/include/osmocom/mgcp/mgcp_network.h @@ -176,4 +176,4 @@ /* internal RTP Annex A counting */ void mgcp_rtp_annex_count(const struct mgcp_endpoint *endp, struct mgcp_rtp_state *state, const uint16_t seq, const int32_t transit, - const uint32_t ssrc); + const uint32_t ssrc, const bool marker_bit); diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index d18c7cb..82dc6ec 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -285,13 +285,21 @@ struct mgcp_rtp_state *state, const struct mgcp_rtp_end *rtp_end, const struct osmo_sockaddr *addr, - int16_t delta_seq, uint32_t in_timestamp) + int16_t delta_seq, uint32_t in_timestamp, + bool marker_bit) { int32_t tsdelta = state->packet_duration; int timestamp_offset; uint32_t out_timestamp; char ipbuf[INET6_ADDRSTRLEN]; + if (marker_bit) { + /* If RTP pkt contains marker bit, the timestamps are not longer + * in sync, so we can erase timestamp offset patching. */ + state->patch.timestamp_offset = 0; + return 0; + } + if (tsdelta == 0) { tsdelta = state->out_stream.last_tsdelta; if (tsdelta != 0) { @@ -335,13 +343,19 @@ struct mgcp_rtp_state *state, const struct mgcp_rtp_end *rtp_end, const struct osmo_sockaddr *addr, - uint32_t timestamp) + uint32_t timestamp, bool marker_bit) { char ipbuf[INET6_ADDRSTRLEN]; int ts_error = 0; int ts_check = 0; int ptime = state->packet_duration; + if (marker_bit) { + /* If RTP pkt contains marker bit, the timestamps are not longer + * in sync, so no alignment is needed. */ + return 0; + } + /* Align according to: T + Toffs - Tlast = k * Tptime */ ts_error = ts_alignment_error(&state->out_stream, ptime, @@ -414,12 +428,13 @@ void mgcp_rtp_annex_count(const struct mgcp_endpoint *endp, struct mgcp_rtp_state *state, const uint16_t seq, - const int32_t transit, const uint32_t ssrc) + const int32_t transit, const uint32_t ssrc, + const bool marker_bit) { int32_t d; /* initialize or re-initialize */ - if (!state->stats.initialized || state->stats.ssrc != ssrc) { + if (!state->stats.initialized || state->stats.ssrc != ssrc || marker_bit) { state->stats.initialized = 1; state->stats.base_seq = seq; state->stats.max_seq = seq - 1; @@ -503,6 +518,7 @@ int32_t transit; uint16_t seq; uint32_t timestamp, ssrc; + bool marker_bit; struct rtp_hdr *rtp_hdr; int payload = rtp_end->codec->payload_type; unsigned int len = msgb_length(msg); @@ -515,9 +531,10 @@ timestamp = ntohl(rtp_hdr->timestamp); arrival_time = get_current_ts(rtp_end->codec->rate); ssrc = ntohl(rtp_hdr->ssrc); + marker_bit = !!rtp_hdr->marker; transit = arrival_time - timestamp; - mgcp_rtp_annex_count(endp, state, seq, transit, ssrc); + mgcp_rtp_annex_count(endp, state, seq, transit, ssrc, marker_bit); if (!state->initialized) { state->initialized = 1; @@ -571,7 +588,7 @@ state->packet_duration; adjust_rtp_timestamp_offset(endp, state, rtp_end, addr, - delta_seq, timestamp); + delta_seq, timestamp, marker_bit); state->patch.patch_ssrc = true; ssrc = state->patch.orig_ssrc; @@ -589,10 +606,14 @@ state->in_stream.last_tsdelta = 0; } else { - /* Compute current per-packet timestamp delta */ - check_rtp_timestamp(endp, state, &state->in_stream, rtp_end, - addr, seq, timestamp, "input", - &state->in_stream.last_tsdelta); + if (!marker_bit) { + /* Compute current per-packet timestamp delta */ + check_rtp_timestamp(endp, state, &state->in_stream, rtp_end, + addr, seq, timestamp, "input", + &state->in_stream.last_tsdelta); + } else { + state->in_stream.last_tsdelta = 0; + } if (state->patch.patch_ssrc) ssrc = state->patch.orig_ssrc; @@ -607,7 +628,7 @@ state->out_stream.ssrc == ssrc && state->packet_duration) /* Align the timestamp offset */ align_rtp_timestamp_offset(endp, state, rtp_end, addr, - timestamp); + timestamp, marker_bit); /* Store the updated SSRC back to the packet */ if (state->patch.patch_ssrc) @@ -622,10 +643,14 @@ rtp_hdr->timestamp = htonl(timestamp); /* Check again, whether the timestamps are still valid */ - if (state->out_stream.ssrc == ssrc) - check_rtp_timestamp(endp, state, &state->out_stream, rtp_end, - addr, seq, timestamp, "output", - &state->out_stream.last_tsdelta); + if (!marker_bit) { + if (state->out_stream.ssrc == ssrc) + check_rtp_timestamp(endp, state, &state->out_stream, rtp_end, + addr, seq, timestamp, "output", + &state->out_stream.last_tsdelta); + } else { + state->out_stream.last_tsdelta = 0; + } /* Save output values */ state->out_stream.last_seq = seq; diff --git a/tests/mgcp/mgcp_test.c b/tests/mgcp/mgcp_test.c index 6978b1d..7397f5c 100644 --- a/tests/mgcp/mgcp_test.c +++ b/tests/mgcp/mgcp_test.c @@ -1282,6 +1282,15 @@ /* RTP: SeqNo=1002, TS=160320 */ {2.040000, 20, "\x80\x62\x03\xEA\x00\x02\x72\x40\x50\x60\x70\x80" "\x01\x23\x45\x67\x89\xAB\xCD\xEF"}, + /* RTP: SeqNo=1003, TS=180320, Marker */ + {2.060000, 20, "\x80\xE2\x03\xEB\x00\x02\xC0\x60\x50\x60\x70\x80" + "\x01\x23\x45\x67\x89\xAB\xCD\xEF"}, + /* RTP: SeqNo=1004, TS=180480 */ + {2.080000, 20, "\x80\x62\x03\xEC\x00\x02\xC1\x00\x50\x60\x70\x80" + "\x01\x23\x45\x67\x89\xAB\xCD\xEF"}, + /* RTP: SeqNo=1005, TS=180480, 10ms too late */ + {2.110000, 20, "\x80\x62\x03\xED\x00\x02\xC1\xA0\x50\x60\x70\x80" + "\x01\x23\x45\x67\x89\xAB\xCD\xEF"}, }; static void test_packet_error_detection(int patch_ssrc, int patch_ts) @@ -1566,24 +1575,24 @@ OSMO_ASSERT(conn->state.stats.initialized == 0); - mgcp_rtp_annex_count(endp, &conn->state, 0, 0, 2342); + mgcp_rtp_annex_count(endp, &conn->state, 0, 0, 2342, false); OSMO_ASSERT(conn->state.stats.initialized == 1); OSMO_ASSERT(conn->state.stats.cycles == 0); OSMO_ASSERT(conn->state.stats.max_seq == 0); - mgcp_rtp_annex_count(endp, &conn->state, 1, 0, 2342); + mgcp_rtp_annex_count(endp, &conn->state, 1, 0, 2342, false); OSMO_ASSERT(conn->state.stats.initialized == 1); OSMO_ASSERT(conn->state.stats.cycles == 0); OSMO_ASSERT(conn->state.stats.max_seq == 1); /* now jump.. */ - mgcp_rtp_annex_count(endp, &conn->state, UINT16_MAX, 0, 2342); + mgcp_rtp_annex_count(endp, &conn->state, UINT16_MAX, 0, 2342, false); OSMO_ASSERT(conn->state.stats.initialized == 1); OSMO_ASSERT(conn->state.stats.cycles == 0); OSMO_ASSERT(conn->state.stats.max_seq == UINT16_MAX); /* and wrap */ - mgcp_rtp_annex_count(endp, &conn->state, 0, 0, 2342); + mgcp_rtp_annex_count(endp, &conn->state, 0, 0, 2342, false); OSMO_ASSERT(conn->state.stats.initialized == 1); OSMO_ASSERT(conn->state.stats.cycles == UINT16_MAX + 1); OSMO_ASSERT(conn->state.stats.max_seq == 0); diff --git a/tests/mgcp/mgcp_test.ok b/tests/mgcp/mgcp_test.ok index 575fd83..94fada3 100644 --- a/tests/mgcp/mgcp_test.ok +++ b/tests/mgcp/mgcp_test.ok @@ -792,6 +792,15 @@ In TS: 160320, dTS: 160, Seq: 1002 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = -144000 +In TS: 180320, dTS: 0, Seq: 1003 +Out TS change: 20000, dTS: 0, Seq change: 1, TS Err change: in +0, out +0 +Stats: Jitter = 0, Transit = -163840 +In TS: 180480, dTS: 160, Seq: 1004 +Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 +Stats: Jitter = 0, Transit = -163840 +In TS: 180640, dTS: 160, Seq: 1005 +Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 +Stats: Jitter = 5, Transit = -163760 Testing packet error detection. Output SSRC changed to 11223344 In TS: 0, dTS: 0, Seq: 0 @@ -886,6 +895,15 @@ In TS: 160320, dTS: 160, Seq: 1002 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = -144000 +In TS: 180320, dTS: 0, Seq: 1003 +Out TS change: 20000, dTS: 0, Seq change: 1, TS Err change: in +0, out +0 +Stats: Jitter = 0, Transit = -163840 +In TS: 180480, dTS: 160, Seq: 1004 +Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 +Stats: Jitter = 0, Transit = -163840 +In TS: 180640, dTS: 160, Seq: 1005 +Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 +Stats: Jitter = 5, Transit = -163760 Testing packet error detection, patch timestamps. Output SSRC changed to 11223344 In TS: 0, dTS: 0, Seq: 0 @@ -980,6 +998,15 @@ In TS: 160320, dTS: 160, Seq: 1002 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = -144000 +In TS: 180320, dTS: 0, Seq: 1003 +Out TS change: 20000, dTS: 0, Seq change: 1, TS Err change: in +0, out +0 +Stats: Jitter = 0, Transit = -163840 +In TS: 180480, dTS: 160, Seq: 1004 +Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 +Stats: Jitter = 0, Transit = -163840 +In TS: 180640, dTS: 160, Seq: 1005 +Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 +Stats: Jitter = 5, Transit = -163760 Testing packet error detection, patch SSRC, patch timestamps. Output SSRC changed to 11223344 In TS: 0, dTS: 0, Seq: 0 @@ -1072,6 +1099,15 @@ In TS: 160320, dTS: 160, Seq: 1002 Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 Stats: Jitter = 0, Transit = -144000 +In TS: 180320, dTS: 0, Seq: 1003 +Out TS change: 20000, dTS: 0, Seq change: 1, TS Err change: in +0, out +0 +Stats: Jitter = 0, Transit = -163840 +In TS: 180480, dTS: 160, Seq: 1004 +Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 +Stats: Jitter = 0, Transit = -163840 +In TS: 180640, dTS: 160, Seq: 1005 +Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0 +Stats: Jitter = 5, Transit = -163760 Testing multiple payload types creating message from statically defined input: ---------8<--------- -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24872 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I1fb449eda49e82607649122b9b9d983a9e5983fa Gerrit-Change-Number: 24872 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 8 10:40:05 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 8 Jul 2021 10:40:05 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: fix loop that sends dummy RTP packets In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24873 ) Change subject: mgcp_protocol: fix loop that sends dummy RTP packets ...................................................................... Patch Set 1: > Patch Set 1: > > I guess you verified from MGCP point of view that makes sense. For instance if endp 0 can be accesses by MGCP and that we are indeed using it. I have checked that back. The first endpoint you get is indeed rtpbridge/1 at mgw. but this endpoint has the index 0 in this array. The endpoint name and the index of the array are not directly corresponding anmore. The endpoint name is a string and the selection goes by that string, not by the array index. (it was very annoying to allocate an endpoint at index 0 that is then never used because everything starts from index 1) So everything is ok I think. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24873 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I99a9b572eac26780bc1286a8dd63c4c5652fda4f Gerrit-Change-Number: 24873 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 08 Jul 2021 10:40:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 8 10:42:27 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 8 Jul 2021 10:42:27 +0000 Subject: Change in osmo-mgw[master]: mgw_main: fix loop that resets all endpoints In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24874 ) Change subject: mgw_main: fix loop that resets all endpoints ...................................................................... Patch Set 1: Apart from that that the loop is now fixed, I would recommend to remove this strange RSIP implementation. I think it is not even spec compliant and it is not used in osmo-bsc or osmo-msc. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24874 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I82a385e547e54d82eff95213652317ed2fdaadd8 Gerrit-Change-Number: 24874 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 08 Jul 2021 10:42: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 Thu Jul 8 10:49:22 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 8 Jul 2021 10:49:22 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: fix loop that sends dummy RTP packets In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24873 ) Change subject: mgcp_protocol: fix loop that sends dummy RTP packets ...................................................................... Patch Set 2: Cool thanks for checking. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24873 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I99a9b572eac26780bc1286a8dd63c4c5652fda4f Gerrit-Change-Number: 24873 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 08 Jul 2021 10:49: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 Thu Jul 8 10:56:44 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 8 Jul 2021 10:56:44 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: Improve timeout logging line in state WAIT_RLL_RTP_ESTABLISH References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24890 ) Change subject: lchan_fsm: Improve timeout logging line in state WAIT_RLL_RTP_ESTABLISH ...................................................................... lchan_fsm: Improve timeout logging line in state WAIT_RLL_RTP_ESTABLISH This allows quickly finding out whether the timeout is happening due to RLL not established or whether RTP is not ready. In essence, it indicates whether issue may be coming from MGW or from MS/BTS side. If coming from MGW, the timer T3101 is in general not a problem and the issue should be related to some misbehaving. If coming from MS/BTS, T3101 may require tunning (it could be a misbehaving of the MS/BTS too, or simply bad signal). Related: SYS#5526 Change-Id: Ib655f71aec584962c70d84a4405d996505dff53c --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 8 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/90/24890/1 diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 6350481..5a6d27c 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -1704,7 +1704,14 @@ lchan->release.in_error = true; lchan->release.rsl_error_cause = RSL_ERR_INTERWORKING; lchan->release.rr_cause = bsc_gsm48_rr_cause_from_rsl_cause(lchan->release.rsl_error_cause); - lchan_fail("Timeout"); + if (fi->state == LCHAN_ST_WAIT_RLL_RTP_ESTABLISH) { + lchan_fail("Timeout (rll_ready=%s,voice_require=%s,voice_ready=%s)", + (lchan->sapis[0] != LCHAN_SAPI_UNUSED) ? "yes" : "no", + lchan->activate.info.requires_voice_stream ? "yes" : "no", + lchan_rtp_established(lchan) ? "yes" : "no"); + } else { + lchan_fail("Timeout"); + } return 0; } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24890 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib655f71aec584962c70d84a4405d996505dff53c Gerrit-Change-Number: 24890 Gerrit-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 Jul 8 11:55:22 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 8 Jul 2021 11:55:22 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: Allow rx LCHAN_EV_RLL_REL_IND in WAIT_RF_RELEASE_ACK In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24853 ) Change subject: lchan_fsm: Allow rx LCHAN_EV_RLL_REL_IND in WAIT_RF_RELEASE_ACK ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24853 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie307872851490ae4d60c8117a5f4e2d8c2a414d6 Gerrit-Change-Number: 24853 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-Comment-Date: Thu, 08 Jul 2021 11:55:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 8 16:09:39 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 8 Jul 2021 16:09:39 +0000 Subject: Change in osmo-bsc[master]: lchan: call reset() upon alloc In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24882 to look at the new patch set (#2). Change subject: lchan: call reset() upon alloc ...................................................................... lchan: call reset() upon alloc call lchan_reset() after allocation, to make sure that lchan->* fields that have a nonzero default value get initialized properly. In particular, a future patch adds interference measurements, and an lchan that never received any Resource Indication info should always indicate that there are no measurements (a nonzero constant). Related: SYS#5313 Change-Id: I700a969f5b11c21dacda9a7cad00c943dce554b3 --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/82/24882/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24882 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I700a969f5b11c21dacda9a7cad00c943dce554b3 Gerrit-Change-Number: 24882 Gerrit-PatchSet: 2 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 Thu Jul 8 16:09:39 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 8 Jul 2021 16:09:39 +0000 Subject: Change in osmo-bsc[master]: RES IND: parse msg and store interference levels in lchans In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24883 to look at the new patch set (#2). Change subject: RES IND: parse msg and store interference levels in lchans ...................................................................... RES IND: parse msg and store interference levels in lchans Also show the current interference levels of unused lchans in the vty. Related: SYS#5313 Change-Id: Iccc1391e8419604bb09e464db8455e053dfbc982 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/lchan_fsm.c 4 files changed, 108 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/83/24883/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24883 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iccc1391e8419604bb09e464db8455e053dfbc982 Gerrit-Change-Number: 24883 Gerrit-PatchSet: 2 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 Thu Jul 8 16:09:39 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 8 Jul 2021 16:09:39 +0000 Subject: Change in osmo-bsc[master]: RES IND: add test_resource_indication.ho_vty In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24884 to look at the new patch set (#2). Change subject: RES IND: add test_resource_indication.ho_vty ...................................................................... RES IND: add test_resource_indication.ho_vty Show that osmo-bsc does not yet take Resource Indication's reported interference levels into account. (An upcoming patch will change that.) This is a first: this test is not actually doing any handover, but it is using the handover/*.ho_vty scripting that was intended for handover testing. Related: SYS#5313 Change-Id: I56ec61196a1e103f0b4caf18d25d8222bb82cf87 --- M tests/handover/handover_test.c M tests/handover/handover_tests.ok A tests/handover/test_resource_indication.ho_vty 3 files changed, 165 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/84/24884/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24884 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I56ec61196a1e103f0b4caf18d25d8222bb82cf87 Gerrit-Change-Number: 24884 Gerrit-PatchSet: 2 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 Thu Jul 8 16:09:39 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 8 Jul 2021 16:09:39 +0000 Subject: Change in osmo-bsc[master]: RES IND: pick lchan with least interference In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24885 to look at the new patch set (#2). Change subject: RES IND: pick lchan with least interference ...................................................................... RES IND: pick lchan with least interference In lchan_select, do not return on the first available lchan, but iterate through all available lchans. Among those that would match, pick the one with the lowest interference level as indicated by earlier RES IND. Lchans that have no interference ratings are picked last. Related: SYS#5313 Change-Id: I844494092193811dfd9fa4d52983cbaed0fc9248 --- M src/osmo-bsc/lchan_select.c M tests/handover/test_resource_indication.ho_vty 2 files changed, 57 insertions(+), 29 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/85/24885/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24885 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I844494092193811dfd9fa4d52983cbaed0fc9248 Gerrit-Change-Number: 24885 Gerrit-PatchSet: 2 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 Thu Jul 8 16:09:39 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 8 Jul 2021 16:09:39 +0000 Subject: Change in osmo-bsc[master]: separate 'interference-meas level-bounds' cfg and used In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24887 to look at the new patch set (#2). Change subject: separate 'interference-meas level-bounds' cfg and used ...................................................................... separate 'interference-meas level-bounds' cfg and used The VTY defun already indicates BSC_VTY_ATTR_RESTART_ABIS_OML_LINK correctly, but so far we would start using the new values internally, even before the OML link is restarted. Fix that. Have bts->interf_meas_params twice: interf_meas_params_cfg for the VTY configured values, and interf_meas_params_used for the values that the BTS actually knows about, after they were sent via OML. In a running BSC, when changing the interference level boundaries on the telnet VTY, the BTS is not immediately told about the change. That would require a BTS restart. Hence store the cfg values separately in interf_meas_params_cfg. For comparing/printing interference levels in a running BTS, only employ the values that were actually sent via OML and placed in interf_meas_params_used. Related: SYS#5313 Change-Id: Iad8cf4151ff7f86dc0549158ed5d91d788d40b1f --- M include/osmocom/bsc/bts.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/bts.c M src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c M src/osmo-bsc/nm_bts_fsm.c M tests/handover/handover_test.c 7 files changed, 27 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/87/24887/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24887 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iad8cf4151ff7f86dc0549158ed5d91d788d40b1f Gerrit-Change-Number: 24887 Gerrit-PatchSet: 2 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 Thu Jul 8 16:09:39 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 8 Jul 2021 16:09:39 +0000 Subject: Change in osmo-bsc[master]: vty 'interference-meas level-bounds': explain duality in ordering 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/+/24888 to look at the new patch set (#2). Change subject: vty 'interference-meas level-bounds': explain duality in ordering ...................................................................... vty 'interference-meas level-bounds': explain duality in ordering Related: SYS#5313 Change-Id: If71e20e95d29e7f03739ee04e1ef429bf8bd51ed --- M src/osmo-bsc/bsc_vty.c 1 file changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/88/24888/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24888 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If71e20e95d29e7f03739ee04e1ef429bf8bd51ed Gerrit-Change-Number: 24888 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 8 16:09:41 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 8 Jul 2021 16:09:41 +0000 Subject: Change in osmo-bsc[master]: RES IND: add VTY: bts / channel allocator avoid-interference (0|1) References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24891 ) Change subject: RES IND: add VTY: bts / channel allocator avoid-interference (0|1) ...................................................................... RES IND: add VTY: bts / channel allocator avoid-interference (0|1) Store the config option whether the channel allocator should try to avoid lchans with higher interference levels reported in RES IND. The actual implementation of avoiding interference follows in I844494092193811dfd9fa4d52983cbaed0fc9248 Related: SYS#5313 Change-Id: I8b62d0b41ad9e908b27713db9219e3dbc1ebaab7 --- M include/osmocom/bsc/bts.h M src/osmo-bsc/bsc_vty.c M tests/osmo-bsc.vty 3 files changed, 63 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/91/24891/1 diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h index 2e88129..992c9bb 100644 --- a/include/osmocom/bsc/bts.h +++ b/include/osmocom/bsc/bts.h @@ -450,6 +450,10 @@ * rather than starting from TRX0 and go upwards? */ int chan_alloc_reverse; + /* When true, interference measurements from the BTS are used in the channel allocator to favor lchans with less + * interference reported in RSL Resource Indication. */ + bool chan_alloc_avoid_interf; + enum neigh_list_manual_mode neigh_list_manual_mode; /* parameters from which we build SYSTEM INFORMATION */ struct { diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 07c8a9c..9c1813d 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -1073,6 +1073,8 @@ vty_out(vty, " channel allocator %s%s", bts->chan_alloc_reverse ? "descending" : "ascending", VTY_NEWLINE); + if (bts->chan_alloc_avoid_interf) + vty_out(vty, " channel allocator avoid-interference 1%s", VTY_NEWLINE); vty_out(vty, " rach tx integer %u%s", bts->si_common.rach_control.tx_integer, VTY_NEWLINE); vty_out(vty, " rach max transmission %u%s", @@ -2839,6 +2841,25 @@ return CMD_SUCCESS; } +DEFUN_ATTR(cfg_bts_chan_alloc_interf, + cfg_bts_chan_alloc_interf_cmd, + "channel allocator avoid-interference (0|1)", + "Channel Allocator\n" "Channel Allocator\n" + "Configure whether reported interference levels from RES IND are used in channel allocation\n" + "Ignore interference levels (default). Always assign lchans in a deterministic order.\n" + "In channel allocation, prefer lchans with less interference.\n", + CMD_ATTR_IMMEDIATE) +{ + struct gsm_bts *bts = vty->index; + + if (!strcmp(argv[0], "0")) + bts->chan_alloc_avoid_interf = false; + else + bts->chan_alloc_avoid_interf = true; + + return CMD_SUCCESS; +} + #define RACH_STR "Random Access Control Channel\n" DEFUN_USRATTR(cfg_bts_rach_tx_integer, @@ -8081,6 +8102,7 @@ install_element(BTS_NODE, &cfg_bts_oml_e1_cmd); install_element(BTS_NODE, &cfg_bts_oml_e1_tei_cmd); install_element(BTS_NODE, &cfg_bts_challoc_cmd); + install_element(BTS_NODE, &cfg_bts_chan_alloc_interf_cmd); install_element(BTS_NODE, &cfg_bts_rach_tx_integer_cmd); install_element(BTS_NODE, &cfg_bts_rach_max_trans_cmd); install_element(BTS_NODE, &cfg_bts_rach_max_delay_cmd); diff --git a/tests/osmo-bsc.vty b/tests/osmo-bsc.vty index 22e2a06..1d859c3 100644 --- a/tests/osmo-bsc.vty +++ b/tests/osmo-bsc.vty @@ -147,3 +147,40 @@ meas-feed destination 127.0.0.23 4223 meas-feed scenario foo23 ... + + +OsmoBSC(config-net)# bts 0 + +OsmoBSC(config-net-bts)# list +... + channel allocator avoid-interference (0|1) +... + +OsmoBSC(config-net-bts)# channel? + channel Channel Allocator + +OsmoBSC(config-net-bts)# channel ? + allocator Channel Allocator + +OsmoBSC(config-net-bts)# channel allocator ? + ascending Allocate Timeslots and Transceivers in ascending order + descending Allocate Timeslots and Transceivers in descending order + avoid-interference Configure whether reported interference levels from RES IND are used in channel allocation + +OsmoBSC(config-net-bts)# channel allocator avoid-interference ? + 0 Ignore interference levels (default). Always assign lchans in a deterministic order. + 1 In channel allocation, prefer lchans with less interference. + +OsmoBSC(config-net-bts)# show running-config +... !channel allocator avoid-interference +OsmoBSC(config-net-bts)# channel allocator avoid-interference 1 +OsmoBSC(config-net-bts)# show running-config +... + bts 0 +... + channel allocator avoid-interference 1 +... + +OsmoBSC(config-net-bts)# channel allocator avoid-interference 0 +OsmoBSC(config-net-bts)# show running-config +... !channel allocator avoid-interference -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24891 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8b62d0b41ad9e908b27713db9219e3dbc1ebaab7 Gerrit-Change-Number: 24891 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 Jul 8 16:13:59 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 8 Jul 2021 16:13:59 +0000 Subject: Change in osmo-mgw[master]: Use DLMGCP instead of DLGLOBAL in log lines References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24892 ) Change subject: Use DLMGCP instead of DLGLOBAL in log lines ...................................................................... Use DLMGCP instead of DLGLOBAL in log lines Change-Id: I95e11e8b1803153315750840ecec01402becf819 --- M src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/92/24892/1 diff --git a/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c b/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c index a55281c..7175c18 100644 --- a/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c +++ b/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c @@ -33,7 +33,7 @@ #define LOG_CI(ci, level, fmt, args...) do { \ if (!ci || !ci->ep) \ - LOGP(DLGLOBAL, level, "(unknown MGW endpoint) " fmt, ## args); \ + LOGP(DLMGCP, level, "(unknown MGW endpoint) " fmt, ## args); \ else \ LOG_MGCPC_EP(ci->ep, level, "CI[%d] %s%s%s: " fmt, \ (int)(ci - ci->ep->ci), \ @@ -616,7 +616,7 @@ ci = osmo_mgcpc_ep_check_ci(ci); if (!ci) { - LOGP(DLGLOBAL, LOGL_ERROR, "Invalid MGW endpoint request: no ci\n"); + LOGP(DLMGCP, LOGL_ERROR, "Invalid MGW endpoint request: no ci\n"); goto dispatch_error; } if (!verb_info && verb != MGCP_VERB_DLCX) { -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24892 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I95e11e8b1803153315750840ecec01402becf819 Gerrit-Change-Number: 24892 Gerrit-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 Jul 8 17:40:23 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 8 Jul 2021 17:40:23 +0000 Subject: Change in osmo-bsc[master]: lchan: call reset() upon alloc In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24882 ) Change subject: lchan: call reset() upon alloc ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24882 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I700a969f5b11c21dacda9a7cad00c943dce554b3 Gerrit-Change-Number: 24882 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 08 Jul 2021 17:40:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 8 17:40:39 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 8 Jul 2021 17:40:39 +0000 Subject: Change in osmo-bsc[master]: RES IND: add test_resource_indication.ho_vty In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24884 ) Change subject: RES IND: add test_resource_indication.ho_vty ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24884 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I56ec61196a1e103f0b4caf18d25d8222bb82cf87 Gerrit-Change-Number: 24884 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 08 Jul 2021 17:40:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 8 17:41:02 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 8 Jul 2021 17:41:02 +0000 Subject: Change in osmo-bsc[master]: RES IND: pick lchan with least interference In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24885 ) Change subject: RES IND: pick lchan with least interference ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24885 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I844494092193811dfd9fa4d52983cbaed0fc9248 Gerrit-Change-Number: 24885 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 08 Jul 2021 17:41: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 Jul 8 17:41:20 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 8 Jul 2021 17:41:20 +0000 Subject: Change in osmo-bsc[master]: separate 'interference-meas level-bounds' cfg and used In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24887 ) Change subject: separate 'interference-meas level-bounds' cfg and used ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24887 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iad8cf4151ff7f86dc0549158ed5d91d788d40b1f Gerrit-Change-Number: 24887 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 08 Jul 2021 17:41: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 Jul 8 17:48:25 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 8 Jul 2021 17:48:25 +0000 Subject: Change in osmo-bsc[master]: RES IND: add VTY: bts / channel allocator avoid-interference (0|1) In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24891 ) Change subject: RES IND: add VTY: bts / channel allocator avoid-interference (0|1) ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24891 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8b62d0b41ad9e908b27713db9219e3dbc1ebaab7 Gerrit-Change-Number: 24891 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 08 Jul 2021 17:48: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 Jul 8 18:06:10 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 8 Jul 2021 18:06:10 +0000 Subject: Change in osmo-bsc[master]: RES IND: parse msg and store interference levels in lchans In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24883 ) Change subject: RES IND: parse msg and store interference levels in lchans ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/24883/1/src/osmo-bsc/abis_rsl.c File src/osmo-bsc/abis_rsl.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24883/1/src/osmo-bsc/abis_rsl.c at 1482 PS1, Line 1482: rsl_tlv_parse(&tp, rslh->data, msgb_l2len(msg)-sizeof(*rslh)); > spacing between "-" (thx, came from copy-paste) https://gerrit.osmocom.org/c/osmo-bsc/+/24883/1/src/osmo-bsc/abis_rsl.c at 1484 PS1, Line 1484: LOGP(DRSL, LOGL_DEBUG, "%s Resource Indication\n", gsm_trx_name(trx)); > Rx Resource Indication? RES IND is never sent from the BSC, but ok -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24883 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iccc1391e8419604bb09e464db8455e053dfbc982 Gerrit-Change-Number: 24883 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 08 Jul 2021 18:06: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 Jul 8 18:08:05 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 8 Jul 2021 18:08:05 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: Allow rx LCHAN_EV_RLL_REL_IND in WAIT_RF_RELEASE_ACK In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24853 ) Change subject: lchan_fsm: Allow rx LCHAN_EV_RLL_REL_IND in WAIT_RF_RELEASE_ACK ...................................................................... lchan_fsm: Allow rx LCHAN_EV_RLL_REL_IND in WAIT_RF_RELEASE_ACK As seen in osmo-bsc log during heavy load scenario: <000f> abis_rsl.c:2171 lchan(12-2-6-TCH_H-0)[0x559b880d1f40]{WAIT_RF_RELEASE_ACK}: Event LCHAN_EV_RLL_REL_IND not permitted Related: SYS#5523 Change-Id: Ie307872851490ae4d60c8117a5f4e2d8c2a414d6 --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 8 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve daniel: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 6350481..e3b6c83 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -1349,6 +1349,13 @@ /* ignore late lchan_rtp_fsm release events */ return; + case LCHAN_EV_RLL_REL_IND: + /* let's just ignore this. We are already logging the fact + * that this message was received inside abis_rsl.c. There can + * be any number of reasons why the radio link layer failed. + */ + return; + default: OSMO_ASSERT(false); } @@ -1594,6 +1601,7 @@ .action = lchan_fsm_wait_rf_release_ack, .in_event_mask = 0 | S(LCHAN_EV_RSL_RF_CHAN_REL_ACK) + | S(LCHAN_EV_RLL_REL_IND) /* ignore late REL_IND of SAPI[0] */ | S(LCHAN_EV_RTP_RELEASED) /* ignore late lchan_rtp_fsm release events */ , .out_state_mask = 0 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24853 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie307872851490ae4d60c8117a5f4e2d8c2a414d6 Gerrit-Change-Number: 24853 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 8 18:08:45 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 8 Jul 2021 18:08:45 +0000 Subject: Change in osmo-bsc[master]: RES IND: pick lchan with least interference In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24885 ) Change subject: RES IND: pick lchan with least interference ...................................................................... Patch Set 2: (5 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/24885/1/src/osmo-bsc/lchan_select.c File src/osmo-bsc/lchan_select.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24885/1/src/osmo-bsc/lchan_select.c at 55 PS1, Line 55: if (log) \ > This change looks not related. i want to use the log statement without { } braces ... https://gerrit.osmocom.org/c/osmo-bsc/+/24885/1/src/osmo-bsc/lchan_select.c at 107 PS1, Line 107: if (found_lchan != was) ... here. https://gerrit.osmocom.org/c/osmo-bsc/+/24885/1/src/osmo-bsc/lchan_select.c at 113 PS1, Line 113: else and here https://gerrit.osmocom.org/c/osmo-bsc/+/24885/1/src/osmo-bsc/lchan_select.c at 126 PS1, Line 126: if (found_lchan) and here https://gerrit.osmocom.org/c/osmo-bsc/+/24885/1/src/osmo-bsc/lchan_select.c at 131 PS1, Line 131: else and here -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24885 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I844494092193811dfd9fa4d52983cbaed0fc9248 Gerrit-Change-Number: 24885 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 08 Jul 2021 18:08:45 +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 Jul 8 18:16:36 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 8 Jul 2021 18:16:36 +0000 Subject: Change in osmo-bsc[master]: RES IND: parse msg and store interference levels in lchans In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24883 to look at the new patch set (#3). Change subject: RES IND: parse msg and store interference levels in lchans ...................................................................... RES IND: parse msg and store interference levels in lchans Also show the current interference levels of unused lchans in the vty. Related: SYS#5313 Change-Id: Iccc1391e8419604bb09e464db8455e053dfbc982 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/lchan_fsm.c 4 files changed, 108 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/83/24883/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24883 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iccc1391e8419604bb09e464db8455e053dfbc982 Gerrit-Change-Number: 24883 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 Thu Jul 8 18:16:36 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 8 Jul 2021 18:16:36 +0000 Subject: Change in osmo-bsc[master]: separate 'interference-meas level-bounds' cfg and used In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24887 to look at the new patch set (#3). Change subject: separate 'interference-meas level-bounds' cfg and used ...................................................................... separate 'interference-meas level-bounds' cfg and used The VTY defun already indicates BSC_VTY_ATTR_RESTART_ABIS_OML_LINK correctly, but so far we would start using the new values internally, even before the OML link is restarted. Fix that. Have bts->interf_meas_params twice: interf_meas_params_cfg for the VTY configured values, and interf_meas_params_used for the values that the BTS actually knows about, after they were sent via OML. In a running BSC, when changing the interference level boundaries on the telnet VTY, the BTS is not immediately told about the change. That would require a BTS restart. Hence store the cfg values separately in interf_meas_params_cfg. For comparing/printing interference levels in a running BTS, only employ the values that were actually sent via OML and placed in interf_meas_params_used. Related: SYS#5313 Change-Id: Iad8cf4151ff7f86dc0549158ed5d91d788d40b1f --- M include/osmocom/bsc/bts.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/bts.c M src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c M src/osmo-bsc/nm_bts_fsm.c M tests/handover/handover_test.c 7 files changed, 29 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/87/24887/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24887 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iad8cf4151ff7f86dc0549158ed5d91d788d40b1f Gerrit-Change-Number: 24887 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 Thu Jul 8 18:16:36 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 8 Jul 2021 18:16:36 +0000 Subject: Change in osmo-bsc[master]: vty 'interference-meas level-bounds': explain duality in ordering 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/+/24888 to look at the new patch set (#3). Change subject: vty 'interference-meas level-bounds': explain duality in ordering ...................................................................... vty 'interference-meas level-bounds': explain duality in ordering Related: SYS#5313 Change-Id: If71e20e95d29e7f03739ee04e1ef429bf8bd51ed --- M src/osmo-bsc/bsc_vty.c M tests/interf_meas.vty 2 files changed, 4 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/88/24888/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24888 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If71e20e95d29e7f03739ee04e1ef429bf8bd51ed Gerrit-Change-Number: 24888 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 8 18:19:58 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 8 Jul 2021 18:19:58 +0000 Subject: Change in osmo-bsc[master]: vty 'interference-meas level-bounds': explain duality in ordering In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24888 ) Change subject: vty 'interference-meas level-bounds': explain duality in ordering ...................................................................... Patch Set 3: (2 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/24888/1/src/osmo-bsc/bsc_vty.c File src/osmo-bsc/bsc_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24888/1/src/osmo-bsc/bsc_vty.c at 5011 PS1, Line 5011: "Interference level Boundaries. 3GPP do not specify whether these should be in ascending or descending" > This looks too much to be put in the description imho. [?] in my opinion those vty doc strings do not need to be short at all. it is printed fine in the vty reference PDF as well as in telnet VTY doc. I've added long descriptions in various other places already, IMHO this is appropriate and desirable where they answer questions that the user needs to understand to use the config item properly. https://gerrit.osmocom.org/c/osmo-bsc/+/24888/3/tests/interf_meas.vty File tests/interf_meas.vty: https://gerrit.osmocom.org/c/osmo-bsc/+/24888/3/tests/interf_meas.vty at 15 PS3, Line 15: level-bounds Interference level Boundaries. 3GPP do not specify whether these should be in ascending or descending order (3GPP TS 48.058 9.3.21 / 3GPP TS 52.021 9.4.25). OsmoBSC supports either ordering, but possibly some BTS models only return meaningful interference levels with one specific ordering. and BTW the telnet VTY nicely inserts line breaks according to terminal size (not possible in these transcript tests, hence the huge line width that does not occur in practice) In the field, it looks like this: OsmoBSC(config-net-bts)# interference-meas avg-period Averaging period (Intave) level-bounds Interference level Boundaries. 3GPP do not specify whether these should be in ascending or descending order (3GPP TS 48.058 9.3.21 / 3GPP TS 52.021 9.4.25). OsmoBSC supports either ordering, but possibly some BTS models only return meaningful interference levels with one specific ordering. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24888 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If71e20e95d29e7f03739ee04e1ef429bf8bd51ed Gerrit-Change-Number: 24888 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 08 Jul 2021 18:19:58 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 8 18:24:44 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 8 Jul 2021 18:24:44 +0000 Subject: Change in osmo-bsc[master]: RES IND: pick lchan with least interference In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24885 ) Change subject: RES IND: pick lchan with least interference ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24885/1/src/osmo-bsc/lchan_select.c File src/osmo-bsc/lchan_select.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24885/1/src/osmo-bsc/lchan_select.c at 55 PS1, Line 55: if (log) \ > i want to use the log statement without { } braces ... Ack -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24885 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I844494092193811dfd9fa4d52983cbaed0fc9248 Gerrit-Change-Number: 24885 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 08 Jul 2021 18:24:44 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: neels 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 Jul 8 18:25:03 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 8 Jul 2021 18:25:03 +0000 Subject: Change in osmo-bsc[master]: RES IND: parse msg and store interference levels in lchans In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24883 ) Change subject: RES IND: parse msg and store interference levels in lchans ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24883 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iccc1391e8419604bb09e464db8455e053dfbc982 Gerrit-Change-Number: 24883 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 08 Jul 2021 18:25:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 8 18:26:22 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 8 Jul 2021 18:26:22 +0000 Subject: Change in osmo-bsc[master]: separate 'interference-meas level-bounds' cfg and used In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24887 ) Change subject: separate 'interference-meas level-bounds' cfg and used ...................................................................... Patch Set 3: Code-Review-1 Last change you did is wrong, you move the Tx of the packet too!!! -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24887 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iad8cf4151ff7f86dc0549158ed5d91d788d40b1f Gerrit-Change-Number: 24887 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 08 Jul 2021 18:26:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 09:35:37 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 9 Jul 2021 09:35:37 +0000 Subject: Change in osmo-mgw[master]: Use DLMGCP instead of DLGLOBAL in log lines In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24892 ) Change subject: Use DLMGCP instead of DLGLOBAL in log lines ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24892 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I95e11e8b1803153315750840ecec01402becf819 Gerrit-Change-Number: 24892 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 09 Jul 2021 09:35: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 Jul 9 09:58:45 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 9 Jul 2021 09:58:45 +0000 Subject: Change in osmo-mgw[master]: Use DLMGCP instead of DLGLOBAL in log lines In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24892 ) Change subject: Use DLMGCP instead of DLGLOBAL in log lines ...................................................................... Use DLMGCP instead of DLGLOBAL in log lines Change-Id: I95e11e8b1803153315750840ecec01402becf819 --- M src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, approved diff --git a/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c b/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c index a55281c..7175c18 100644 --- a/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c +++ b/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c @@ -33,7 +33,7 @@ #define LOG_CI(ci, level, fmt, args...) do { \ if (!ci || !ci->ep) \ - LOGP(DLGLOBAL, level, "(unknown MGW endpoint) " fmt, ## args); \ + LOGP(DLMGCP, level, "(unknown MGW endpoint) " fmt, ## args); \ else \ LOG_MGCPC_EP(ci->ep, level, "CI[%d] %s%s%s: " fmt, \ (int)(ci - ci->ep->ci), \ @@ -616,7 +616,7 @@ ci = osmo_mgcpc_ep_check_ci(ci); if (!ci) { - LOGP(DLGLOBAL, LOGL_ERROR, "Invalid MGW endpoint request: no ci\n"); + LOGP(DLMGCP, LOGL_ERROR, "Invalid MGW endpoint request: no ci\n"); goto dispatch_error; } if (!verb_info && verb != MGCP_VERB_DLCX) { -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24892 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I95e11e8b1803153315750840ecec01402becf819 Gerrit-Change-Number: 24892 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 09:59:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 9 Jul 2021 09:59:17 +0000 Subject: Change in osmo-bsc[master]: doc: bts.adoc: Update dyn ts section to include SDCCH8 support In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24889 ) Change subject: doc: bts.adoc: Update dyn ts section to include SDCCH8 support ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24889 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I40f4b19e7df83351c9c9e65d71880ac6aaa4ee88 Gerrit-Change-Number: 24889 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 09 Jul 2021 09:59:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 10:00:43 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 9 Jul 2021 10:00:43 +0000 Subject: Change in osmo-dev[master]: net/templates/run.sh: fix check for masquerade In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/24875 ) Change subject: net/templates/run.sh: fix check for masquerade ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-dev/+/24875/1/net/templates/run.sh File net/templates/run.sh: https://gerrit.osmocom.org/c/osmo-dev/+/24875/1/net/templates/run.sh at 18 PS1, Line 18: -A in general it might be worth thinking of doing "-I" here to insert at the top. This way you are less likely affected by whatever other rules that may already be above you in that chain. -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/24875 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I30c22fe4e7683611e8dada329dbf7d51f78b6016 Gerrit-Change-Number: 24875 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 09 Jul 2021 10:00: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 Fri Jul 9 10:00:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 9 Jul 2021 10:00:59 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: Improve timeout logging line in state WAIT_RLL_RTP_ESTABLISH In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24890 ) Change subject: lchan_fsm: Improve timeout logging line in state WAIT_RLL_RTP_ESTABLISH ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24890 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib655f71aec584962c70d84a4405d996505dff53c Gerrit-Change-Number: 24890 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Fri, 09 Jul 2021 10:00:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 10:01:35 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 9 Jul 2021 10:01:35 +0000 Subject: Change in osmo-bsc[master]: lchan: call reset() upon alloc In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24882 ) Change subject: lchan: call reset() upon alloc ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24882 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I700a969f5b11c21dacda9a7cad00c943dce554b3 Gerrit-Change-Number: 24882 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 09 Jul 2021 10:01:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 10:02:24 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 9 Jul 2021 10:02:24 +0000 Subject: Change in osmo-bsc[master]: RES IND: parse msg and store interference levels in lchans In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24883 ) Change subject: RES IND: parse msg and store interference levels in lchans ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24883 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iccc1391e8419604bb09e464db8455e053dfbc982 Gerrit-Change-Number: 24883 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 09 Jul 2021 10:02: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 Jul 9 10:02:40 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 9 Jul 2021 10:02:40 +0000 Subject: Change in osmo-bsc[master]: RES IND: add VTY: bts / channel allocator avoid-interference (0|1) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24891 ) Change subject: RES IND: add VTY: bts / channel allocator avoid-interference (0|1) ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24891 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8b62d0b41ad9e908b27713db9219e3dbc1ebaab7 Gerrit-Change-Number: 24891 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 09 Jul 2021 10:02:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 10:02:54 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 9 Jul 2021 10:02:54 +0000 Subject: Change in osmo-bsc[master]: RES IND: add test_resource_indication.ho_vty In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24884 ) Change subject: RES IND: add test_resource_indication.ho_vty ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24884 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I56ec61196a1e103f0b4caf18d25d8222bb82cf87 Gerrit-Change-Number: 24884 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 09 Jul 2021 10:02: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 Jul 9 10:03:25 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 9 Jul 2021 10:03:25 +0000 Subject: Change in osmo-bsc[master]: RES IND: pick lchan with least interference In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24885 ) Change subject: RES IND: pick lchan with least interference ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24885 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I844494092193811dfd9fa4d52983cbaed0fc9248 Gerrit-Change-Number: 24885 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 09 Jul 2021 10:03: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 Jul 9 10:04:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 9 Jul 2021 10:04:55 +0000 Subject: Change in osmo-bsc[master]: add fixme comment for vty 'interference-meas level-bounds' In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24886 ) Change subject: add fixme comment for vty 'interference-meas level-bounds' ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24886/3/src/osmo-bsc/bsc_vty.c File src/osmo-bsc/bsc_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24886/3/src/osmo-bsc/bsc_vty.c at 5048 PS3, Line 5048: instead of the comment you should at leat print a message to the user hinting that he should be re-starting OML for this bts ("bts drop oml..."), _if_ the BTS is already connected/up/... at th etime the command is entered. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24886 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I501e07d34a26a1571a244f643563b5bf985c59d4 Gerrit-Change-Number: 24886 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 09 Jul 2021 10:04:55 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 10:38:09 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 9 Jul 2021 10:38:09 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: Improve timeout logging line in state WAIT_RLL_RTP_ESTABLISH In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24890 ) Change subject: lchan_fsm: Improve timeout logging line in state WAIT_RLL_RTP_ESTABLISH ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24890 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib655f71aec584962c70d84a4405d996505dff53c Gerrit-Change-Number: 24890 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Fri, 09 Jul 2021 10:38:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 10:40:00 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 9 Jul 2021 10:40:00 +0000 Subject: Change in osmo-bsc[master]: WIP: avoid switching dyn ts to sdcch8 if it starves later TCH In-Reply-To: References: Message-ID: Hello Jenkins Builder, neels, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24876 to look at the new patch set (#2). Change subject: WIP: avoid switching dyn ts to sdcch8 if it starves later TCH ...................................................................... WIP: avoid switching dyn ts to sdcch8 if it starves later TCH In case an MS requests a channel to establish a voice call, we usuually try to assign an SDCCH to negotiate the call and finally make the MS switch to a TCH. However, it doesn't make much sense to provoke a switch of a dynamic TS into SDCCH8 if that would mean we end up with no TS available for TCH at the next step close in time. In that case, we are better assigning the TCH directly so that the full call can be established successfully. Related: SYS#5309 Change-Id: I3b32968949a7bdcbebf5a823359295bac51d8e08 --- M src/osmo-bsc/abis_rsl.c 1 file changed, 58 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/76/24876/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24876 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3b32968949a7bdcbebf5a823359295bac51d8e08 Gerrit-Change-Number: 24876 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 11:31:32 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 9 Jul 2021 11:31:32 +0000 Subject: Change in osmo-bsc[master]: doc: bts.adoc: Update dyn ts section to include SDCCH8 support In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24889 ) Change subject: doc: bts.adoc: Update dyn ts section to include SDCCH8 support ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24889 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I40f4b19e7df83351c9c9e65d71880ac6aaa4ee88 Gerrit-Change-Number: 24889 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 09 Jul 2021 11:31:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 11:32:20 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 9 Jul 2021 11:32:20 +0000 Subject: Change in osmo-bsc[master]: doc: bts.adoc: Update dyn ts section to include SDCCH8 support In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24889 ) Change subject: doc: bts.adoc: Update dyn ts section to include SDCCH8 support ...................................................................... doc: bts.adoc: Update dyn ts section to include SDCCH8 support Related: SYS#5309 Change-Id: I40f4b19e7df83351c9c9e65d71880ac6aaa4ee88 --- M doc/manuals/chapters/bts.adoc 1 file changed, 6 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, approved laforge: Looks good to me, but someone else must approve diff --git a/doc/manuals/chapters/bts.adoc b/doc/manuals/chapters/bts.adoc index acd2200..1a693f9 100644 --- a/doc/manuals/chapters/bts.adoc +++ b/doc/manuals/chapters/bts.adoc @@ -272,10 +272,11 @@ === Dynamic Timeslot Configuration (TCH / PDCH) -A dynamic timeslot is in principle a voice timeslot (TCH) that is used to serve -GPRS data (PDCH) when no voice call is active on it. This enhances GPRS -bandwidth while no voice calls are active, which is dynamically scaled down as -voice calls need to be served. This is a tremendous improvement in service over +A dynamic timeslot is in principle a timeslot that is used to serve GPRS data +(PDCH), but that can be switched to be used either for voice (TCH) or signalling +(SDCCH8) when all other static timeslots are already in use. This enhances GPRS +bandwidth while there is no CS load, and is dynamically scaled down as CS +services need to be served. This is a tremendous improvement in service over statically assigning a fixed number of timeslots for voice and data. The causality is as follows: to establish a voice call, the @@ -313,7 +314,7 @@ ==== Osmocom Style Dynamic Timeslots (TCH/F_TCH/H_SDCCH8_PDCH) Timeslots of the `TCH/F_TCH/H_SDCCH8_PDCH` type dynamically switch between TCH/F, -TCH/H and PDCH, depending on the channel kind requested by the MSC. The RSL +TCH/H, SDCCH8 and PDCH, depending on the channel kind requested by the MSC. The RSL messaging for `TCH/F_TCH/H_SDCCH8_PDCH` timeslots is compatible with Ericsson RBS. BTS models supporting this timeslot kind are shown in <>. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24889 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I40f4b19e7df83351c9c9e65d71880ac6aaa4ee88 Gerrit-Change-Number: 24889 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter 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 Jul 9 11:32:40 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 9 Jul 2021 11:32:40 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: Improve timeout logging line in state WAIT_RLL_RTP_ESTABLISH In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24890 ) Change subject: lchan_fsm: Improve timeout logging line in state WAIT_RLL_RTP_ESTABLISH ...................................................................... lchan_fsm: Improve timeout logging line in state WAIT_RLL_RTP_ESTABLISH This allows quickly finding out whether the timeout is happening due to RLL not established or whether RTP is not ready. In essence, it indicates whether issue may be coming from MGW or from MS/BTS side. If coming from MGW, the timer T3101 is in general not a problem and the issue should be related to some misbehaving. If coming from MS/BTS, T3101 may require tunning (it could be a misbehaving of the MS/BTS too, or simply bad signal). Related: SYS#5526 Change-Id: Ib655f71aec584962c70d84a4405d996505dff53c --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 8 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, but someone else must approve dexter: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index e3b6c83..841415f 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -1712,7 +1712,14 @@ lchan->release.in_error = true; lchan->release.rsl_error_cause = RSL_ERR_INTERWORKING; lchan->release.rr_cause = bsc_gsm48_rr_cause_from_rsl_cause(lchan->release.rsl_error_cause); - lchan_fail("Timeout"); + if (fi->state == LCHAN_ST_WAIT_RLL_RTP_ESTABLISH) { + lchan_fail("Timeout (rll_ready=%s,voice_require=%s,voice_ready=%s)", + (lchan->sapis[0] != LCHAN_SAPI_UNUSED) ? "yes" : "no", + lchan->activate.info.requires_voice_stream ? "yes" : "no", + lchan_rtp_established(lchan) ? "yes" : "no"); + } else { + lchan_fail("Timeout"); + } return 0; } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24890 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib655f71aec584962c70d84a4405d996505dff53c Gerrit-Change-Number: 24890 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 11:40:30 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 9 Jul 2021 11:40:30 +0000 Subject: Change in osmo-dev[master]: net/templates/run.sh: tweak masquerade In-Reply-To: References: Message-ID: Hello neels, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-dev/+/24875 to look at the new patch set (#2). Change subject: net/templates/run.sh: tweak masquerade ...................................................................... net/templates/run.sh: tweak masquerade Replace the old check with an exact check for the given rule. The old check doesn't work on my system if docker is running and sets up other masquerading rules. Change -A to -I, so it is less likely to be affected by whatever other rules may already be above in the chain. Change-Id: I30c22fe4e7683611e8dada329dbf7d51f78b6016 --- M net/templates/run.sh 1 file changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-dev refs/changes/75/24875/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/24875 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I30c22fe4e7683611e8dada329dbf7d51f78b6016 Gerrit-Change-Number: 24875 Gerrit-PatchSet: 2 Gerrit-Owner: osmith 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 Fri Jul 9 11:41:08 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 9 Jul 2021 11:41:08 +0000 Subject: Change in osmo-dev[master]: net/templates/run.sh: tweak masquerade In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/24875 ) Change subject: net/templates/run.sh: tweak masquerade ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-dev/+/24875/1/net/templates/run.sh File net/templates/run.sh: https://gerrit.osmocom.org/c/osmo-dev/+/24875/1/net/templates/run.sh at 18 PS1, Line 18: -A > in general it might be worth thinking of doing "-I" here to insert at the top. [?] Ack -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/24875 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I30c22fe4e7683611e8dada329dbf7d51f78b6016 Gerrit-Change-Number: 24875 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 09 Jul 2021 11:41:08 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 11:46:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 9 Jul 2021 11:46:01 +0000 Subject: Change in simtrace2[master]: 99-simtrace2.rules: Add OCTSIMTEST In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24877 ) Change subject: 99-simtrace2.rules: Add OCTSIMTEST ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24877 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I226ee21e0937f851428578578f81075fa703dd54 Gerrit-Change-Number: 24877 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 09 Jul 2021 11:46:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 11:46:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 9 Jul 2021 11:46:04 +0000 Subject: Change in simtrace2[master]: contrib/flash.py: Add OCTSIMTEST support In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24878 ) Change subject: contrib/flash.py: Add OCTSIMTEST support ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24878 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Id906d955f45a204ac0b00f56d8f5149c64c62f32 Gerrit-Change-Number: 24878 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 09 Jul 2021 11:46: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 Jul 9 11:48:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 9 Jul 2021 11:48:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: add control interface to MGW testsuite In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24820 ) Change subject: MGCP_Test: add control interface to MGW testsuite ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24820 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7324802bf6e692ce8b7d9b269dd2385a7d3d0d77 Gerrit-Change-Number: 24820 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 09 Jul 2021 11: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 Fri Jul 9 11:48:22 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 9 Jul 2021 11:48:22 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: upgrade expected behavior for TC_dlcx_wildcarded In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24821 ) Change subject: MGCP_Test: upgrade expected behavior for TC_dlcx_wildcarded ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24821 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I61e23e264bc85eb36d07431c7839fb445c110947 Gerrit-Change-Number: 24821 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 09 Jul 2021 11:48:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 11:49:11 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 9 Jul 2021 11:49:11 +0000 Subject: Change in osmo-mgw[master]: mgcp_ctrl: add functions to inspect trunk usage In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24822 ) Change subject: mgcp_ctrl: add functions to inspect trunk usage ...................................................................... Patch Set 2: agreeing with pespin. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24822 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib8b5a6e733f521828647742085cad8eccb3e715b Gerrit-Change-Number: 24822 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-CC: neels Gerrit-Comment-Date: Fri, 09 Jul 2021 11:49: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 Jul 9 11:50:22 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 9 Jul 2021 11:50:22 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: add support for wildcarded DLCX In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24823 ) Change subject: mgcp_protocol: add support for wildcarded DLCX ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24823 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I0770cf46d93ab09efe9cafdd56d2e3f1132db189 Gerrit-Change-Number: 24823 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 09 Jul 2021 11:50:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 11:50:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 9 Jul 2021 11:50:33 +0000 Subject: Change in libosmocore[master]: linuxlist: add macro to get last element of a list In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24801 ) Change subject: linuxlist: add macro to get last element of a list ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24801 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icf455bf6ba9d60bd311af17c9e80febaa42cacc9 Gerrit-Change-Number: 24801 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 09 Jul 2021 11:50:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 11:50:36 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 9 Jul 2021 11:50:36 +0000 Subject: Change in libosmocore[master]: linuxlist: add macro to get last element of a list In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24801 ) Change subject: linuxlist: add macro to get last element of a list ...................................................................... linuxlist: add macro to get last element of a list It is not be obvious on the first look that ->prev actually points to the last element of a list, lets add a macro for that to make the API easier to use Change-Id: Icf455bf6ba9d60bd311af17c9e80febaa42cacc9 Related: SYS#4971 --- M include/osmocom/core/linuxlist.h 1 file changed, 6 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/include/osmocom/core/linuxlist.h b/include/osmocom/core/linuxlist.h index f28f88b..725c60c 100644 --- a/include/osmocom/core/linuxlist.h +++ b/include/osmocom/core/linuxlist.h @@ -238,6 +238,12 @@ #define llist_last_entry(ptr, type, member) \ llist_entry((ptr)->prev, type, member) +/*! Return the last element of the list. + * \param head the llist head of the list. + * \returns last element of the list, head if the list is empty. + */ +#define llist_last(head) (head)->prev + /*! Get the first element from a list, or NULL. * \param ptr the list head to take the element from. * \param type the type of the struct this is embedded in. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24801 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icf455bf6ba9d60bd311af17c9e80febaa42cacc9 Gerrit-Change-Number: 24801 Gerrit-PatchSet: 5 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 Fri Jul 9 11:50:48 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 9 Jul 2021 11:50:48 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: fix loop that sends dummy RTP packets In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24873 ) Change subject: mgcp_protocol: fix loop that sends dummy RTP packets ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24873 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I99a9b572eac26780bc1286a8dd63c4c5652fda4f Gerrit-Change-Number: 24873 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 09 Jul 2021 11:50: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 Jul 9 11:50:58 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 9 Jul 2021 11:50:58 +0000 Subject: Change in osmo-mgw[master]: mgw_main: fix loop that resets all endpoints In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24874 ) Change subject: mgw_main: fix loop that resets all endpoints ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24874 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I82a385e547e54d82eff95213652317ed2fdaadd8 Gerrit-Change-Number: 24874 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 09 Jul 2021 11:50: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 Jul 9 11:51:00 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 9 Jul 2021 11:51:00 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: fix loop that sends dummy RTP packets In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24873 ) Change subject: mgcp_protocol: fix loop that sends dummy RTP packets ...................................................................... mgcp_protocol: fix loop that sends dummy RTP packets The logic in mgcp_keepalive_timer_cb() only sends dummy packets for endpoints 1-N, leaving out endpoint 0, this is not correct it should include all endpoints (0-N). Change-Id: I99a9b572eac26780bc1286a8dd63c4c5652fda4f --- M src/libosmo-mgcp/mgcp_protocol.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/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index 56271e2..29d27d4 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -1494,7 +1494,7 @@ /* Send walk over all endpoints and send out dummy packets through * every connection present on each endpoint */ - for (i = 1; i < trunk->number_endpoints; ++i) { + for (i = 0; i < trunk->number_endpoints; ++i) { struct mgcp_endpoint *endp = trunk->endpoints[i]; llist_for_each_entry(conn, &endp->conns, entry) { if (conn->type == MGCP_CONN_TYPE_RTP && -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24873 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I99a9b572eac26780bc1286a8dd63c4c5652fda4f Gerrit-Change-Number: 24873 Gerrit-PatchSet: 3 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 Fri Jul 9 11:51:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 9 Jul 2021 11:51:01 +0000 Subject: Change in osmo-mgw[master]: mgw_main: fix loop that resets all endpoints In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24874 ) Change subject: mgw_main: fix loop that resets all endpoints ...................................................................... mgw_main: fix loop that resets all endpoints The loop that resets all endpoints in read_call_agent() starts counting at endpoint index 1, but it should begin counting at index 0 Change-Id: I82a385e547e54d82eff95213652317ed2fdaadd8 --- M src/osmo-mgw/mgw_main.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-mgw/mgw_main.c b/src/osmo-mgw/mgw_main.c index d30378d..113f691 100644 --- a/src/osmo-mgw/mgw_main.c +++ b/src/osmo-mgw/mgw_main.c @@ -243,7 +243,7 @@ /* Walk over all endpoints and trigger a release, this will release all * endpoints, possible open connections are forcefully dropped */ - for (i = 1; i < reset_trunk->number_endpoints; ++i) + for (i = 0; i < reset_trunk->number_endpoints; ++i) mgcp_endp_release(reset_trunk->endpoints[i]); } -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24874 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I82a385e547e54d82eff95213652317ed2fdaadd8 Gerrit-Change-Number: 24874 Gerrit-PatchSet: 3 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 Fri Jul 9 11:51:31 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 9 Jul 2021 11:51:31 +0000 Subject: Change in osmo-bsc[master]: hodec2: [1/2] implement automatic choice between FULL and SUBSET meas... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24850 ) Change subject: hodec2: [1/2] implement automatic choice between FULL and SUBSET measurements ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24850 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I283e03126a6bc1f5f1b35f9801e841053edd2947 Gerrit-Change-Number: 24850 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 09 Jul 2021 11:51:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 11:51:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 9 Jul 2021 11:51:33 +0000 Subject: Change in osmo-bsc[master]: hodec2: [2/2] implement automatic choice between FULL and SUBSET meas... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24851 ) Change subject: hodec2: [2/2] implement automatic choice between FULL and SUBSET measurements ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24851 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I67dce55ccf892c8679272ee5dfedc25620f0f725 Gerrit-Change-Number: 24851 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 09 Jul 2021 11:51:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 11:51:41 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 9 Jul 2021 11:51:41 +0000 Subject: Change in osmo-bsc[master]: hodec2: [1/2] implement automatic choice between FULL and SUBSET meas... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24850 ) Change subject: hodec2: [1/2] implement automatic choice between FULL and SUBSET measurements ...................................................................... hodec2: [1/2] implement automatic choice between FULL and SUBSET measurements Cosmetic preparation for enabling automatic choice between FULL and SUBSET measurements depending on DTX in handover decision 2. Change the internal API to pass separate enums for the choices {RXLEV, RXQUAL}, {UL, DL} and {FULL, SUB}. Change-Id: I283e03126a6bc1f5f1b35f9801e841053edd2947 --- M include/osmocom/bsc/meas_rep.h M src/osmo-bsc/handover_decision.c M src/osmo-bsc/handover_decision_2.c M src/osmo-bsc/meas_rep.c 4 files changed, 82 insertions(+), 26 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/bsc/meas_rep.h b/include/osmocom/bsc/meas_rep.h index 54e0519..5cfeb98 100644 --- a/include/osmocom/bsc/meas_rep.h +++ b/include/osmocom/bsc/meas_rep.h @@ -51,14 +51,32 @@ struct gsm_meas_rep_cell cell[6]; }; +enum tdma_meas_field { + TDMA_MEAS_FIELD_RXLEV = 0, + TDMA_MEAS_FIELD_RXQUAL = 1, +}; + +enum tdma_meas_dir { + TDMA_MEAS_DIR_UL = 0, + TDMA_MEAS_DIR_DL = 1, +}; + +/* (function choose_meas_rep_field() depends on FULL and SUB being 0 and 1, but doesn't care about AUTO's value) */ +enum tdma_meas_set { + TDMA_MEAS_SET_FULL = 0, + TDMA_MEAS_SET_SUB = 1, + TDMA_MEAS_SET_AUTO, +}; + /* obtain an average over the last 'num' fields in the meas reps */ int get_meas_rep_avg(const struct gsm_lchan *lchan, - enum meas_rep_field field, unsigned int num); + enum tdma_meas_field field, enum tdma_meas_dir dir, enum tdma_meas_set set, + unsigned int num); /* Check if N out of M last values for FIELD are >= bd */ int meas_rep_n_out_of_m_be(const struct gsm_lchan *lchan, - enum meas_rep_field field, - unsigned int n, unsigned int m, int be); + enum tdma_meas_field field, enum tdma_meas_dir dir, enum tdma_meas_set set, + unsigned int n, unsigned int m, int be); unsigned int calc_initial_idx(unsigned int array_size, unsigned int meas_rep_idx, diff --git a/src/osmo-bsc/handover_decision.c b/src/osmo-bsc/handover_decision.c index 1eeb277..220fa1c 100644 --- a/src/osmo-bsc/handover_decision.c +++ b/src/osmo-bsc/handover_decision.c @@ -214,7 +214,7 @@ static void on_measurement_report(struct gsm_meas_rep *mr) { struct gsm_bts *bts = mr->lchan->ts->trx->bts; - enum meas_rep_field dlev, dqual; + enum tdma_meas_set meas_set; int av_rxlev; unsigned int pwr_interval; @@ -231,24 +231,18 @@ return; } - if (mr->flags & MEAS_REP_F_DL_DTX) { - dlev = MEAS_REP_DL_RXLEV_SUB; - dqual = MEAS_REP_DL_RXQUAL_SUB; - } else { - dlev = MEAS_REP_DL_RXLEV_FULL; - dqual = MEAS_REP_DL_RXQUAL_FULL; - } + meas_set = (mr->flags & MEAS_REP_F_DL_DTX) ? TDMA_MEAS_SET_SUB : TDMA_MEAS_SET_FULL; /* parse actual neighbor cell info */ if (mr->num_cell > 0 && mr->num_cell < 7) process_meas_neigh(mr); - av_rxlev = get_meas_rep_avg(mr->lchan, dlev, + av_rxlev = get_meas_rep_avg(mr->lchan, TDMA_MEAS_FIELD_RXLEV, TDMA_MEAS_DIR_DL, meas_set, ho_get_hodec1_rxlev_avg_win(bts->ho)); /* Interference HO */ if (rxlev2dbm(av_rxlev) > -85 && - meas_rep_n_out_of_m_be(mr->lchan, dqual, 3, 4, 5)) { + meas_rep_n_out_of_m_be(mr->lchan, TDMA_MEAS_FIELD_RXQUAL, TDMA_MEAS_DIR_DL, meas_set, 3, 4, 5)) { LOGPC(DHO, LOGL_INFO, "HO cause: Interference HO av_rxlev=%d dBm\n", rxlev2dbm(av_rxlev)); attempt_handover(mr); @@ -256,7 +250,7 @@ } /* Bad Quality */ - if (meas_rep_n_out_of_m_be(mr->lchan, dqual, 3, 4, 5)) { + if (meas_rep_n_out_of_m_be(mr->lchan, TDMA_MEAS_FIELD_RXQUAL, TDMA_MEAS_DIR_DL, meas_set, 3, 4, 5)) { LOGPC(DHO, LOGL_INFO, "HO cause: Bad Quality av_rxlev=%d dBm\n", rxlev2dbm(av_rxlev)); attempt_handover(mr); return; diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index d778876..67208fe 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -244,18 +244,16 @@ static int current_rxlev(struct gsm_lchan *lchan) { struct gsm_bts *bts = lchan->ts->trx->bts; - return get_meas_rep_avg(lchan, - ho_get_hodec2_full_tdma(bts->ho) ? - MEAS_REP_DL_RXLEV_FULL : MEAS_REP_DL_RXLEV_SUB, + return get_meas_rep_avg(lchan, TDMA_MEAS_FIELD_RXLEV, TDMA_MEAS_DIR_DL, + ho_get_hodec2_full_tdma(bts->ho) ? TDMA_MEAS_SET_FULL : TDMA_MEAS_SET_SUB, ho_get_hodec2_rxlev_avg_win(bts->ho)); } static int current_rxqual(struct gsm_lchan *lchan) { struct gsm_bts *bts = lchan->ts->trx->bts; - return get_meas_rep_avg(lchan, - ho_get_hodec2_full_tdma(bts->ho) ? - MEAS_REP_DL_RXQUAL_FULL : MEAS_REP_DL_RXQUAL_SUB, + return get_meas_rep_avg(lchan, TDMA_MEAS_FIELD_RXQUAL, TDMA_MEAS_DIR_DL, + ho_get_hodec2_full_tdma(bts->ho) ? TDMA_MEAS_SET_FULL : TDMA_MEAS_SET_SUB, ho_get_hodec2_rxqual_avg_win(bts->ho)); } diff --git a/src/osmo-bsc/meas_rep.c b/src/osmo-bsc/meas_rep.c index 32c689d..97c30ac 100644 --- a/src/osmo-bsc/meas_rep.c +++ b/src/osmo-bsc/meas_rep.c @@ -80,9 +80,47 @@ return idx; } -/* obtain an average over the last 'num' fields in the meas reps */ +static inline enum meas_rep_field choose_meas_rep_field(enum tdma_meas_field field, enum tdma_meas_dir dir, + enum tdma_meas_set set) +{ + osmo_static_assert(TDMA_MEAS_FIELD_RXLEV >= 0 && TDMA_MEAS_FIELD_RXLEV <= 1 + && TDMA_MEAS_FIELD_RXQUAL >= 0 && TDMA_MEAS_FIELD_RXQUAL <= 1 + && TDMA_MEAS_DIR_UL >= 0 && TDMA_MEAS_DIR_UL <= 1 + && TDMA_MEAS_DIR_DL >= 0 && TDMA_MEAS_DIR_DL <= 1 + && TDMA_MEAS_SET_FULL >= 0 && TDMA_MEAS_SET_FULL <= 1 + && TDMA_MEAS_SET_SUB >= 0 && TDMA_MEAS_SET_SUB <= 1, + choose_meas_rep_field__mux_macro_input_ranges); +#define MUX(FIELD, DIR, SET) ((FIELD) + ((DIR) << 1) + ((SET) << 2)) + + switch (MUX(field, dir, set)) { + case MUX(TDMA_MEAS_FIELD_RXLEV, TDMA_MEAS_DIR_UL, TDMA_MEAS_SET_FULL): + return MEAS_REP_UL_RXLEV_FULL; + case MUX(TDMA_MEAS_FIELD_RXLEV, TDMA_MEAS_DIR_UL, TDMA_MEAS_SET_SUB): + return MEAS_REP_UL_RXLEV_SUB; + case MUX(TDMA_MEAS_FIELD_RXLEV, TDMA_MEAS_DIR_DL, TDMA_MEAS_SET_FULL): + return MEAS_REP_DL_RXLEV_FULL; + case MUX(TDMA_MEAS_FIELD_RXLEV, TDMA_MEAS_DIR_DL, TDMA_MEAS_SET_SUB): + return MEAS_REP_DL_RXLEV_SUB; + case MUX(TDMA_MEAS_FIELD_RXQUAL, TDMA_MEAS_DIR_UL, TDMA_MEAS_SET_FULL): + return MEAS_REP_UL_RXQUAL_FULL; + case MUX(TDMA_MEAS_FIELD_RXQUAL, TDMA_MEAS_DIR_UL, TDMA_MEAS_SET_SUB): + return MEAS_REP_UL_RXQUAL_SUB; + case MUX(TDMA_MEAS_FIELD_RXQUAL, TDMA_MEAS_DIR_DL, TDMA_MEAS_SET_FULL): + return MEAS_REP_DL_RXQUAL_FULL; + case MUX(TDMA_MEAS_FIELD_RXQUAL, TDMA_MEAS_DIR_DL, TDMA_MEAS_SET_SUB): + return MEAS_REP_DL_RXQUAL_SUB; + default: + OSMO_ASSERT(false); + } + +#undef MUX +} + +/* obtain an average over the last 'num' fields in the meas reps. For 'field', pass either DL_RXLEV or DL_RXQUAL, and + * by tdma_meas_set, choose between full, subset or automatic choice of set. */ int get_meas_rep_avg(const struct gsm_lchan *lchan, - enum meas_rep_field field, unsigned int num) + enum tdma_meas_field field, enum tdma_meas_dir dir, enum tdma_meas_set set, + unsigned int num) { unsigned int i, idx; int avg = 0, valid_num = 0; @@ -98,7 +136,11 @@ for (i = 0; i < num; i++) { int j = (idx+i) % ARRAY_SIZE(lchan->meas_rep); - int val = get_field(&lchan->meas_rep[j], field); + enum meas_rep_field use_field; + int val; + + use_field = choose_meas_rep_field(field, dir, set); + val = get_field(&lchan->meas_rep[j], use_field); if (val >= 0) { avg += val; @@ -114,8 +156,8 @@ /* Check if N out of M last values for FIELD are >= bd */ int meas_rep_n_out_of_m_be(const struct gsm_lchan *lchan, - enum meas_rep_field field, - unsigned int n, unsigned int m, int be) + enum tdma_meas_field field, enum tdma_meas_dir dir, enum tdma_meas_set set, + unsigned int n, unsigned int m, int be) { unsigned int i, idx; int count = 0; @@ -125,7 +167,11 @@ for (i = 0; i < m; i++) { int j = (idx + i) % ARRAY_SIZE(lchan->meas_rep); - int val = get_field(&lchan->meas_rep[j], field); + enum meas_rep_field use_field; + int val; + + use_field = choose_meas_rep_field(field, dir, set); + val = get_field(&lchan->meas_rep[j], use_field); if (val >= be) /* implies that val < 0 will not count */ count++; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24850 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I283e03126a6bc1f5f1b35f9801e841053edd2947 Gerrit-Change-Number: 24850 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 11:51:41 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 9 Jul 2021 11:51:41 +0000 Subject: Change in osmo-bsc[master]: hodec2: [2/2] implement automatic choice between FULL and SUBSET meas... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24851 ) Change subject: hodec2: [2/2] implement automatic choice between FULL and SUBSET measurements ...................................................................... hodec2: [2/2] implement automatic choice between FULL and SUBSET measurements Add TDMA_MEAS_SET_AUTO to indicate automatic choice between FULL and SUBSET measurements depending on DTX. So far use only in hodec2. TDMA_MEAS_SET_AUTO looks at each individual measurement report's DTX flag and for each report chooses FULL if DTX is not used, or SUB if DTX is used. The default setting for 'handover2 tdma-measurement' is still 'subset'. To use the automatic choice, users need configure handover2 tdma-measurement auto Change-Id: I67dce55ccf892c8679272ee5dfedc25620f0f725 --- M include/osmocom/bsc/handover_cfg.h M include/osmocom/bsc/meas_rep.h M src/osmo-bsc/handover_decision_2.c M src/osmo-bsc/meas_rep.c M tests/bsc/Makefile.am M tests/handover_cfg.vty 6 files changed, 33 insertions(+), 22 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/bsc/handover_cfg.h b/include/osmocom/bsc/handover_cfg.h index 6e003af..551ce8d 100644 --- a/include/osmocom/bsc/handover_cfg.h +++ b/include/osmocom/bsc/handover_cfg.h @@ -38,18 +38,6 @@ return arg? 1 : 0; } -static inline bool a2tdma(const char *arg) -{ - if (!strcmp(arg, "full")) - return true; - return false; -} - -static inline const char *tdma2a(bool val) -{ - return val? "full" : "subset"; -} - /* The HO_CFG_ONE_MEMBER macro gets redefined, depending on whether to define struct members, * function declarations or definitions... It is of the format * HO_CFG_ONE_MEMBER(TYPE, NAME, DEFAULT_VAL, @@ -188,10 +176,13 @@ "Disable in-call assignment\n" \ "Enable in-call assignment\n") \ \ - HO_CFG_ONE_MEMBER(bool, hodec2_full_tdma, subset, \ - "handover2 ", "tdma-measurement", "full|subset", a2tdma, "%s", tdma2a, \ + HO_CFG_ONE_MEMBER(enum tdma_meas_set, hodec2_tdma_meas_set, subset, \ + "handover2 ", "tdma-measurement", "auto|full|subset", \ + tdma_meas_set_from_str, "%s", tdma_meas_set_name, \ HO_CFG_STR_HANDOVER2 \ "Define measurement set of TDMA frames\n" \ + "Use full set when DTX is not in use, use subset when DTX is in use," \ + " as indicated by each Measurement Report\n" \ "Full set of 102/104 TDMA frames\n" \ "Sub set of 4 TDMA frames (SACCH)\n") \ \ diff --git a/include/osmocom/bsc/meas_rep.h b/include/osmocom/bsc/meas_rep.h index 5cfeb98..402a888 100644 --- a/include/osmocom/bsc/meas_rep.h +++ b/include/osmocom/bsc/meas_rep.h @@ -68,6 +68,12 @@ TDMA_MEAS_SET_AUTO, }; +extern const struct value_string tdma_meas_set_names[]; +static inline const char *tdma_meas_set_name(enum tdma_meas_set val) +{ return get_value_string(tdma_meas_set_names, val); } +static inline enum tdma_meas_set tdma_meas_set_from_str(const char *name) +{ return get_string_value(tdma_meas_set_names, name); } + /* obtain an average over the last 'num' fields in the meas reps */ int get_meas_rep_avg(const struct gsm_lchan *lchan, enum tdma_meas_field field, enum tdma_meas_dir dir, enum tdma_meas_set set, diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index 67208fe..3fa1084 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -244,16 +244,14 @@ static int current_rxlev(struct gsm_lchan *lchan) { struct gsm_bts *bts = lchan->ts->trx->bts; - return get_meas_rep_avg(lchan, TDMA_MEAS_FIELD_RXLEV, TDMA_MEAS_DIR_DL, - ho_get_hodec2_full_tdma(bts->ho) ? TDMA_MEAS_SET_FULL : TDMA_MEAS_SET_SUB, + return get_meas_rep_avg(lchan, TDMA_MEAS_FIELD_RXLEV, TDMA_MEAS_DIR_DL, ho_get_hodec2_tdma_meas_set(bts->ho), ho_get_hodec2_rxlev_avg_win(bts->ho)); } static int current_rxqual(struct gsm_lchan *lchan) { struct gsm_bts *bts = lchan->ts->trx->bts; - return get_meas_rep_avg(lchan, TDMA_MEAS_FIELD_RXQUAL, TDMA_MEAS_DIR_DL, - ho_get_hodec2_full_tdma(bts->ho) ? TDMA_MEAS_SET_FULL : TDMA_MEAS_SET_SUB, + return get_meas_rep_avg(lchan, TDMA_MEAS_FIELD_RXQUAL, TDMA_MEAS_DIR_DL, ho_get_hodec2_tdma_meas_set(bts->ho), ho_get_hodec2_rxqual_avg_win(bts->ho)); } diff --git a/src/osmo-bsc/meas_rep.c b/src/osmo-bsc/meas_rep.c index 97c30ac..776c610 100644 --- a/src/osmo-bsc/meas_rep.c +++ b/src/osmo-bsc/meas_rep.c @@ -81,8 +81,14 @@ } static inline enum meas_rep_field choose_meas_rep_field(enum tdma_meas_field field, enum tdma_meas_dir dir, - enum tdma_meas_set set) + enum tdma_meas_set set, const struct gsm_meas_rep *meas_rep) { + if (set == TDMA_MEAS_SET_AUTO) { + bool dtx_in_use; + dtx_in_use = (meas_rep->flags & ((dir == TDMA_MEAS_DIR_UL) ? MEAS_REP_F_UL_DTX : MEAS_REP_F_DL_DTX)); + set = (dtx_in_use ? TDMA_MEAS_SET_SUB : TDMA_MEAS_SET_FULL); + } + osmo_static_assert(TDMA_MEAS_FIELD_RXLEV >= 0 && TDMA_MEAS_FIELD_RXLEV <= 1 && TDMA_MEAS_FIELD_RXQUAL >= 0 && TDMA_MEAS_FIELD_RXQUAL <= 1 && TDMA_MEAS_DIR_UL >= 0 && TDMA_MEAS_DIR_UL <= 1 @@ -139,7 +145,7 @@ enum meas_rep_field use_field; int val; - use_field = choose_meas_rep_field(field, dir, set); + use_field = choose_meas_rep_field(field, dir, set, &lchan->meas_rep[j]); val = get_field(&lchan->meas_rep[j], use_field); if (val >= 0) { @@ -170,7 +176,7 @@ enum meas_rep_field use_field; int val; - use_field = choose_meas_rep_field(field, dir, set); + use_field = choose_meas_rep_field(field, dir, set, &lchan->meas_rep[j]); val = get_field(&lchan->meas_rep[j], use_field); if (val >= be) /* implies that val < 0 will not count */ @@ -182,3 +188,10 @@ return 0; } + +const struct value_string tdma_meas_set_names[] = { + { TDMA_MEAS_SET_FULL, "full" }, + { TDMA_MEAS_SET_SUB, "subset" }, + { TDMA_MEAS_SET_AUTO, "auto" }, + {} +}; diff --git a/tests/bsc/Makefile.am b/tests/bsc/Makefile.am index a0bbb81..2f66778 100644 --- a/tests/bsc/Makefile.am +++ b/tests/bsc/Makefile.am @@ -46,6 +46,7 @@ $(top_builddir)/src/osmo-bsc/gsm_data.o \ $(top_builddir)/src/osmo-bsc/handover_cfg.o \ $(top_builddir)/src/osmo-bsc/handover_logic.o \ + $(top_builddir)/src/osmo-bsc/meas_rep.o \ $(top_builddir)/src/osmo-bsc/neighbor_ident.o \ $(top_builddir)/src/osmo-bsc/net_init.o \ $(top_builddir)/src/osmo-bsc/nm_common_fsm.o \ diff --git a/tests/handover_cfg.vty b/tests/handover_cfg.vty index 4bafd72..ccb1a6b 100644 --- a/tests/handover_cfg.vty +++ b/tests/handover_cfg.vty @@ -178,7 +178,7 @@ handover2 power budget hysteresis (<0-999>|default) handover2 maximum distance (<0-9999>|default) handover2 assignment (0|1|default) - handover2 tdma-measurement (full|subset|default) + handover2 tdma-measurement (auto|full|subset|default) handover2 min rxlev (<-110--50>|default) handover2 min rxqual (<0-7>|default) handover2 afs-bias rxlev (<0-20>|default) @@ -335,6 +335,7 @@ default Use default (0), remove explicit setting on this node OsmoBSC(config-net)# handover2 tdma-measurement ? + auto Use full set when DTX is not in use, use subset when DTX is in use, as indicated by each Measurement Report full Full set of 102/104 TDMA frames subset Sub set of 4 TDMA frames (SACCH) default Use default (subset), remove explicit setting on this node @@ -553,6 +554,7 @@ default Use default (0), remove explicit setting on this node OsmoBSC(config-net-bts)# handover2 tdma-measurement ? + auto Use full set when DTX is not in use, use subset when DTX is in use, as indicated by each Measurement Report full Full set of 102/104 TDMA frames subset Sub set of 4 TDMA frames (SACCH) default Use default (subset), remove explicit setting on this node -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24851 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I67dce55ccf892c8679272ee5dfedc25620f0f725 Gerrit-Change-Number: 24851 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 11:51:41 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 9 Jul 2021 11:51:41 +0000 Subject: Change in osmo-bsc[master]: hodec1: use same automatic FULL/SUBSET choice as in hodec2 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24852 ) Change subject: hodec1: use same automatic FULL/SUBSET choice as in hodec2 ...................................................................... hodec1: use same automatic FULL/SUBSET choice as in hodec2 So far handover decision 1 uses the FULL or SUBSET TDMA measurements across all measurement reports, depending on whether the last measurement report indicates that DTX is in use or not. Handover decision 2 since recently uses TDMA_MEAS_SET_AUTO to choose for each individual measurement report whether to use the FULL or the SUBSET value, depending on each single report's DTX use flag. Also switch handover decision 1 to heed every single report's DTX flag, by simply using TDMA_MEAS_SET_AUTO, replacing the current decision. Change-Id: Iebe980254b8c4a53ef9e7d720e417dc67077eff7 --- M src/osmo-bsc/handover_decision.c 1 file changed, 3 insertions(+), 6 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/handover_decision.c b/src/osmo-bsc/handover_decision.c index 220fa1c..2fb466c 100644 --- a/src/osmo-bsc/handover_decision.c +++ b/src/osmo-bsc/handover_decision.c @@ -214,7 +214,6 @@ static void on_measurement_report(struct gsm_meas_rep *mr) { struct gsm_bts *bts = mr->lchan->ts->trx->bts; - enum tdma_meas_set meas_set; int av_rxlev; unsigned int pwr_interval; @@ -231,18 +230,16 @@ return; } - meas_set = (mr->flags & MEAS_REP_F_DL_DTX) ? TDMA_MEAS_SET_SUB : TDMA_MEAS_SET_FULL; - /* parse actual neighbor cell info */ if (mr->num_cell > 0 && mr->num_cell < 7) process_meas_neigh(mr); - av_rxlev = get_meas_rep_avg(mr->lchan, TDMA_MEAS_FIELD_RXLEV, TDMA_MEAS_DIR_DL, meas_set, + av_rxlev = get_meas_rep_avg(mr->lchan, TDMA_MEAS_FIELD_RXLEV, TDMA_MEAS_DIR_DL, TDMA_MEAS_SET_AUTO, ho_get_hodec1_rxlev_avg_win(bts->ho)); /* Interference HO */ if (rxlev2dbm(av_rxlev) > -85 && - meas_rep_n_out_of_m_be(mr->lchan, TDMA_MEAS_FIELD_RXQUAL, TDMA_MEAS_DIR_DL, meas_set, 3, 4, 5)) { + meas_rep_n_out_of_m_be(mr->lchan, TDMA_MEAS_FIELD_RXQUAL, TDMA_MEAS_DIR_DL, TDMA_MEAS_SET_AUTO, 3, 4, 5)) { LOGPC(DHO, LOGL_INFO, "HO cause: Interference HO av_rxlev=%d dBm\n", rxlev2dbm(av_rxlev)); attempt_handover(mr); @@ -250,7 +247,7 @@ } /* Bad Quality */ - if (meas_rep_n_out_of_m_be(mr->lchan, TDMA_MEAS_FIELD_RXQUAL, TDMA_MEAS_DIR_DL, meas_set, 3, 4, 5)) { + if (meas_rep_n_out_of_m_be(mr->lchan, TDMA_MEAS_FIELD_RXQUAL, TDMA_MEAS_DIR_DL, TDMA_MEAS_SET_AUTO, 3, 4, 5)) { LOGPC(DHO, LOGL_INFO, "HO cause: Bad Quality av_rxlev=%d dBm\n", rxlev2dbm(av_rxlev)); attempt_handover(mr); return; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24852 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iebe980254b8c4a53ef9e7d720e417dc67077eff7 Gerrit-Change-Number: 24852 Gerrit-PatchSet: 6 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 Jul 9 11:52:02 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 9 Jul 2021 11:52:02 +0000 Subject: Change in osmo-mgw[master]: check_rtp_destin(): clarify log msg In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24880 ) Change subject: check_rtp_destin(): clarify log msg ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24880 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Icd1f22a9f4147a2758c2f068ecba46cf7f732604 Gerrit-Change-Number: 24880 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 09 Jul 2021 11:52: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 Jul 9 11:52:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 9 Jul 2021 11:52:04 +0000 Subject: Change in osmo-mgw[master]: check_rtp_destin(): clarify log msg In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24880 ) Change subject: check_rtp_destin(): clarify log msg ...................................................................... check_rtp_destin(): clarify log msg The braces as put before this patch would read as {"is known", "is not yet known"}, which is confusing the actual situation. Change-Id: Icd1f22a9f4147a2758c2f068ecba46cf7f732604 --- M src/libosmo-mgcp/mgcp_network.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/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index 82dc6ec..cb82137 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -901,7 +901,7 @@ * and IP-address for outgoing data. */ if (ip_is_any && conn->end.rtp_port == 0) { LOGPCONN(conn->conn, DRTP, LOGL_DEBUG, - "destination IP-address and rtp port is (not yet) known (%s:%u)\n", + "destination IP-address and rtp port is not (yet) known (%s:%u)\n", osmo_sockaddr_ntop(&conn->end.addr.u.sa, ipbuf), conn->end.rtp_port); return -1; } -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24880 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Icd1f22a9f4147a2758c2f068ecba46cf7f732604 Gerrit-Change-Number: 24880 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 11:52:14 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 9 Jul 2021 11:52:14 +0000 Subject: Change in libosmocore[master]: fix api doc of osmo_identifier_sanitize_buf() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24881 ) Change subject: fix api doc of osmo_identifier_sanitize_buf() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24881 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia842a7eeb46b49ee364be55c1194e463ebcaf392 Gerrit-Change-Number: 24881 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 09 Jul 2021 11:52: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 Jul 9 11:52:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 9 Jul 2021 11:52:17 +0000 Subject: Change in libosmocore[master]: fix api doc of osmo_identifier_sanitize_buf() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24881 ) Change subject: fix api doc of osmo_identifier_sanitize_buf() ...................................................................... fix api doc of osmo_identifier_sanitize_buf() The implementation cleary replaces sep_chars instead of keeping them. Adjust the doc to clarify that. It seems to me that the intention was to *allow* sep_chars instead of replacing them, especially when looking at sep_chars of osmo_separated_identifiers_valid(). But we're stuck with that now. Change-Id: Ia842a7eeb46b49ee364be55c1194e463ebcaf392 --- M src/utils.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/utils.c b/src/utils.c index f5896c4..721c34a 100644 --- a/src/utils.c +++ b/src/utils.c @@ -687,7 +687,7 @@ * To guarantee passing osmo_separated_identifiers_valid(), replace_with must not itself be an illegal character. If in * doubt, use '-'. * \param[inout] str Identifier to sanitize, must be nul terminated and in a writable buffer. - * \param[in] sep_chars Additional characters that are allowed besides osmo_identifier_illegal_chars. + * \param[in] sep_chars Additional characters that are to be replaced besides osmo_identifier_illegal_chars. * \param[in] replace_with Replace any illegal characters with this character. */ void osmo_identifier_sanitize_buf(char *str, const char *sep_chars, char replace_with) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24881 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia842a7eeb46b49ee364be55c1194e463ebcaf392 Gerrit-Change-Number: 24881 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 11:52:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 9 Jul 2021 11:52:51 +0000 Subject: Change in simtrace2[master]: 99-simtrace2.rules: Add OCTSIMTEST In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24877 ) Change subject: 99-simtrace2.rules: Add OCTSIMTEST ...................................................................... 99-simtrace2.rules: Add OCTSIMTEST Change-Id: I226ee21e0937f851428578578f81075fa703dd54 --- M host/contrib/99-simtrace2.rules 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/host/contrib/99-simtrace2.rules b/host/contrib/99-simtrace2.rules index 4a8b2ea..b576389 100644 --- a/host/contrib/99-simtrace2.rules +++ b/host/contrib/99-simtrace2.rules @@ -16,6 +16,8 @@ # sysmocom QMOD SAM3 (DFU and runtime) ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="4003", GROUP="plugdev" ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="4004", GROUP="plugdev" +# sysmocom OCTSIMTEST +ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="616d", GROUP="plugdev" # All done LABEL="simtrace2_rules_end" -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24877 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I226ee21e0937f851428578578f81075fa703dd54 Gerrit-Change-Number: 24877 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 Fri Jul 9 11:52:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 9 Jul 2021 11:52:51 +0000 Subject: Change in simtrace2[master]: contrib/flash.py: Add OCTSIMTEST support In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24878 ) Change subject: contrib/flash.py: Add OCTSIMTEST support ...................................................................... contrib/flash.py: Add OCTSIMTEST support Change-Id: Id906d955f45a204ac0b00f56d8f5149c64c62f32 --- M contrib/flash.py 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/contrib/flash.py b/contrib/flash.py index 435d311..21903bb 100755 --- a/contrib/flash.py +++ b/contrib/flash.py @@ -27,7 +27,8 @@ DEVICE_SIMTRACE = Device(usb_vendor_id=0x1d50, usb_product_id=0x60e3, name="SIMtrace 2", url={"trace": "https://ftp.osmocom.org/binaries/simtrace2/firmware/latest/simtrace-trace-dfu-latest.bin", "cardem": "https://osmocom.org/attachments/download/3868/simtrace-cardem-dfu.bin"}) DEVICE_QMOD = Device(usb_vendor_id=0x1d50, usb_product_id=0x4004, name="sysmoQMOD (Quad Modem)", url={"cardem": "https://ftp.osmocom.org/binaries/simtrace2/firmware/latest/qmod-cardem-dfu-latest.bin"}) DEVICE_OWHW = Device(usb_vendor_id=0x1d50, usb_product_id=0x4001, name="OWHW", url={"cardem": "https://ftp.osmocom.org/binaries/simtrace2/firmware/latest/owhw-cardem-dfu-latest.bin"}) -DEVICES = [DEVICE_SIMTRACE, DEVICE_QMOD] +DEVICE_OCTSIMTEST = Device(usb_vendor_id=0x1d50, usb_product_id=0x616d, name="OCTSIMTEST", url={"cardem": "https://ftp.osmocom.org/binaries/simtrace2/firmware/latest/octsimtest-cardem-dfu-latest.bin"}) +DEVICES = [DEVICE_SIMTRACE, DEVICE_QMOD, DEVICE_OCTSIMTEST] # which firmware does the SIMtrace USN interface subclass correspond FIRMWARE_SUBCLASS = {1: "trace", 2: "cardem"} -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24878 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Id906d955f45a204ac0b00f56d8f5149c64c62f32 Gerrit-Change-Number: 24878 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 Fri Jul 9 11:58:16 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 9 Jul 2021 11:58:16 +0000 Subject: Change in osmo-mgw[master]: mgcp_trunk: drop ws line References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24893 ) Change subject: mgcp_trunk: drop ws line ...................................................................... mgcp_trunk: drop ws line Change-Id: Iac2dfe5643d87066490a77211f01ee9ee3d9fcc7 --- M include/osmocom/mgcp/mgcp_trunk.h 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/93/24893/1 diff --git a/include/osmocom/mgcp/mgcp_trunk.h b/include/osmocom/mgcp/mgcp_trunk.h index ba2c6c4..c62f731 100644 --- a/include/osmocom/mgcp/mgcp_trunk.h +++ b/include/osmocom/mgcp/mgcp_trunk.h @@ -8,7 +8,6 @@ trunk ? trunk->trunk_nr : 0, \ ## args) - enum mgcp_trunk_type { MGCP_TRUNK_VIRTUAL, MGCP_TRUNK_E1, -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24893 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Iac2dfe5643d87066490a77211f01ee9ee3d9fcc7 Gerrit-Change-Number: 24893 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 Jul 9 11:58:16 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 9 Jul 2021 11:58:16 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: drop ws line References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24894 ) Change subject: mgcp_ratectr: drop ws line ...................................................................... mgcp_ratectr: drop ws line Change-Id: Ib0bb231ebf1d941dee85bdea596f07fe26510ce5 --- M include/osmocom/mgcp/mgcp_ratectr.h 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/94/24894/1 diff --git a/include/osmocom/mgcp/mgcp_ratectr.h b/include/osmocom/mgcp/mgcp_ratectr.h index 657e897..84315e0 100644 --- a/include/osmocom/mgcp/mgcp_ratectr.h +++ b/include/osmocom/mgcp/mgcp_ratectr.h @@ -1,6 +1,5 @@ #pragma once - /* Global MCGP general rate counters */ enum { MGCP_GENERAL_RX_MSGS_TOTAL, -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24894 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib0bb231ebf1d941dee85bdea596f07fe26510ce5 Gerrit-Change-Number: 24894 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 Jul 9 11:58:17 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 9 Jul 2021 11:58:17 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: fix sourcecode formatting References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24895 ) Change subject: mgcp_ratectr: fix sourcecode formatting ...................................................................... mgcp_ratectr: fix sourcecode formatting Change-Id: I7460fd4cdf1a552bca1af681faaa9bd8f88f1404 --- M src/libosmo-mgcp/mgcp_ratectr.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/95/24895/1 diff --git a/src/libosmo-mgcp/mgcp_ratectr.c b/src/libosmo-mgcp/mgcp_ratectr.c index 2868062..8f3703f 100644 --- a/src/libosmo-mgcp/mgcp_ratectr.c +++ b/src/libosmo-mgcp/mgcp_ratectr.c @@ -126,9 +126,9 @@ }; static const struct rate_ctr_desc e1_rate_ctr_desc[] = { - [E1_I460_TRAU_RX_FAIL_CTR] = {"e1:rx_fail", "Inbound I.460 TRAU failures."}, - [E1_I460_TRAU_TX_FAIL_CTR] = {"e1:tx_fail", "Outbound I.460 TRAU failures."}, - [E1_I460_TRAU_MUX_EMPTY_CTR] = {"e1:i460", "Outbound I.460 MUX queue empty."} + [E1_I460_TRAU_RX_FAIL_CTR] = { "e1:rx_fail", "Inbound I.460 TRAU failures." }, + [E1_I460_TRAU_TX_FAIL_CTR] = { "e1:tx_fail", "Outbound I.460 TRAU failures." }, + [E1_I460_TRAU_MUX_EMPTY_CTR] = { "e1:i460", "Outbound I.460 MUX queue empty." } }; const static struct rate_ctr_group_desc e1_rate_ctr_group_desc = { -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24895 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7460fd4cdf1a552bca1af681faaa9bd8f88f1404 Gerrit-Change-Number: 24895 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 Jul 9 11:58:51 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 9 Jul 2021 11:58:51 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: add support for wildcarded DLCX In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24823 ) Change subject: mgcp_protocol: add support for wildcarded DLCX ...................................................................... Patch Set 6: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/24823/6/src/libosmo-mgcp/mgcp_protocol.c File src/libosmo-mgcp/mgcp_protocol.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24823/6/src/libosmo-mgcp/mgcp_protocol.c at 1278 PS6, Line 1278: if (!endp->wildcarded_req && !llist_empty(&endp->conns)) { IIUC the condition to look for is llist_empty(&endp->conns), not !llist_empty(&endp->conns), am I correct? -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24823 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I0770cf46d93ab09efe9cafdd56d2e3f1132db189 Gerrit-Change-Number: 24823 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Fri, 09 Jul 2021 11:58:51 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 12:06:24 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 9 Jul 2021 12:06:24 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: add support for wildcarded DLCX In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24823 ) Change subject: mgcp_protocol: add support for wildcarded DLCX ...................................................................... Patch Set 6: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/24823/6/src/libosmo-mgcp/mgcp_protocol.c File src/libosmo-mgcp/mgcp_protocol.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24823/6/src/libosmo-mgcp/mgcp_protocol.c at 1278 PS6, Line 1278: if (!endp->wildcarded_req && !llist_empty(&endp->conns)) { > IIUC the condition to look for is llist_empty(&endp->conns), not !llist_empty(&endp->conns), am I co [?] Yes, llist_empty(&endp->conns) is correct. Thanks. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24823 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I0770cf46d93ab09efe9cafdd56d2e3f1132db189 Gerrit-Change-Number: 24823 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Fri, 09 Jul 2021 12:06:24 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 13:14:14 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 9 Jul 2021 13:14:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc/MSC_ConnectionHandler: fix typo References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24896 ) Change subject: bsc/MSC_ConnectionHandler: fix typo ...................................................................... bsc/MSC_ConnectionHandler: fix typo f_chipher_mode_bssmap_to_rsl => f_cipher_mode_bssmap_to_rsl Change-Id: If874a3fa6f42de4f5f484e597de028715cd08043 --- M bsc/BSC_Tests.ttcn M bsc/MSC_ConnectionHandler.ttcn 2 files changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/96/24896/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 6b079a6..b85aa63 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -1520,7 +1520,7 @@ encryptionInformation := valueof(ts_BSSMAP_IE_EncrInfo(v_enc.enc_key, v_enc.enc_alg)); chosenEncryptionAlgorithm := valueof( ts_BSSMAP_IE_ChosenEncryptionAlgorithm(int2oct(enum2int( - f_chipher_mode_bssmap_to_rsl(v_enc.enc_alg)), 1))); + f_cipher_mode_bssmap_to_rsl(v_enc.enc_alg)), 1))); if (ispresent(v_enc.enc_kc128)) { kc128 := ts_BSSMAP_IE_Kc128(v_enc.enc_kc128); } diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index 3e2e4f7..94ec2b9 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -673,8 +673,8 @@ f_rsl_send_l3(l3, link_id, chan_nr); } -/* Convert the chipher representation on BSSMAP to the representation used on RSL */ -function f_chipher_mode_bssmap_to_rsl(OCT1 alg_bssmap) return RSL_AlgId +/* Convert the cipher representation on BSSMAP to the representation used on RSL */ +function f_cipher_mode_bssmap_to_rsl(OCT1 alg_bssmap) return RSL_AlgId { /* A5 0 */ if (alg_bssmap == '01'O) { @@ -731,7 +731,7 @@ /* RSL uses a different representation of the encryption algorithm, * so we need to convert first */ - alg_rsl := f_chipher_mode_bssmap_to_rsl(g_pars.encr.enc_alg); + alg_rsl := f_cipher_mode_bssmap_to_rsl(g_pars.encr.enc_alg); if (alg_rsl == RSL_ALG_ID_A5_4 and ispresent(g_pars.encr.enc_kc128)) { expect_kc := g_pars.encr.enc_kc128; @@ -797,7 +797,7 @@ Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Unexpected Cipher Mode Complete"); } else { setverdict(pass); - var RSL_AlgId alg_rsl := f_chipher_mode_bssmap_to_rsl(g_pars.encr.enc_alg); + var RSL_AlgId alg_rsl := f_cipher_mode_bssmap_to_rsl(g_pars.encr.enc_alg); if (oct2int(bssap.pdu.bssmap.cipherModeComplete.chosenEncryptionAlgorithm.algorithmIdentifier) != enum2int(alg_rsl)) { setverdict(fail, "Unexpected Encryption Algorithm ID in BSSMAP Cipher Mode Complete"); } @@ -897,7 +897,7 @@ if (not f_rsl_find_ie(chan_act, RSL_IE_ENCR_INFO, encr_info)) { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Missing Encryption IE in CHAN ACT"); } else { - var RSL_AlgId alg := f_chipher_mode_bssmap_to_rsl(g_pars.encr.enc_alg); + var RSL_AlgId alg := f_cipher_mode_bssmap_to_rsl(g_pars.encr.enc_alg); var octetstring expect_key; if (alg == RSL_ALG_ID_A5_4) { expect_key := g_pars.encr.enc_kc128; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24896 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If874a3fa6f42de4f5f484e597de028715cd08043 Gerrit-Change-Number: 24896 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 Jul 9 13:14:15 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 9 Jul 2021 13:14:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: change encryption a5 via VTY where needed References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24897 ) Change subject: bsc: change encryption a5 via VTY where needed ...................................................................... bsc: change encryption a5 via VTY where needed Do not assume that osmo-bsc.cfg contains "0 1 3 4" for master and "0 1 3" for latest anymore. An upcoming test will need to change the value as the test runs and needs a defined value to reset to. Assume that osmo-bsc.cfg contains "0 1 3" and change it to "0 1 3 4" only for TC_ciph_mode_a5_4. Related: OS#4975 Related: docker-playground I55135ca00ef51de5cf6eaec75cfc20c21beef665 Change-Id: I3cf36c6ef86a0db050507f3737f4b0c10dcd52ed --- M bsc/BSC_Tests.ttcn M bsc/osmo-bsc.cfg 2 files changed, 16 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/97/24897/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index b85aa63..6bea49e 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -3304,6 +3304,19 @@ fn.apply(id); } +private function f_vty_encryption_a5(charstring options) runs on test_CT { + f_vty_transceive(BSCVTY, "configure terminal"); + f_vty_transceive(BSCVTY, "network"); + f_vty_transceive(BSCVTY, "encryption a5 " & options); + f_vty_transceive(BSCVTY, "exit"); + f_vty_transceive(BSCVTY, "exit"); +} + +private function f_vty_encryption_a5_reset() runs on test_CT { + /* keep in sync with docker-playground.git ttcn3-bsc-test/osmo-bsc.cfg */ + f_vty_encryption_a5("0 1 3"); +} + /* Establish signalling channel (non-assignment case) followed by cipher mode */ private function f_tc_ciph_mode_a5(charstring id) runs on MSC_ConnHdlr { var template PDU_BSSAP exp_compl := f_gen_exp_compl(); @@ -3356,9 +3369,11 @@ pars.encr := valueof(t_EncrParams('10'O, f_rnd_octstring(8), f_rnd_octstring(16))); f_init(1, true); + f_vty_encryption_a5("0 1 3 4"); f_sleep(1.0); vc_conn := f_start_handler(refers(f_tc_ciph_mode_a5), pars); vc_conn.done; + f_vty_encryption_a5_reset(); f_shutdown_helper(); } /* establish initial channel, enable ciphering followed by assignment to ciphered channel */ diff --git a/bsc/osmo-bsc.cfg b/bsc/osmo-bsc.cfg index 7b0fa2a..b64a63d 100644 --- a/bsc/osmo-bsc.cfg +++ b/bsc/osmo-bsc.cfg @@ -69,7 +69,7 @@ network network country code 1 mobile network code 1 - encryption a5 0 1 3 4 + encryption a5 0 1 3 neci 1 paging any use tch 0 handover 1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24897 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3cf36c6ef86a0db050507f3737f4b0c10dcd52ed Gerrit-Change-Number: 24897 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 Jul 9 13:14:15 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 9 Jul 2021 13:14:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_ciph_mode_a5_2_1 References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24898 ) Change subject: bsc: add TC_ciph_mode_a5_2_1 ...................................................................... bsc: add TC_ciph_mode_a5_2_1 Verify that A5/1 is preferred over A5/2. Add encr_exp_enc_alg to MSC_ConnectionHandler:TestHdlrEncrParams, so the expected encryption algorithm can be different from what the MSC tells the BSC about the capabilities of MS. Related: OS#4975 Change-Id: I688d056bcfe73f7846f908a28f4621f944cf2178 --- M bsc/BSC_Tests.ttcn M bsc/MSC_ConnectionHandler.ttcn M bsc/expected-results.xml 3 files changed, 36 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/98/24898/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 6bea49e..dac86ca 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -3351,6 +3351,22 @@ vc_conn.done; f_shutdown_helper(); } +/* OS#4975: verify that A5/1 is preferred over A5/2 */ +testcase TC_ciph_mode_a5_2_1() runs on test_CT { + var MSC_ConnHdlr vc_conn; + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + + pars.encr := valueof(t_EncrParams('06'O, f_rnd_octstring(8))); /* A5/1 and A5/2 (0x02|0x04)*/ + pars.encr_exp_enc_alg := '02'O; /* A5/1 */ + + f_init(1, true); + f_vty_encryption_a5("1 2"); + f_sleep(1.0); + vc_conn := f_start_handler(refers(f_tc_ciph_mode_a5), pars); + vc_conn.done; + f_vty_encryption_a5_reset(); + f_shutdown_helper(); +} testcase TC_ciph_mode_a5_3() runs on test_CT { var MSC_ConnHdlr vc_conn; var TestHdlrParams pars := f_gen_test_hdlr_pars(); @@ -9228,6 +9244,7 @@ execute( TC_assignment_fr_a5_not_sup() ); execute( TC_ciph_mode_a5_0() ); execute( TC_ciph_mode_a5_1() ); + execute( TC_ciph_mode_a5_2_1() ); execute( TC_ciph_mode_a5_3() ); execute( TC_ciph_mode_a5_4() ); diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index 94ec2b9..fc12307 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -581,6 +581,7 @@ RSL_IE_Body expect_mr_conf_ie optional, /* typically present for AMR codecs */ bitstring expect_mr_s0_s7 optional, /* typically present for AMR codecs */ TestHdlrEncrParams encr optional, + OCT1 encr_exp_enc_alg optional, /* if set, expect a different enc_alg than encr.enc_alg */ TestHdlrParamsLcls lcls, SCCP_PAR_Address sccp_addr_msc optional, SCCP_PAR_Address sccp_addr_bsc optional, @@ -610,6 +611,7 @@ expect_mr_conf_ie := omit, expect_mr_s0_s7 := omit, encr := omit, + encr_exp_enc_alg := omit, lcls := { gcr := omit, cfg := omit, @@ -713,6 +715,19 @@ } } +function f_cipher_mode_bssmap_to_rsl_exp_enc_alg() runs on MSC_ConnHdlr return RSL_AlgId +{ + var OCT1 enc_alg; + + if (ispresent(g_pars.encr_exp_enc_alg)) { + enc_alg := g_pars.encr_exp_enc_alg; + } else { + enc_alg := g_pars.encr.enc_alg; + } + + return f_cipher_mode_bssmap_to_rsl(enc_alg); +} + function f_verify_encr_info(RSL_Message rsl) runs on MSC_ConnHdlr { var RSL_IE_Body encr_info; var RSL_AlgId alg_rsl; @@ -731,7 +746,7 @@ /* RSL uses a different representation of the encryption algorithm, * so we need to convert first */ - alg_rsl := f_cipher_mode_bssmap_to_rsl(g_pars.encr.enc_alg); + alg_rsl := f_cipher_mode_bssmap_to_rsl_exp_enc_alg(); if (alg_rsl == RSL_ALG_ID_A5_4 and ispresent(g_pars.encr.enc_kc128)) { expect_kc := g_pars.encr.enc_kc128; @@ -797,7 +812,7 @@ Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Unexpected Cipher Mode Complete"); } else { setverdict(pass); - var RSL_AlgId alg_rsl := f_cipher_mode_bssmap_to_rsl(g_pars.encr.enc_alg); + var RSL_AlgId alg_rsl := f_cipher_mode_bssmap_to_rsl_exp_enc_alg(); if (oct2int(bssap.pdu.bssmap.cipherModeComplete.chosenEncryptionAlgorithm.algorithmIdentifier) != enum2int(alg_rsl)) { setverdict(fail, "Unexpected Encryption Algorithm ID in BSSMAP Cipher Mode Complete"); } @@ -897,7 +912,7 @@ if (not f_rsl_find_ie(chan_act, RSL_IE_ENCR_INFO, encr_info)) { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Missing Encryption IE in CHAN ACT"); } else { - var RSL_AlgId alg := f_cipher_mode_bssmap_to_rsl(g_pars.encr.enc_alg); + var RSL_AlgId alg := f_cipher_mode_bssmap_to_rsl_exp_enc_alg(); var octetstring expect_key; if (alg == RSL_ALG_ID_A5_4) { expect_key := g_pars.encr.enc_kc128; diff --git a/bsc/expected-results.xml b/bsc/expected-results.xml index d2052b8..793ca03 100644 --- a/bsc/expected-results.xml +++ b/bsc/expected-results.xml @@ -54,6 +54,7 @@ + -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24898 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I688d056bcfe73f7846f908a28f4621f944cf2178 Gerrit-Change-Number: 24898 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 Jul 9 13:14:15 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 9 Jul 2021 13:14:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_ciph_mode_a5_2_0 References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24899 ) Change subject: bsc: add TC_ciph_mode_a5_2_0 ...................................................................... bsc: add TC_ciph_mode_a5_2_0 Verify that A5/2 is preferred over A5/0. Related: OS#4975 Change-Id: Ia02e9be52ccbe4b24a0bce56305be9f875e7adb1 --- M bsc/BSC_Tests.ttcn M bsc/expected-results.xml 2 files changed, 18 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/99/24899/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index dac86ca..2a89659 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -3351,6 +3351,22 @@ vc_conn.done; f_shutdown_helper(); } +/* OS#4975: verify that A5/2 is preferred over A5/0 */ +testcase TC_ciph_mode_a5_2_0() runs on test_CT { + var MSC_ConnHdlr vc_conn; + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + + pars.encr := valueof(t_EncrParams('05'O, f_rnd_octstring(8))); /* A5/0 and A5/2 (0x01|0x04)*/ + pars.encr_exp_enc_alg := '04'O; /* A5/2 */ + + f_init(1, true); + f_vty_encryption_a5("0 1 2 3"); + f_sleep(1.0); + vc_conn := f_start_handler(refers(f_tc_ciph_mode_a5), pars); + vc_conn.done; + f_vty_encryption_a5_reset(); + f_shutdown_helper(); +} /* OS#4975: verify that A5/1 is preferred over A5/2 */ testcase TC_ciph_mode_a5_2_1() runs on test_CT { var MSC_ConnHdlr vc_conn; @@ -9244,6 +9260,7 @@ execute( TC_assignment_fr_a5_not_sup() ); execute( TC_ciph_mode_a5_0() ); execute( TC_ciph_mode_a5_1() ); + execute( TC_ciph_mode_a5_2_0() ); execute( TC_ciph_mode_a5_2_1() ); execute( TC_ciph_mode_a5_3() ); execute( TC_ciph_mode_a5_4() ); diff --git a/bsc/expected-results.xml b/bsc/expected-results.xml index 793ca03..fd2d4d8 100644 --- a/bsc/expected-results.xml +++ b/bsc/expected-results.xml @@ -54,6 +54,7 @@ + -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24899 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia02e9be52ccbe4b24a0bce56305be9f875e7adb1 Gerrit-Change-Number: 24899 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 Jul 9 13:14:28 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 9 Jul 2021 13:14:28 +0000 Subject: Change in docker-playground[master]: Revert "ttcn3-bsc-test: enable A5/4 support in osmo-bsc.cfg" References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/24900 ) Change subject: Revert "ttcn3-bsc-test: enable A5/4 support in osmo-bsc.cfg" ...................................................................... Revert "ttcn3-bsc-test: enable A5/4 support in osmo-bsc.cfg" The test that needs A5/4 enables it dynamically, and a new test requires a defined value to reset to. This reverts commit 8005014b55f3c7261731fd8f059ff2be1ea02f9c. Related: OS#4975 Depends: osmo-ttcn3-hacks I3cf36c6ef86a0db050507f3737f4b0c10dcd52ed Change-Id: I55135ca00ef51de5cf6eaec75cfc20c21beef665 --- M ttcn3-bsc-test/jenkins-sccplite.sh M ttcn3-bsc-test/jenkins.sh M ttcn3-bsc-test/osmo-bsc.cfg M ttcn3-bsc-test/sccplite/osmo-bsc.cfg 4 files changed, 2 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/00/24900/1 diff --git a/ttcn3-bsc-test/jenkins-sccplite.sh b/ttcn3-bsc-test/jenkins-sccplite.sh index 8c8613a..bc6eaa0 100755 --- a/ttcn3-bsc-test/jenkins-sccplite.sh +++ b/ttcn3-bsc-test/jenkins-sccplite.sh @@ -19,12 +19,6 @@ mkdir $VOL_BASE_DIR/bsc cp sccplite/osmo-bsc.cfg $VOL_BASE_DIR/bsc/ -# Exclude A5/4 for non-master versions of the IUT -if ! image_suffix_is_master; then - sed "s/encryption a5 0 1 3 4/encryption a5 0 1 3/" \ - -i $VOL_BASE_DIR/bsc/osmo-bsc.cfg -fi - SUBNET=12 network_create $SUBNET diff --git a/ttcn3-bsc-test/jenkins.sh b/ttcn3-bsc-test/jenkins.sh index ef910bd..18236a2 100755 --- a/ttcn3-bsc-test/jenkins.sh +++ b/ttcn3-bsc-test/jenkins.sh @@ -22,12 +22,6 @@ mkdir $VOL_BASE_DIR/bts-omldummy -# Exclude A5/4 for non-master versions of the IUT -if ! image_suffix_is_master; then - sed "s/encryption a5 0 1 3 4/encryption a5 0 1 3/" \ - -i $VOL_BASE_DIR/bsc/osmo-bsc.cfg -fi - SUBNET=2 network_create $SUBNET diff --git a/ttcn3-bsc-test/osmo-bsc.cfg b/ttcn3-bsc-test/osmo-bsc.cfg index 244e205..2044346 100644 --- a/ttcn3-bsc-test/osmo-bsc.cfg +++ b/ttcn3-bsc-test/osmo-bsc.cfg @@ -75,7 +75,7 @@ network network country code 1 mobile network code 1 - encryption a5 0 1 3 4 + encryption a5 0 1 3 neci 1 paging any use tch 0 handover 1 diff --git a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg index 0618e44..564ebce 100644 --- a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg +++ b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg @@ -64,7 +64,7 @@ network network country code 1 mobile network code 1 - encryption a5 0 1 3 4 + encryption a5 0 1 3 neci 1 paging any use tch 0 handover 1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24900 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I55135ca00ef51de5cf6eaec75cfc20c21beef665 Gerrit-Change-Number: 24900 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 Jul 9 13:26:36 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 9 Jul 2021 13:26:36 +0000 Subject: Change in osmo-dev[master]: ttcn3.sh: set NO_LIST_OSMO_PACKAGES=1 References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-dev/+/24901 ) Change subject: ttcn3.sh: set NO_LIST_OSMO_PACKAGES=1 ...................................................................... ttcn3.sh: set NO_LIST_OSMO_PACKAGES=1 Speed up tests by not running a separate docker instances first that lists installed packages. Depends: docker-playground Iaafb81e9ee94850ae3b6318574ad5370d74a2838 Change-Id: I3d9976d07f088e2d106d23259889a4bffe1abbcb --- M ttcn3/ttcn3.sh 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-dev refs/changes/01/24901/1 diff --git a/ttcn3/ttcn3.sh b/ttcn3/ttcn3.sh index 19019b3..07a7adc 100755 --- a/ttcn3/ttcn3.sh +++ b/ttcn3/ttcn3.sh @@ -245,6 +245,7 @@ cd "$(get_testsuite_dir_docker)" export DOCKER_ARGS="-v /usr/local:/usr/local:ro -v $hacks:/osmo-ttcn3-hacks:ro" + export NO_LIST_OSMO_PACKAGES=1 ./jenkins.sh touch "$marker" -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/24901 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I3d9976d07f088e2d106d23259889a4bffe1abbcb Gerrit-Change-Number: 24901 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 Jul 9 13:26:51 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 9 Jul 2021 13:26:51 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: add NO_LIST_OSMO_PACKAGES References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/24902 ) Change subject: jenkins-common.sh: add NO_LIST_OSMO_PACKAGES ...................................................................... jenkins-common.sh: add NO_LIST_OSMO_PACKAGES Allow to optionally skip listing the installed packages. This is useful to speed up tests when running locally. Related: osmo-dev I3d9976d07f088e2d106d23259889a4bffe1abbcb Change-Id: Iaafb81e9ee94850ae3b6318574ad5370d74a2838 --- M jenkins-common.sh 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/02/24902/1 diff --git a/jenkins-common.sh b/jenkins-common.sh index 2cf5c50..ef6fad9 100644 --- a/jenkins-common.sh +++ b/jenkins-common.sh @@ -67,6 +67,10 @@ local image="$2" local docker_run_sh="docker run --rm --entrypoint=/bin/sh $REPO_USER/$image -c" + if [ -n "$NO_LIST_OSMO_PACKAGES" ]; then + return + fi + # Don't run on all images case "$image" in osmo-*) ;; -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24902 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iaafb81e9ee94850ae3b6318574ad5370d74a2838 Gerrit-Change-Number: 24902 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 Jul 9 15:00:22 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 9 Jul 2021 15:00:22 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Fix TC_ms_reg_enq In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24858 ) Change subject: Fix TC_ms_reg_enq ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24858 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6669ed0b49e9f278f16a67dc05ae208884ee535e Gerrit-Change-Number: 24858 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 09 Jul 2021 15:00:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 15:09:40 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 9 Jul 2021 15:09:40 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vc_fsm: rename state UNCONFIGURED -> DISABLED In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24685 ) Change subject: gprs_ns2_vc_fsm: rename state UNCONFIGURED -> DISABLED ...................................................................... Patch Set 2: > Patch Set 2: > > > Patch Set 1: > > > > > Patch Set 1: > > > > > > I'm not sure/convinced that 'unconfigured' is a wrong name. Why would "unconfigured" only happen at start-up? What event is causing it to become unconfigured later on again, and why is the name wrong? Is it still in some way "configured" while in that state? > > > > Original the unconfigured was just the initial state. Later a vty command for testing was introduced. And now the frame relay is forcing all NSVC into the unconfigured state when the DLCI become unavailable. > > A bit more bike shedding, but to me "disabled" sounds like some active intervention is needed before the NSVC can be used again. "Unconfigured" as a state name sounds fine to me, or maybe something like "initial", "inactive" Maybe standby? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24685 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5f46ce5e27d7556d5e17bc236f1765d42aecbe0c Gerrit-Change-Number: 24685 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 09 Jul 2021 15:09:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 15:09:57 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 9 Jul 2021 15:09:57 +0000 Subject: Change in libosmocore[master]: one step In-Reply-To: References: Message-ID: lynxis lazus has abandoned this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23130 ) Change subject: one step ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23130 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1e264633105c71ad8202c38bb05c6afd4f70e202 Gerrit-Change-Number: 23130 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 15:42:35 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 9 Jul 2021 15:42:35 +0000 Subject: Change in osmo-bsc[master]: bsc_vty: add vty option to allow call-reestablishment References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24903 ) Change subject: bsc_vty: add vty option to allow call-reestablishment ...................................................................... bsc_vty: add vty option to allow call-reestablishment The rach control parameter value that controls the usage of call-reestablishment is currently hardcoded. Lets add a VTY option for this so that we are able to configure call-reestablishment Change-Id: Ia18c1dde4c001cb4d423f694f8bc146adfd77daf Related: SYS#5130 --- M src/osmo-bsc/bsc_vty.c 1 file changed, 23 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/03/24903/1 diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 070b660..b8426c7 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -1100,6 +1100,8 @@ vty_out(vty, " cell barred 1%s", VTY_NEWLINE); if ((bts->si_common.rach_control.t2 & 0x4) == 0) vty_out(vty, " rach emergency call allowed 1%s", VTY_NEWLINE); + if (bts->si_common.rach_control.re == 0) + vty_out(vty, " rach call-reestablishment allowed 1%s", VTY_NEWLINE); if ((bts->si_common.rach_control.t3) != 0) for (i = 0; i < 8; i++) if (bts->si_common.rach_control.t3 & (0x1 << i)) @@ -3129,6 +3131,26 @@ return CMD_SUCCESS; } +DEFUN_USRATTR(cfg_bts_rach_re_allowed, + cfg_bts_rach_re_allowed_cmd, + X(BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK), + "rach call-reestablishment allowed (0|1)", + RACH_STR + "Resume calls after radio link failure\n" + "Resume calls after radio link failure\n" + "Forbid MS to reestablish calls\n" + "Allow MS to try to reestablish calls\n") +{ + struct gsm_bts *bts = vty->index; + + if (atoi(argv[0]) == 0) + bts->si_common.rach_control.re = 1; + else + bts->si_common.rach_control.re = 0; + + return CMD_SUCCESS; +} + DEFUN_USRATTR(cfg_bts_rach_ac_class, cfg_bts_rach_ac_class_cmd, X(BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK), @@ -8074,6 +8096,7 @@ install_element(BTS_NODE, &cfg_bts_rach_nm_ldavg_cmd); install_element(BTS_NODE, &cfg_bts_cell_barred_cmd); install_element(BTS_NODE, &cfg_bts_rach_ec_allowed_cmd); + install_element(BTS_NODE, &cfg_bts_rach_re_allowed_cmd); install_element(BTS_NODE, &cfg_bts_rach_ac_class_cmd); install_element(BTS_NODE, &cfg_bts_ms_max_power_cmd); install_element(BTS_NODE, &cfg_bts_cell_resel_hyst_cmd); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24903 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia18c1dde4c001cb4d423f694f8bc146adfd77daf Gerrit-Change-Number: 24903 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 Jul 9 15:53:11 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 9 Jul 2021 15:53:11 +0000 Subject: Change in osmo-mgw[master]: mgcp_trunk: drop ws line In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24893 ) Change subject: mgcp_trunk: drop ws line ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24893 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Iac2dfe5643d87066490a77211f01ee9ee3d9fcc7 Gerrit-Change-Number: 24893 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 09 Jul 2021 15:53: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 Jul 9 15:53:18 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 9 Jul 2021 15:53:18 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: drop ws line In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24894 ) Change subject: mgcp_ratectr: drop ws line ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24894 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib0bb231ebf1d941dee85bdea596f07fe26510ce5 Gerrit-Change-Number: 24894 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 09 Jul 2021 15:53: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 Jul 9 15:53:26 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 9 Jul 2021 15:53:26 +0000 Subject: Change in osmo-mgw[master]: mgcp_trunk: drop ws line In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24893 ) Change subject: mgcp_trunk: drop ws line ...................................................................... mgcp_trunk: drop ws line Change-Id: Iac2dfe5643d87066490a77211f01ee9ee3d9fcc7 --- M include/osmocom/mgcp/mgcp_trunk.h 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/include/osmocom/mgcp/mgcp_trunk.h b/include/osmocom/mgcp/mgcp_trunk.h index ba2c6c4..c62f731 100644 --- a/include/osmocom/mgcp/mgcp_trunk.h +++ b/include/osmocom/mgcp/mgcp_trunk.h @@ -8,7 +8,6 @@ trunk ? trunk->trunk_nr : 0, \ ## args) - enum mgcp_trunk_type { MGCP_TRUNK_VIRTUAL, MGCP_TRUNK_E1, -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24893 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Iac2dfe5643d87066490a77211f01ee9ee3d9fcc7 Gerrit-Change-Number: 24893 Gerrit-PatchSet: 1 Gerrit-Owner: dexter 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 Jul 9 15:53:26 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 9 Jul 2021 15:53:26 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: drop ws line In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24894 ) Change subject: mgcp_ratectr: drop ws line ...................................................................... mgcp_ratectr: drop ws line Change-Id: Ib0bb231ebf1d941dee85bdea596f07fe26510ce5 --- M include/osmocom/mgcp/mgcp_ratectr.h 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/include/osmocom/mgcp/mgcp_ratectr.h b/include/osmocom/mgcp/mgcp_ratectr.h index 657e897..84315e0 100644 --- a/include/osmocom/mgcp/mgcp_ratectr.h +++ b/include/osmocom/mgcp/mgcp_ratectr.h @@ -1,6 +1,5 @@ #pragma once - /* Global MCGP general rate counters */ enum { MGCP_GENERAL_RX_MSGS_TOTAL, -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24894 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib0bb231ebf1d941dee85bdea596f07fe26510ce5 Gerrit-Change-Number: 24894 Gerrit-PatchSet: 1 Gerrit-Owner: dexter 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 Jul 9 15:53:46 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 9 Jul 2021 15:53:46 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: fix sourcecode formatting In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24895 ) Change subject: mgcp_ratectr: fix sourcecode formatting ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24895 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7460fd4cdf1a552bca1af681faaa9bd8f88f1404 Gerrit-Change-Number: 24895 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 09 Jul 2021 15:53: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 Jul 9 15:53:48 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 9 Jul 2021 15:53:48 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: fix sourcecode formatting In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24895 ) Change subject: mgcp_ratectr: fix sourcecode formatting ...................................................................... mgcp_ratectr: fix sourcecode formatting Change-Id: I7460fd4cdf1a552bca1af681faaa9bd8f88f1404 --- M src/libosmo-mgcp/mgcp_ratectr.c 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/libosmo-mgcp/mgcp_ratectr.c b/src/libosmo-mgcp/mgcp_ratectr.c index 2868062..8f3703f 100644 --- a/src/libosmo-mgcp/mgcp_ratectr.c +++ b/src/libosmo-mgcp/mgcp_ratectr.c @@ -126,9 +126,9 @@ }; static const struct rate_ctr_desc e1_rate_ctr_desc[] = { - [E1_I460_TRAU_RX_FAIL_CTR] = {"e1:rx_fail", "Inbound I.460 TRAU failures."}, - [E1_I460_TRAU_TX_FAIL_CTR] = {"e1:tx_fail", "Outbound I.460 TRAU failures."}, - [E1_I460_TRAU_MUX_EMPTY_CTR] = {"e1:i460", "Outbound I.460 MUX queue empty."} + [E1_I460_TRAU_RX_FAIL_CTR] = { "e1:rx_fail", "Inbound I.460 TRAU failures." }, + [E1_I460_TRAU_TX_FAIL_CTR] = { "e1:tx_fail", "Outbound I.460 TRAU failures." }, + [E1_I460_TRAU_MUX_EMPTY_CTR] = { "e1:i460", "Outbound I.460 MUX queue empty." } }; const static struct rate_ctr_group_desc e1_rate_ctr_group_desc = { -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24895 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7460fd4cdf1a552bca1af681faaa9bd8f88f1404 Gerrit-Change-Number: 24895 Gerrit-PatchSet: 1 Gerrit-Owner: dexter 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 Jul 9 15:54:26 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 9 Jul 2021 15:54:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc/MSC_ConnectionHandler: fix typo In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24896 ) Change subject: bsc/MSC_ConnectionHandler: fix typo ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24896 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If874a3fa6f42de4f5f484e597de028715cd08043 Gerrit-Change-Number: 24896 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 09 Jul 2021 15:54:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 15:55:39 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 9 Jul 2021 15:55:39 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: change encryption a5 via VTY where needed In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24897 ) Change subject: bsc: change encryption a5 via VTY where needed ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24897 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3cf36c6ef86a0db050507f3737f4b0c10dcd52ed Gerrit-Change-Number: 24897 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 09 Jul 2021 15:55:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 15:58:30 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 9 Jul 2021 15:58:30 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_ciph_mode_a5_2_1 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24898 ) Change subject: bsc: add TC_ciph_mode_a5_2_1 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24898 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I688d056bcfe73f7846f908a28f4621f944cf2178 Gerrit-Change-Number: 24898 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 09 Jul 2021 15:58:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 15:58:40 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 9 Jul 2021 15:58:40 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_ciph_mode_a5_2_0 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24899 ) Change subject: bsc: add TC_ciph_mode_a5_2_0 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24899 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia02e9be52ccbe4b24a0bce56305be9f875e7adb1 Gerrit-Change-Number: 24899 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 09 Jul 2021 15:58:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 15:58:53 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 9 Jul 2021 15:58:53 +0000 Subject: Change in docker-playground[master]: Revert "ttcn3-bsc-test: enable A5/4 support in osmo-bsc.cfg" In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24900 ) Change subject: Revert "ttcn3-bsc-test: enable A5/4 support in osmo-bsc.cfg" ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24900 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I55135ca00ef51de5cf6eaec75cfc20c21beef665 Gerrit-Change-Number: 24900 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 09 Jul 2021 15:58:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 16:00:45 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 9 Jul 2021 16:00:45 +0000 Subject: Change in osmo-dev[master]: ttcn3.sh: set NO_LIST_OSMO_PACKAGES=1 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/24901 ) Change subject: ttcn3.sh: set NO_LIST_OSMO_PACKAGES=1 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/24901 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I3d9976d07f088e2d106d23259889a4bffe1abbcb Gerrit-Change-Number: 24901 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 09 Jul 2021 16:00:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 16:01:04 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 9 Jul 2021 16:01:04 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: add NO_LIST_OSMO_PACKAGES In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24902 ) Change subject: jenkins-common.sh: add NO_LIST_OSMO_PACKAGES ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24902 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iaafb81e9ee94850ae3b6318574ad5370d74a2838 Gerrit-Change-Number: 24902 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 09 Jul 2021 16: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 Fri Jul 9 16:03:20 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 9 Jul 2021 16:03:20 +0000 Subject: Change in osmo-bsc[master]: bsc_vty: add vty option to allow call-reestablishment In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24903 ) Change subject: bsc_vty: add vty option to allow call-reestablishment ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24903 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia18c1dde4c001cb4d423f694f8bc146adfd77daf Gerrit-Change-Number: 24903 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 09 Jul 2021 16:03:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 16:39:37 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 9 Jul 2021 16:39:37 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy: Forward MS_REGISTR_ENQ/_RESP correctly In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, lynxis lazus, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24859 to look at the new patch set (#2). Change subject: gbproxy: Forward MS_REGISTR_ENQ/_RESP correctly ...................................................................... gbproxy: Forward MS_REGISTR_ENQ/_RESP correctly We need to save the BSS NSE <-> IMSI mapping to correctly route the answer. Related: OS#4472 Change-Id: I1908bbe8db11271dbd3f45b0d9f1bc0bfe48f239 --- M include/osmocom/gbproxy/gb_proxy.h M src/gb_proxy.c 2 files changed, 40 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gbproxy refs/changes/59/24859/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24859 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I1908bbe8db11271dbd3f45b0d9f1bc0bfe48f239 Gerrit-Change-Number: 24859 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 16:39:39 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 9 Jul 2021 16:39:39 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy: Add usage flag to the imsi_cache References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24904 ) Change subject: gbproxy: Add usage flag to the imsi_cache ...................................................................... gbproxy: Add usage flag to the imsi_cache This is only used for the imsi cache entries for now. Further uses will be added in subsequent commits. Related: OS#4472 Change-Id: I4a4b8c99eb97f6bb5387d0f26aecd861e07d9914 --- M include/osmocom/gbproxy/gb_proxy.h M src/gb_proxy.c M src/gb_proxy_peer.c 3 files changed, 22 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gbproxy refs/changes/04/24904/1 diff --git a/include/osmocom/gbproxy/gb_proxy.h b/include/osmocom/gbproxy/gb_proxy.h index afd4b5f..7f35578 100644 --- a/include/osmocom/gbproxy/gb_proxy.h +++ b/include/osmocom/gbproxy/gb_proxy.h @@ -192,6 +192,10 @@ } pool; }; +enum cache_usage { + CACHE_USAGE_PAGING, +}; + /* TLLI cache */ struct gbproxy_tlli_cache_entry { /* linked to gbproxy_config.tlli_cache.entries */ @@ -212,6 +216,8 @@ /* IMSI of the entry */ char imsi[OSMO_IMSI_BUF_SIZE]; + enum cache_usage usage; + /* When was this entry last seen */ time_t tstamp; /* The SGSN where the request came from */ @@ -286,7 +292,7 @@ struct gbproxy_nse *gbproxy_nse_by_nsei(struct gbproxy_config *cfg, uint16_t nsei, uint32_t flags); struct gbproxy_nse *gbproxy_nse_by_nsei_or_new(struct gbproxy_config *cfg, uint16_t nsei, bool sgsn_facing); struct gbproxy_nse *gbproxy_nse_by_tlli(struct gbproxy_config *cfg, uint32_t tlli); -struct gbproxy_nse *gbproxy_nse_by_imsi(struct gbproxy_config *cfg, const char *imsi); +struct gbproxy_nse *gbproxy_nse_by_imsi(struct gbproxy_config *cfg, const char *imsi, enum cache_usage usage); /* TLLI cache */ void gbproxy_tlli_cache_update(struct gbproxy_nse *nse, uint32_t tlli); @@ -294,8 +300,8 @@ int gbproxy_tlli_cache_cleanup(struct gbproxy_config *cfg); /* IMSI cache */ -void gbproxy_imsi_cache_update(struct gbproxy_nse *nse, const char *imsi); -void gbproxy_imsi_cache_remove(struct gbproxy_config *cfg, const char *imsi); +void gbproxy_imsi_cache_update(struct gbproxy_nse *nse, const char *imsi, enum cache_usage usage); +void gbproxy_imsi_cache_remove(struct gbproxy_config *cfg, const char *imsi, enum cache_usage usage); int gbproxy_imsi_cache_cleanup(struct gbproxy_config *cfg); /* SGSN handling */ diff --git a/src/gb_proxy.c b/src/gb_proxy.c index 8c8faf7..e017abe 100644 --- a/src/gb_proxy.c +++ b/src/gb_proxy.c @@ -484,7 +484,7 @@ const uint8_t *mi_data = TLVP_VAL(&tp, BSSGP_IE_IMSI); uint8_t mi_len = TLVP_LEN(&tp, BSSGP_IE_IMSI); osmo_mobile_identity_decode(&mi, mi_data, mi_len, false); - nse = gbproxy_nse_by_imsi(nse->cfg, mi.imsi); + nse = gbproxy_nse_by_imsi(nse->cfg, mi.imsi, CACHE_USAGE_PAGING); if (nse) { OSMO_ASSERT(nse->sgsn_facing); rc = gbprox_relay2nse(msg, nse, ns_bvci); @@ -586,7 +586,7 @@ const uint8_t *mi_data = TLVP_VAL(&tp, BSSGP_IE_IMSI); uint8_t mi_len = TLVP_LEN(&tp, BSSGP_IE_IMSI); osmo_mobile_identity_decode(&mi, mi_data, mi_len, false); - gbproxy_imsi_cache_update(nse, mi.imsi); + gbproxy_imsi_cache_update(nse, mi.imsi, CACHE_USAGE_PAGING); break; } default: @@ -1106,7 +1106,7 @@ const uint8_t *mi_data = TLVP_VAL(&tp[0], BSSGP_IE_IMSI); uint8_t mi_len = TLVP_LEN(&tp[0], BSSGP_IE_IMSI); osmo_mobile_identity_decode(&mi, mi_data, mi_len, false); - nse = gbproxy_nse_by_imsi(nse->cfg, mi.imsi); + nse = gbproxy_nse_by_imsi(nse->cfg, mi.imsi, CACHE_USAGE_PAGING); if (!nse) { return tx_status(nse, ns_bvci, BSSGP_CAUSE_INV_MAND_INF, NULL, msg); } @@ -1386,7 +1386,7 @@ const uint8_t *mi_data = TLVP_VAL(&tp[0], BSSGP_IE_IMSI); uint8_t mi_len = TLVP_LEN(&tp[0], BSSGP_IE_IMSI); osmo_mobile_identity_decode(&mi, mi_data, mi_len, false); - gbproxy_imsi_cache_update(nse, mi.imsi); + gbproxy_imsi_cache_update(nse, mi.imsi, CACHE_USAGE_PAGING); /* fall through */ } case BSSGP_PDUT_PAGING_CS: diff --git a/src/gb_proxy_peer.c b/src/gb_proxy_peer.c index 0f15e9d..0b2ab2b 100644 --- a/src/gb_proxy_peer.c +++ b/src/gb_proxy_peer.c @@ -347,23 +347,23 @@ return osmo_crc16(0, (const uint8_t *)imsi, len); } -static inline struct gbproxy_imsi_cache_entry *_get_imsi_entry(struct gbproxy_config *cfg, const char *imsi) +static inline struct gbproxy_imsi_cache_entry *_get_imsi_entry(struct gbproxy_config *cfg, const char *imsi, enum cache_usage usage) { struct gbproxy_imsi_cache_entry *cache_entry; uint16_t imsi_hash = _checksum_imsi(imsi); hash_for_each_possible(cfg->imsi_cache.entries, cache_entry, list, imsi_hash) { - if (!strncmp(cache_entry->imsi, imsi, sizeof(cache_entry->imsi))) + if (!strncmp(cache_entry->imsi, imsi, sizeof(cache_entry->imsi)) && cache_entry->usage == usage) return cache_entry; } return NULL; } -void gbproxy_imsi_cache_update(struct gbproxy_nse *nse, const char *imsi) +void gbproxy_imsi_cache_update(struct gbproxy_nse *nse, const char *imsi, enum cache_usage usage) { struct gbproxy_config *cfg = nse->cfg; struct timespec now; - struct gbproxy_imsi_cache_entry *cache_entry = _get_imsi_entry(cfg, imsi); + struct gbproxy_imsi_cache_entry *cache_entry = _get_imsi_entry(cfg, imsi, usage); uint16_t imsi_hash = _checksum_imsi(imsi); osmo_clock_gettime(CLOCK_MONOTONIC, &now); @@ -378,6 +378,7 @@ cache_entry = talloc_zero(cfg, struct gbproxy_imsi_cache_entry); OSMO_STRLCPY_ARRAY(cache_entry->imsi, imsi); cache_entry->nse = nse; + cache_entry->usage = usage; cache_entry->tstamp = now.tv_sec; hash_add(cfg->imsi_cache.entries, &cache_entry->list, imsi_hash); } @@ -396,14 +397,14 @@ } } -void gbproxy_imsi_cache_remove(struct gbproxy_config *cfg, const char *imsi) +void gbproxy_imsi_cache_remove(struct gbproxy_config *cfg, const char *imsi, enum cache_usage usage) { struct gbproxy_imsi_cache_entry *imsi_cache; struct hlist_node *tmp; uint16_t imsi_hash = _checksum_imsi(imsi); hash_for_each_possible_safe(cfg->imsi_cache.entries, imsi_cache, tmp, list, imsi_hash) { - if (!(strncmp(imsi_cache->imsi, imsi, sizeof(imsi_cache->imsi)))) { + if (!(strncmp(imsi_cache->imsi, imsi, sizeof(imsi_cache->imsi))) && imsi_cache->usage == usage) { hash_del(&imsi_cache->list); talloc_free(imsi_cache); return; @@ -546,13 +547,13 @@ return NULL; } -struct gbproxy_nse *gbproxy_nse_by_imsi(struct gbproxy_config *cfg, const char *imsi) +struct gbproxy_nse *gbproxy_nse_by_imsi(struct gbproxy_config *cfg, const char *imsi, enum cache_usage usage) { struct gbproxy_imsi_cache_entry *imsi_cache; uint16_t imsi_hash = _checksum_imsi(imsi); hash_for_each_possible(cfg->imsi_cache.entries, imsi_cache, list, imsi_hash) { - if (!strncmp(imsi_cache->imsi, imsi, sizeof(imsi_cache->imsi))) + if (!strncmp(imsi_cache->imsi, imsi, sizeof(imsi_cache->imsi)) && imsi_cache->usage == usage) return imsi_cache->nse; } return NULL; -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24904 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I4a4b8c99eb97f6bb5387d0f26aecd861e07d9914 Gerrit-Change-Number: 24904 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 16:40:07 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 9 Jul 2021 16:40:07 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Fix TC_ms_reg_enq In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24858 ) Change subject: Fix TC_ms_reg_enq ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24858 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6669ed0b49e9f278f16a67dc05ae208884ee535e Gerrit-Change-Number: 24858 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 09 Jul 2021 16:40:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 16:40:26 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 9 Jul 2021 16:40:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Fix TC_ms_reg_enq In-Reply-To: References: Message-ID: daniel has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24858 ) Change subject: Fix TC_ms_reg_enq ...................................................................... Fix TC_ms_reg_enq In the pooling case it is not clear where the message will be forwarded to so allow reception on any SGSN. Change-Id: I6669ed0b49e9f278f16a67dc05ae208884ee535e Related: OS#4472 --- M gbproxy/GBProxy_Tests.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve lynxis lazus: Looks good to me, but someone else must approve daniel: Looks good to me, approved diff --git a/gbproxy/GBProxy_Tests.ttcn b/gbproxy/GBProxy_Tests.ttcn index dd33106..6aa5e0c 100644 --- a/gbproxy/GBProxy_Tests.ttcn +++ b/gbproxy/GBProxy_Tests.ttcn @@ -2860,7 +2860,7 @@ private function f_TC_ms_reg_enq(charstring id) runs on BSSGP_ConnHdlr { - f_pcu2sgsn(ts_BSSGP_MS_REG_ENQ(g_pars.imsi), tr_BSSGP_MS_REG_ENQ(g_pars.imsi), use_sig := true); + f_pcu2any_sgsn(ts_BSSGP_MS_REG_ENQ(g_pars.imsi), tr_BSSGP_MS_REG_ENQ(g_pars.imsi), use_sig := true); f_sgsn2pcu(ts_BSSGP_MS_REW_ENQ_RESP(g_pars.imsi, omit), tr_BSSGP_MS_REW_ENQ_RESP(g_pars.imsi, omit), use_sig := true); } testcase TC_ms_reg_enq() runs on test_CT -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24858 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6669ed0b49e9f278f16a67dc05ae208884ee535e Gerrit-Change-Number: 24858 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 16:41:52 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 9 Jul 2021 16:41:52 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy: Forward MS_REGISTR_ENQ/_RESP correctly In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24859 ) Change subject: gbproxy: Forward MS_REGISTR_ENQ/_RESP correctly ...................................................................... Patch Set 2: Updated the commit to avoid a conflict between PAGING use of the imsi cache (which caches the sgsn-side NSE for the pooling case) and this one. -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24859 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I1908bbe8db11271dbd3f45b0d9f1bc0bfe48f239 Gerrit-Change-Number: 24859 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 09 Jul 2021 16:41:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 16:46:11 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 9 Jul 2021 16:46:11 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy_peer: Set rate_ctr name for gbproxy_peer stats References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24905 ) Change subject: gbproxy_peer: Set rate_ctr name for gbproxy_peer stats ...................................................................... gbproxy_peer: Set rate_ctr name for gbproxy_peer stats Change-Id: I60a5a208ab69ad1184ba643d063717a46a90b131 --- M src/gb_proxy_peer.c 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gbproxy refs/changes/05/24905/1 diff --git a/src/gb_proxy_peer.c b/src/gb_proxy_peer.c index 0b2ab2b..72418c1 100644 --- a/src/gb_proxy_peer.c +++ b/src/gb_proxy_peer.c @@ -70,6 +70,7 @@ struct gbproxy_bvc *gbproxy_bvc_alloc(struct gbproxy_nse *nse, uint16_t bvci) { + char idbuf[256]; struct gbproxy_bvc *bvc; OSMO_ASSERT(nse); struct gbproxy_config *cfg = nse->cfg; @@ -79,12 +80,16 @@ if (!bvc) return NULL; + snprintf(idbuf, sizeof(idbuf), "BVC%05u-NSE%05u", bvci, + nse->nsei); + osmo_identifier_sanitize_buf(idbuf, NULL, '_'); bvc->bvci = bvci; bvc->ctrg = rate_ctr_group_alloc(bvc, &bvc_ctrg_desc, (nse->nsei << 16) | bvci); if (!bvc->ctrg) { talloc_free(bvc); return NULL; } + rate_ctr_group_set_name(bvc->ctrg, idbuf); bvc->nse = nse; hash_add(nse->bvcs, &bvc->list, bvc->bvci); -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24905 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I60a5a208ab69ad1184ba643d063717a46a90b131 Gerrit-Change-Number: 24905 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 16:52:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 9 Jul 2021 16:52:09 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy: Add usage flag to the imsi_cache In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24904 ) Change subject: gbproxy: Add usage flag to the imsi_cache ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-gbproxy/+/24904/1/include/osmocom/gbproxy/gb_proxy.h File include/osmocom/gbproxy/gb_proxy.h: https://gerrit.osmocom.org/c/osmo-gbproxy/+/24904/1/include/osmocom/gbproxy/gb_proxy.h at 195 PS1, Line 195: enum cache_usage { Better name it cache_usage_type. I first though "usage" was some sort of ref counting or something numeric. -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24904 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I4a4b8c99eb97f6bb5387d0f26aecd861e07d9914 Gerrit-Change-Number: 24904 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 09 Jul 2021 16:52:09 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 16:53:01 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 9 Jul 2021 16:53:01 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy: Forward MS_REGISTR_ENQ/_RESP correctly In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24859 ) Change subject: gbproxy: Forward MS_REGISTR_ENQ/_RESP correctly ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24859 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I1908bbe8db11271dbd3f45b0d9f1bc0bfe48f239 Gerrit-Change-Number: 24859 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 09 Jul 2021 16:53:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 16:55:31 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 9 Jul 2021 16:55:31 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy: Add usage flag to the imsi_cache In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24904 ) Change subject: gbproxy: Add usage flag to the imsi_cache ...................................................................... Patch Set 1: Code-Review+1 what Pau says -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24904 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I4a4b8c99eb97f6bb5387d0f26aecd861e07d9914 Gerrit-Change-Number: 24904 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 09 Jul 2021 16:55:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 16:58:58 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 9 Jul 2021 16:58:58 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy_peer: Set rate_ctr name for gbproxy_peer stats In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24905 ) Change subject: gbproxy_peer: Set rate_ctr name for gbproxy_peer stats ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24905 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I60a5a208ab69ad1184ba643d063717a46a90b131 Gerrit-Change-Number: 24905 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 09 Jul 2021 16:58:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 17:00:48 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 9 Jul 2021 17:00:48 +0000 Subject: Change in osmo-bsc[master]: Avoid switching dyn ts to sdcch8 if it starves later TCH In-Reply-To: References: Message-ID: Hello Jenkins Builder, neels, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24876 to look at the new patch set (#3). Change subject: Avoid switching dyn ts to sdcch8 if it starves later TCH ...................................................................... Avoid switching dyn ts to sdcch8 if it starves later TCH In case an MS requests a channel to establish a voice call, we usuually try to assign an SDCCH to negotiate the call and finally make the MS switch to a TCH. However, it doesn't make much sense to provoke a switch of a dynamic TS into SDCCH8 if that would mean we end up with no TS available for TCH at the next step close in time. In that case, we are better assigning the TCH directly so that the full call can be established successfully. Related: SYS#5309 Change-Id: I3b32968949a7bdcbebf5a823359295bac51d8e08 --- M src/osmo-bsc/abis_rsl.c 1 file changed, 63 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/76/24876/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24876 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3b32968949a7bdcbebf5a823359295bac51d8e08 Gerrit-Change-Number: 24876 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 17:05:28 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 9 Jul 2021 17:05:28 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy: Add usage flag to the imsi_cache In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, lynxis lazus, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24904 to look at the new patch set (#2). Change subject: gbproxy: Add usage flag to the imsi_cache ...................................................................... gbproxy: Add usage flag to the imsi_cache This is only used for the imsi cache entries for now. Further uses will be added in subsequent commits. Related: OS#4472 Change-Id: I4a4b8c99eb97f6bb5387d0f26aecd861e07d9914 --- M include/osmocom/gbproxy/gb_proxy.h M src/gb_proxy.c M src/gb_proxy_peer.c 3 files changed, 24 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gbproxy refs/changes/04/24904/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24904 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I4a4b8c99eb97f6bb5387d0f26aecd861e07d9914 Gerrit-Change-Number: 24904 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder 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 Fri Jul 9 17:05:49 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 9 Jul 2021 17:05:49 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy: Add usage flag to the imsi_cache In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24904 ) Change subject: gbproxy: Add usage flag to the imsi_cache ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-gbproxy/+/24904/1/include/osmocom/gbproxy/gb_proxy.h File include/osmocom/gbproxy/gb_proxy.h: https://gerrit.osmocom.org/c/osmo-gbproxy/+/24904/1/include/osmocom/gbproxy/gb_proxy.h at 195 PS1, Line 195: enum cache_usage { > Better name it cache_usage_type. [?] Ack -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24904 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I4a4b8c99eb97f6bb5387d0f26aecd861e07d9914 Gerrit-Change-Number: 24904 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 09 Jul 2021 17:05:49 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 17:06:19 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 9 Jul 2021 17:06:19 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy: Add usage flag to the imsi_cache In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24904 ) Change subject: gbproxy: Add usage flag to the imsi_cache ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24904 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I4a4b8c99eb97f6bb5387d0f26aecd861e07d9914 Gerrit-Change-Number: 24904 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 09 Jul 2021 17:06:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 17:12:20 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 9 Jul 2021 17:12:20 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy: Add usage flag to the imsi_cache In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24904 ) Change subject: gbproxy: Add usage flag to the imsi_cache ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24904 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I4a4b8c99eb97f6bb5387d0f26aecd861e07d9914 Gerrit-Change-Number: 24904 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 09 Jul 2021 17:12: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 Jul 9 17:14:16 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 9 Jul 2021 17:14:16 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy: Forward MS_REGISTR_ENQ/_RESP correctly In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24859 ) Change subject: gbproxy: Forward MS_REGISTR_ENQ/_RESP correctly ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24859 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I1908bbe8db11271dbd3f45b0d9f1bc0bfe48f239 Gerrit-Change-Number: 24859 Gerrit-PatchSet: 3 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 09 Jul 2021 17:14:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 17:14:50 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 9 Jul 2021 17:14:50 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy_peer: Set rate_ctr name for gbproxy_peer stats In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24905 ) Change subject: gbproxy_peer: Set rate_ctr name for gbproxy_peer stats ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-gbproxy/+/24905/1/src/gb_proxy_peer.c File src/gb_proxy_peer.c: https://gerrit.osmocom.org/c/osmo-gbproxy/+/24905/1/src/gb_proxy_peer.c at 73 PS1, Line 73: char idbuf[256]; the buffer seems a little too big -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24905 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I60a5a208ab69ad1184ba643d063717a46a90b131 Gerrit-Change-Number: 24905 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 09 Jul 2021 17:14: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 Jul 9 17:56:52 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 9 Jul 2021 17:56:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Introduce test TC_dyn_ts_sdcch8_tch_call_act_deact References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24906 ) Change subject: bsc: Introduce test TC_dyn_ts_sdcch8_tch_call_act_deact ...................................................................... bsc: Introduce test TC_dyn_ts_sdcch8_tch_call_act_deact Related: SYS#24876 Change-Id: I6110fe0bf56f4dbf67265f0d4c97cdea0b410af4 --- M bsc/BSC_Tests.ttcn 1 file changed, 99 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/06/24906/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 6b079a6..d625027 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -605,6 +605,7 @@ var SystemInformationConfig_list g_system_information := {}; } +type record of charstring phys_chan_configs; modulepar { /* IP address at which the BSC can be reached */ charstring mp_bsc_ip := "127.0.0.1"; @@ -655,6 +656,18 @@ } }; + /* Must match per BTS config in osmo-bsc.cfg */ + phys_chan_configs phys_chan_config := { + "CCCH+SDCCH4+CBCH", + "TCH/F", + "TCH/F", + "TCH/F", + "TCH/F", + "TCH/F", + "PDCH", + "PDCH" + }; + BSSAP_LE_Configuration mp_bssap_le_cfg := { sccp_service_type := "mtp3_itu", sctp_addr := { 23908, "127.0.0.1", 2905, "127.0.0.1" }, @@ -6568,6 +6581,14 @@ f_vty_transceive(BSCVTY, "end"); } + +private function f_ts_reset_chcomb(integer bts_nr) runs on test_CT { + var integer i; + for (i := 0; i < 8; i := i + 1) { + f_ts_set_chcomb(bts_nr, 0, i, phys_chan_config[i]); + } +} + private const charstring TCHF_MODE := "TCH/F mode"; private const charstring TCHH_MODE := "TCH/H mode"; private const charstring PDCH_MODE := "PDCH mode"; @@ -6824,6 +6845,83 @@ f_shutdown_helper(); } +/* Test Osmocom dyn TS SDCCH8 activation / deactivation: If activating dyn TS as + SDCCH8 would end up in having no free TCH, then BSC should decide to activate + it as TCH directly instead. SYS#5309. */ +testcase TC_dyn_ts_sdcch8_tch_call_act_deact() runs on test_CT { + var RSL_Message rsl_unused, rsl_msg; + var DchanTuple dt; + var BSSAP_N_CONNECT_ind rx_c_ind; + var integer i; + + /* change Timeslot 6 before f_init() starts RSL */ + f_init_vty(); + for (i := 1; i < 8; i := i + 1) { + if (i == 6) { + f_ts_set_chcomb(0, 0, i, "TCH/F_TCH/H_SDCCH8_PDCH"); + } else { + f_ts_set_chcomb(0, 0, i, "PDCH"); + } + } + f_vty_transceive(BSCVTY, "drop bts connection 0 oml"); + + f_init(1, false); + f_sleep(1.0); + + var RslChannelNr pdch_chan_nr := valueof(t_RslChanNr_PDCH(6)); + + log("TCH/F_TCH/H_SDCCH8_PDCH pchan starts out in disabled mode:"); + f_ts_dyn_mode_assert(0, 0, pdch_chan_nr.tn, NONE_MODE); + /* The BSC will activate the dynamic PDCH by default, so confirm that */ + rsl_unused := f_exp_ipa_rx(0, tr_RSL_CHAN_ACT_PDCH(pdch_chan_nr, ?)); + + f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(pdch_chan_nr, 2342)); + f_sleep(1.0); + log("TCH/F_TCH/H_SDCCH8_PDC requested to PDCH ACT on startup, which was ACKed, so now in PDCH:"); + f_ts_dyn_mode_assert(0, 0, pdch_chan_nr.tn, PDCH_MODE); + + /* Fill TS0 SDCCH channels (NOTE: only 3 SDCCH/4 channels are available + * on CCCH+SDCCH4+CBCH) */ + for (i := 0; i < 3; i := i + 1) { + dt := f_est_dchan('23'O, i, '00010203040506'O); + } + + /* Now the dyn ts is selected. First PDCH is released, then TCH chan is activated */ + f_ipa_tx(0, ts_RSL_CHAN_RQD(int2oct(oct2int('23'O) + i, 1), 2342)); + rsl_unused := f_exp_ipa_rx(0, tr_RSL_RF_CHAN_REL(pdch_chan_nr)); + f_ipa_tx(0, ts_RSL_RF_CHAN_REL_ACK(pdch_chan_nr)); + + rsl_msg := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV)); + dt.rsl_chan_nr := rsl_msg.ies[0].body.chan_nr; + + f_ts_dyn_mode_assert(0, 0, dt.rsl_chan_nr.tn, TCHH_MODE); + f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(dt.rsl_chan_nr, 2342)); + rsl_msg := f_exp_ipa_rx(0, tr_RSL_IMM_ASSIGN(0)); + f_ts_dyn_mode_assert(0, 0, dt.rsl_chan_nr.tn, TCHH_MODE); + + f_ipa_tx(0, ts_RSL_EST_IND(dt.rsl_chan_nr, valueof(ts_RslLinkID_DCCH(0)), '1234'O)); + BSSAP.receive(tr_BSSAP_CONNECT_ind(?, ?, tr_BSSMAP_ComplL3('1234'O))) -> value rx_c_ind; + dt.sccp_conn_id := rx_c_ind.connectionId; + BSSAP.send(ts_BSSAP_CONNECT_res(dt.sccp_conn_id)); + + /* Instruct BSC to clear channel */ + var BssmapCause cause := 0; + BSSAP.send(ts_BSSAP_DATA_req(dt.sccp_conn_id, ts_BSSMAP_ClearCommand(cause))); + f_exp_chan_rel_and_clear(dt, 0); + + /* The BSC will switch the TS back to PDCH once the only lchan using it is released: */ + rsl_unused := f_exp_ipa_rx(0, tr_RSL_CHAN_ACT_PDCH(pdch_chan_nr, ?)); + f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(pdch_chan_nr, 2342)); + f_sleep(1.0); + f_ts_dyn_mode_assert(0, 0, pdch_chan_nr.tn, PDCH_MODE); + + /* clean up config */ + f_ts_reset_chcomb(0); + /* TODO: clean up other channels? */ + + f_shutdown_helper(); +} + /* Test Osmocom dyn TS SDCCH8 activation / deactivation when SDCCH fails at BTS */ testcase TC_dyn_ts_sdcch8_act_nack() runs on test_CT { var RSL_Message rsl_unused, rsl_msg; @@ -9360,6 +9458,7 @@ execute( TC_dyn_pdch_osmo_act_deact() ); execute( TC_dyn_pdch_osmo_act_nack() ); execute( TC_dyn_ts_sdcch8_act_deact() ); + execute (TC_dyn_ts_sdcch8_tch_call_act_deact() ); execute( TC_dyn_ts_sdcch8_act_nack() ); execute( TC_chopped_ipa_ping() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24906 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6110fe0bf56f4dbf67265f0d4c97cdea0b410af4 Gerrit-Change-Number: 24906 Gerrit-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 Jul 9 18:12:33 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 9 Jul 2021 18:12:33 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy: Add usage flag to the imsi_cache In-Reply-To: References: Message-ID: daniel has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24904 ) Change subject: gbproxy: Add usage flag to the imsi_cache ...................................................................... gbproxy: Add usage flag to the imsi_cache This is only used for the imsi cache entries for now. Further uses will be added in subsequent commits. Related: OS#4472 Change-Id: I4a4b8c99eb97f6bb5387d0f26aecd861e07d9914 --- M include/osmocom/gbproxy/gb_proxy.h M src/gb_proxy.c M src/gb_proxy_peer.c 3 files changed, 24 insertions(+), 15 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve lynxis lazus: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/gbproxy/gb_proxy.h b/include/osmocom/gbproxy/gb_proxy.h index afd4b5f..c1cc35f 100644 --- a/include/osmocom/gbproxy/gb_proxy.h +++ b/include/osmocom/gbproxy/gb_proxy.h @@ -192,6 +192,10 @@ } pool; }; +enum cache_usage_type { + CACHE_USAGE_PAGING, +}; + /* TLLI cache */ struct gbproxy_tlli_cache_entry { /* linked to gbproxy_config.tlli_cache.entries */ @@ -199,6 +203,8 @@ /* TLLI of the entry */ uint32_t tlli; + enum cache_usage_type usage; + /* When was this entry last seen */ time_t tstamp; /* The Cell this TLLI was last seen */ @@ -212,6 +218,8 @@ /* IMSI of the entry */ char imsi[OSMO_IMSI_BUF_SIZE]; + enum cache_usage_type usage; + /* When was this entry last seen */ time_t tstamp; /* The SGSN where the request came from */ @@ -286,7 +294,7 @@ struct gbproxy_nse *gbproxy_nse_by_nsei(struct gbproxy_config *cfg, uint16_t nsei, uint32_t flags); struct gbproxy_nse *gbproxy_nse_by_nsei_or_new(struct gbproxy_config *cfg, uint16_t nsei, bool sgsn_facing); struct gbproxy_nse *gbproxy_nse_by_tlli(struct gbproxy_config *cfg, uint32_t tlli); -struct gbproxy_nse *gbproxy_nse_by_imsi(struct gbproxy_config *cfg, const char *imsi); +struct gbproxy_nse *gbproxy_nse_by_imsi(struct gbproxy_config *cfg, const char *imsi, enum cache_usage_type usage); /* TLLI cache */ void gbproxy_tlli_cache_update(struct gbproxy_nse *nse, uint32_t tlli); @@ -294,8 +302,8 @@ int gbproxy_tlli_cache_cleanup(struct gbproxy_config *cfg); /* IMSI cache */ -void gbproxy_imsi_cache_update(struct gbproxy_nse *nse, const char *imsi); -void gbproxy_imsi_cache_remove(struct gbproxy_config *cfg, const char *imsi); +void gbproxy_imsi_cache_update(struct gbproxy_nse *nse, const char *imsi, enum cache_usage_type usage); +void gbproxy_imsi_cache_remove(struct gbproxy_config *cfg, const char *imsi, enum cache_usage_type usage); int gbproxy_imsi_cache_cleanup(struct gbproxy_config *cfg); /* SGSN handling */ diff --git a/src/gb_proxy.c b/src/gb_proxy.c index 8c8faf7..e017abe 100644 --- a/src/gb_proxy.c +++ b/src/gb_proxy.c @@ -484,7 +484,7 @@ const uint8_t *mi_data = TLVP_VAL(&tp, BSSGP_IE_IMSI); uint8_t mi_len = TLVP_LEN(&tp, BSSGP_IE_IMSI); osmo_mobile_identity_decode(&mi, mi_data, mi_len, false); - nse = gbproxy_nse_by_imsi(nse->cfg, mi.imsi); + nse = gbproxy_nse_by_imsi(nse->cfg, mi.imsi, CACHE_USAGE_PAGING); if (nse) { OSMO_ASSERT(nse->sgsn_facing); rc = gbprox_relay2nse(msg, nse, ns_bvci); @@ -586,7 +586,7 @@ const uint8_t *mi_data = TLVP_VAL(&tp, BSSGP_IE_IMSI); uint8_t mi_len = TLVP_LEN(&tp, BSSGP_IE_IMSI); osmo_mobile_identity_decode(&mi, mi_data, mi_len, false); - gbproxy_imsi_cache_update(nse, mi.imsi); + gbproxy_imsi_cache_update(nse, mi.imsi, CACHE_USAGE_PAGING); break; } default: @@ -1106,7 +1106,7 @@ const uint8_t *mi_data = TLVP_VAL(&tp[0], BSSGP_IE_IMSI); uint8_t mi_len = TLVP_LEN(&tp[0], BSSGP_IE_IMSI); osmo_mobile_identity_decode(&mi, mi_data, mi_len, false); - nse = gbproxy_nse_by_imsi(nse->cfg, mi.imsi); + nse = gbproxy_nse_by_imsi(nse->cfg, mi.imsi, CACHE_USAGE_PAGING); if (!nse) { return tx_status(nse, ns_bvci, BSSGP_CAUSE_INV_MAND_INF, NULL, msg); } @@ -1386,7 +1386,7 @@ const uint8_t *mi_data = TLVP_VAL(&tp[0], BSSGP_IE_IMSI); uint8_t mi_len = TLVP_LEN(&tp[0], BSSGP_IE_IMSI); osmo_mobile_identity_decode(&mi, mi_data, mi_len, false); - gbproxy_imsi_cache_update(nse, mi.imsi); + gbproxy_imsi_cache_update(nse, mi.imsi, CACHE_USAGE_PAGING); /* fall through */ } case BSSGP_PDUT_PAGING_CS: diff --git a/src/gb_proxy_peer.c b/src/gb_proxy_peer.c index 0f15e9d..f5ad445 100644 --- a/src/gb_proxy_peer.c +++ b/src/gb_proxy_peer.c @@ -347,23 +347,23 @@ return osmo_crc16(0, (const uint8_t *)imsi, len); } -static inline struct gbproxy_imsi_cache_entry *_get_imsi_entry(struct gbproxy_config *cfg, const char *imsi) +static inline struct gbproxy_imsi_cache_entry *_get_imsi_entry(struct gbproxy_config *cfg, const char *imsi, enum cache_usage_type usage) { struct gbproxy_imsi_cache_entry *cache_entry; uint16_t imsi_hash = _checksum_imsi(imsi); hash_for_each_possible(cfg->imsi_cache.entries, cache_entry, list, imsi_hash) { - if (!strncmp(cache_entry->imsi, imsi, sizeof(cache_entry->imsi))) + if (!strncmp(cache_entry->imsi, imsi, sizeof(cache_entry->imsi)) && cache_entry->usage == usage) return cache_entry; } return NULL; } -void gbproxy_imsi_cache_update(struct gbproxy_nse *nse, const char *imsi) +void gbproxy_imsi_cache_update(struct gbproxy_nse *nse, const char *imsi, enum cache_usage_type usage) { struct gbproxy_config *cfg = nse->cfg; struct timespec now; - struct gbproxy_imsi_cache_entry *cache_entry = _get_imsi_entry(cfg, imsi); + struct gbproxy_imsi_cache_entry *cache_entry = _get_imsi_entry(cfg, imsi, usage); uint16_t imsi_hash = _checksum_imsi(imsi); osmo_clock_gettime(CLOCK_MONOTONIC, &now); @@ -378,6 +378,7 @@ cache_entry = talloc_zero(cfg, struct gbproxy_imsi_cache_entry); OSMO_STRLCPY_ARRAY(cache_entry->imsi, imsi); cache_entry->nse = nse; + cache_entry->usage = usage; cache_entry->tstamp = now.tv_sec; hash_add(cfg->imsi_cache.entries, &cache_entry->list, imsi_hash); } @@ -396,14 +397,14 @@ } } -void gbproxy_imsi_cache_remove(struct gbproxy_config *cfg, const char *imsi) +void gbproxy_imsi_cache_remove(struct gbproxy_config *cfg, const char *imsi, enum cache_usage_type usage) { struct gbproxy_imsi_cache_entry *imsi_cache; struct hlist_node *tmp; uint16_t imsi_hash = _checksum_imsi(imsi); hash_for_each_possible_safe(cfg->imsi_cache.entries, imsi_cache, tmp, list, imsi_hash) { - if (!(strncmp(imsi_cache->imsi, imsi, sizeof(imsi_cache->imsi)))) { + if (!(strncmp(imsi_cache->imsi, imsi, sizeof(imsi_cache->imsi))) && imsi_cache->usage == usage) { hash_del(&imsi_cache->list); talloc_free(imsi_cache); return; @@ -546,13 +547,13 @@ return NULL; } -struct gbproxy_nse *gbproxy_nse_by_imsi(struct gbproxy_config *cfg, const char *imsi) +struct gbproxy_nse *gbproxy_nse_by_imsi(struct gbproxy_config *cfg, const char *imsi, enum cache_usage_type usage) { struct gbproxy_imsi_cache_entry *imsi_cache; uint16_t imsi_hash = _checksum_imsi(imsi); hash_for_each_possible(cfg->imsi_cache.entries, imsi_cache, list, imsi_hash) { - if (!strncmp(imsi_cache->imsi, imsi, sizeof(imsi_cache->imsi))) + if (!strncmp(imsi_cache->imsi, imsi, sizeof(imsi_cache->imsi)) && imsi_cache->usage == usage) return imsi_cache->nse; } return NULL; -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24904 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I4a4b8c99eb97f6bb5387d0f26aecd861e07d9914 Gerrit-Change-Number: 24904 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 18:12:41 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 9 Jul 2021 18:12:41 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy: Forward MS_REGISTR_ENQ/_RESP correctly In-Reply-To: References: Message-ID: daniel has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24859 ) Change subject: gbproxy: Forward MS_REGISTR_ENQ/_RESP correctly ...................................................................... gbproxy: Forward MS_REGISTR_ENQ/_RESP correctly We need to save the BSS NSE <-> IMSI mapping to correctly route the answer. Related: OS#4472 Change-Id: I1908bbe8db11271dbd3f45b0d9f1bc0bfe48f239 --- M include/osmocom/gbproxy/gb_proxy.h M src/gb_proxy.c 2 files changed, 40 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified lynxis lazus: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/include/osmocom/gbproxy/gb_proxy.h b/include/osmocom/gbproxy/gb_proxy.h index c1cc35f..76a7d31 100644 --- a/include/osmocom/gbproxy/gb_proxy.h +++ b/include/osmocom/gbproxy/gb_proxy.h @@ -194,6 +194,7 @@ enum cache_usage_type { CACHE_USAGE_PAGING, + CACHE_USAGE_MS_REG_ENQ, }; /* TLLI cache */ diff --git a/src/gb_proxy.c b/src/gb_proxy.c index e017abe..94ac4a3 100644 --- a/src/gb_proxy.c +++ b/src/gb_proxy.c @@ -1114,6 +1114,26 @@ rc = gbprox_relay2nse(msg, nse, 0); break; } + case BSSGP_PDUT_MS_REGISTR_ENQ: + { + struct gbproxy_sgsn *sgsn; + struct osmo_mobile_identity mi; + const uint8_t *mi_data = TLVP_VAL(&tp[0], BSSGP_IE_IMSI); + uint8_t mi_len = TLVP_LEN(&tp[0], BSSGP_IE_IMSI); + osmo_mobile_identity_decode(&mi, mi_data, mi_len, false); + + sgsn = gbproxy_select_sgsn(nse->cfg, NULL); + if (!sgsn) { + LOGP(DGPRS, LOGL_ERROR, "Could not find any SGSN, dropping message!\n"); + rc = -EINVAL; + break; + } + + gbproxy_imsi_cache_update(nse, mi.imsi, CACHE_USAGE_MS_REG_ENQ); + + rc = gbprox_relay2nse(msg, sgsn->nse, 0); + break; + } default: LOGPNSE(nse, LOGL_ERROR, "Rx %s: Implementation missing\n", pdut_name); break; @@ -1444,6 +1464,25 @@ case BSSGP_PDUT_RAN_INFO_APP_ERROR: rc = gbprox_rx_rim_from_sgsn(tp, nse, msg, log_pfx, pdut_name); break; + case BSSGP_PDUT_MS_REGISTR_ENQ_RESP: + { + struct gbproxy_nse *nse_peer; + struct osmo_mobile_identity mi; + const uint8_t *mi_data = TLVP_VAL(&tp[0], BSSGP_IE_IMSI); + uint8_t mi_len = TLVP_LEN(&tp[0], BSSGP_IE_IMSI); + osmo_mobile_identity_decode(&mi, mi_data, mi_len, false); + nse_peer = gbproxy_nse_by_imsi(cfg, mi.imsi, CACHE_USAGE_MS_REG_ENQ); + if (!nse_peer) { + LOGPNSE(nse, LOGL_ERROR, "Rx %s: Cannot find NSE\n", pdut_name); + return tx_status(nse, ns_bvci, BSSGP_CAUSE_INV_MAND_INF, NULL, msg); + } else if (nse_peer->sgsn_facing) { + LOGPNSE(nse, LOGL_ERROR, "Forwarding %s failed: IMSI cache contains SGSN NSE", pdut_name); + return tx_status(nse, ns_bvci, BSSGP_CAUSE_PROTO_ERR_UNSPEC, NULL, msg); + } + gbproxy_imsi_cache_remove(cfg, mi.imsi, CACHE_USAGE_MS_REG_ENQ); + gbprox_relay2nse(msg, nse_peer, ns_bvci); + break; + } default: LOGPNSE(nse, LOGL_NOTICE, "Rx %s: Not supported\n", pdut_name); rate_ctr_inc(rate_ctr_group_get_ctr(cfg->ctrg, GBPROX_GLOB_CTR_PROTO_ERR_SGSN)); -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24859 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I1908bbe8db11271dbd3f45b0d9f1bc0bfe48f239 Gerrit-Change-Number: 24859 Gerrit-PatchSet: 3 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 18:20:07 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 9 Jul 2021 18:20:07 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy_peer: Set rate_ctr name for gbproxy_peer stats In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, lynxis lazus, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24905 to look at the new patch set (#2). Change subject: gbproxy_peer: Set rate_ctr name for gbproxy_peer stats ...................................................................... gbproxy_peer: Set rate_ctr name for gbproxy_peer stats Change-Id: I60a5a208ab69ad1184ba643d063717a46a90b131 --- M src/gb_proxy_peer.c 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gbproxy refs/changes/05/24905/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24905 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I60a5a208ab69ad1184ba643d063717a46a90b131 Gerrit-Change-Number: 24905 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 18:20:49 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 9 Jul 2021 18:20:49 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy_peer: Set rate_ctr name for gbproxy_peer stats In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24905 ) Change subject: gbproxy_peer: Set rate_ctr name for gbproxy_peer stats ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-gbproxy/+/24905/1/src/gb_proxy_peer.c File src/gb_proxy_peer.c: https://gerrit.osmocom.org/c/osmo-gbproxy/+/24905/1/src/gb_proxy_peer.c at 73 PS1, Line 73: char idbuf[256]; > the buffer seems a little too big It's what the ns code uses, but yeah, the names there are much longer. I changed it to 64 which is still plenty if someone ends up changing the name a bit. -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24905 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I60a5a208ab69ad1184ba643d063717a46a90b131 Gerrit-Change-Number: 24905 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 09 Jul 2021 18:20:49 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: lynxis lazus Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 9 18:36:08 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 9 Jul 2021 18:36:08 +0000 Subject: Change in libosmocore[master]: Aggregate NSVC stats inside the NSE References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24907 ) Change subject: Aggregate NSVC stats inside the NSE ...................................................................... Aggregate NSVC stats inside the NSE Change-Id: Ifa3c85ec52bda14596e9d7a8705baa1fd4ee2010 Related: OS#4998 --- M src/gb/gprs_ns2.c M src/gb/gprs_ns2_internal.h M src/gb/gprs_ns2_message.c M src/gb/gprs_ns2_vc_fsm.c 4 files changed, 45 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/07/24907/1 diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index 3eb59e5..fb2965a 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -159,7 +159,7 @@ { 0, NULL } }; -static const struct rate_ctr_desc nsvc_ctr_description[] = { +static const struct rate_ctr_desc ns_ctr_description[] = { [NS_CTR_PKTS_IN] = { "packets:in", "Packets at NS Level ( In)" }, [NS_CTR_PKTS_OUT] = { "packets:out", "Packets at NS Level (Out)" }, [NS_CTR_PKTS_OUT_DROP] = { "packets:out:drop", "Dropped Packets (Out)" }, @@ -177,11 +177,19 @@ [NS_CTR_LOST_RESET] = { "lost:reset", "RESET ACK missing count " }, }; +static const struct rate_ctr_group_desc nse_ctrg_desc = { + .group_name_prefix = "ns:nse", + .group_description = "NSE Peer Statistics", + .num_ctr = ARRAY_SIZE(ns_ctr_description), + .ctr_desc = ns_ctr_description, + .class_id = OSMO_STATS_CLASS_PEER, +}; + static const struct rate_ctr_group_desc nsvc_ctrg_desc = { .group_name_prefix = "ns:nsvc", .group_description = "NSVC Peer Statistics", - .num_ctr = ARRAY_SIZE(nsvc_ctr_description), - .ctr_desc = nsvc_ctr_description, + .num_ctr = ARRAY_SIZE(ns_ctr_description), + .ctr_desc = ns_ctr_description, .class_id = OSMO_STATS_CLASS_PEER, }; @@ -806,6 +814,12 @@ return NULL; } + nse->ctrg = rate_ctr_group_alloc(nse, &nse_ctrg_desc, nsei); + if (!nse->ctrg) { + talloc_free(nse); + return NULL; + } + nse->ll = linklayer; nse->nsei = nsei; nse->nsi = nsi; @@ -886,6 +900,7 @@ gprs_ns2_free_nsvcs(nse); ns2_prim_status_ind(nse, NULL, 0, GPRS_NS2_AFF_CAUSE_FAILURE); + rate_ctr_group_free(nse->ctrg); llist_del(&nse->list); talloc_free(nse); @@ -1265,8 +1280,8 @@ log_set_context(LOG_CTX_GB_NSE, nsvc->nse); log_set_context(LOG_CTX_GB_NSVC, nsvc); - rate_ctr_inc(rate_ctr_group_get_ctr(nsvc->ctrg, NS_CTR_PKTS_IN)); - rate_ctr_add(rate_ctr_group_get_ctr(nsvc->ctrg, NS_CTR_BYTES_IN), msg->len); + RATE_CTR_INC_NS(nsvc, NS_CTR_PKTS_IN); + RATE_CTR_ADD_NS(nsvc, NS_CTR_BYTES_IN, msg->len); if (msg->len < sizeof(struct gprs_ns_hdr)) { rc = -EINVAL; diff --git a/src/gb/gprs_ns2_internal.h b/src/gb/gprs_ns2_internal.h index 70e212a..db01c2e 100644 --- a/src/gb/gprs_ns2_internal.h +++ b/src/gb/gprs_ns2_internal.h @@ -38,6 +38,20 @@ #define LOG_NS_RX_SIGNAL(nsvc, pdu_type) LOG_NS_SIGNAL(nsvc, "Rx", pdu_type, LOGL_INFO, "\n") #define LOG_NS_TX_SIGNAL(nsvc, pdu_type) LOG_NS_SIGNAL(nsvc, "Tx", pdu_type, LOGL_INFO, "\n") +#define RATE_CTR_INC_NS(nsvc, ctr) \ + do { \ + struct gprs_ns2_vc *_nsvc = (nsvc); \ + rate_ctr_inc(rate_ctr_group_get_ctr(_nsvc->ctrg, ctr)); \ + rate_ctr_inc(rate_ctr_group_get_ctr(_nsvc->nse->ctrg, ctr)); \ + } while (0) + +#define RATE_CTR_ADD_NS(nsvc, ctr, val) \ + do { \ + struct gprs_ns2_vc *_nsvc = (nsvc); \ + rate_ctr_add(rate_ctr_group_get_ctr(_nsvc->ctrg, ctr), val); \ + rate_ctr_add(rate_ctr_group_get_ctr(_nsvc->nse->ctrg, ctr), val); \ + } while (0) + struct osmo_fsm_inst; struct tlv_parsed; @@ -198,6 +212,9 @@ /*! are we implementing the SGSN role? */ bool ip_sns_role_sgsn; + + /*! NSE-wide statistics */ + struct rate_ctr_group *ctrg; }; /*! Structure representing a single NS-VC */ diff --git a/src/gb/gprs_ns2_message.c b/src/gb/gprs_ns2_message.c index 03e26bd..dccf51d 100644 --- a/src/gb/gprs_ns2_message.c +++ b/src/gb/gprs_ns2_message.c @@ -174,11 +174,11 @@ rc = nsvc->bind->send_vc(nsvc, msg); if (rc < 0) { - rate_ctr_inc(rate_ctr_group_get_ctr(nsvc->ctrg, NS_CTR_PKTS_OUT_DROP)); - rate_ctr_add(rate_ctr_group_get_ctr(nsvc->ctrg, NS_CTR_BYTES_OUT_DROP), bytes); + RATE_CTR_INC_NS(nsvc, NS_CTR_PKTS_OUT_DROP); + RATE_CTR_ADD_NS(nsvc, NS_CTR_BYTES_OUT_DROP, bytes); } else { - rate_ctr_inc(rate_ctr_group_get_ctr(nsvc->ctrg, NS_CTR_PKTS_OUT)); - rate_ctr_add(rate_ctr_group_get_ctr(nsvc->ctrg, NS_CTR_BYTES_OUT), bytes); + RATE_CTR_INC_NS(nsvc, NS_CTR_PKTS_OUT); + RATE_CTR_ADD_NS(nsvc, NS_CTR_BYTES_OUT, bytes); } return rc; diff --git a/src/gb/gprs_ns2_vc_fsm.c b/src/gb/gprs_ns2_vc_fsm.c index 05118b2..4dc0536 100644 --- a/src/gb/gprs_ns2_vc_fsm.c +++ b/src/gb/gprs_ns2_vc_fsm.c @@ -230,7 +230,7 @@ osmo_timer_schedule(&priv->alive.timer, nsi->timeout[NS_TOUT_TNS_ALIVE], 0); break; case NS_TOUT_TNS_ALIVE: - rate_ctr_inc(rate_ctr_group_get_ctr(priv->nsvc->ctrg, NS_CTR_LOST_ALIVE)); + RATE_CTR_INC_NS(priv->nsvc, NS_CTR_LOST_ALIVE); priv->alive.N++; if (priv->alive.N <= nsi->timeout[NS_TOUT_TNS_ALIVE_RETRIES]) { @@ -336,7 +336,7 @@ if (old_state != GPRS_NS2_ST_BLOCKED) { priv->N = 0; - rate_ctr_inc(rate_ctr_group_get_ctr(priv->nsvc->ctrg, NS_CTR_BLOCKED)); + RATE_CTR_INC_NS(priv->nsvc, NS_CTR_BLOCKED); } ns2_nse_notify_unblocked(priv->nsvc, false); @@ -412,7 +412,7 @@ struct gprs_ns2_nse *nse = nsvc->nse; if (old_state != GPRS_NS2_ST_UNBLOCKED) - rate_ctr_inc(rate_ctr_group_get_ctr(nsvc->ctrg, NS_CTR_UNBLOCKED)); + RATE_CTR_INC_NS(nsvc, NS_CTR_UNBLOCKED); priv->accept_unitdata = true; ns2_nse_notify_unblocked(nsvc, true); @@ -527,7 +527,7 @@ switch (fi->state) { case GPRS_NS2_ST_RESET: if (priv->initiate_reset) { - rate_ctr_inc(rate_ctr_group_get_ctr(priv->nsvc->ctrg, NS_CTR_LOST_RESET)); + RATE_CTR_INC_NS(priv->nsvc, NS_CTR_LOST_RESET); priv->N++; if (priv->N <= nsi->timeout[NS_TOUT_TNS_RESET_RETRIES]) { osmo_fsm_inst_state_chg(fi, GPRS_NS2_ST_RESET, nsi->timeout[NS_TOUT_TNS_RESET], 0); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24907 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ifa3c85ec52bda14596e9d7a8705baa1fd4ee2010 Gerrit-Change-Number: 24907 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jul 10 07:47:28 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 10 Jul 2021 07:47:28 +0000 Subject: Change in osmo-bsc[master]: lchan: call reset() upon alloc In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24882 ) Change subject: lchan: call reset() upon alloc ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24882 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I700a969f5b11c21dacda9a7cad00c943dce554b3 Gerrit-Change-Number: 24882 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 10 Jul 2021 07:47:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jul 11 04:52:19 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 11 Jul 2021 04:52:19 +0000 Subject: Change in osmo-bsc[master]: RES IND: parse msg and store interference levels in lchans In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24883 ) Change subject: RES IND: parse msg and store interference levels in lchans ...................................................................... Patch Set 3: (3 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/24883/3/src/osmo-bsc/abis_rsl.c File src/osmo-bsc/abis_rsl.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24883/3/src/osmo-bsc/abis_rsl.c at 1489 PS3, Line 1489: ts Cosmetic: I would make this pointer scoped, it's not used outside of the loop. https://gerrit.osmocom.org/c/osmo-bsc/+/24883/3/src/osmo-bsc/abis_rsl.c at 1498 PS3, Line 1498: LOGP(DRSL, LOGL_ERROR, "Rx Resource Indication: missing Resource Info IE\n"); Older versions of osmo-bts actually do send the RF RESource INDication without this IE (violating the specs). But this happens only once after the RSL connection establishment, after that no more RESource INDication messages are sent to the BSC. Just FYI. https://gerrit.osmocom.org/c/osmo-bsc/+/24883/3/src/osmo-bsc/abis_rsl.c at 1524 PS3, Line 1524: lchan->ts->trx->bts You already have the 'trx' pointer, so you could do 'trx->bts' below. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24883 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iccc1391e8419604bb09e464db8455e053dfbc982 Gerrit-Change-Number: 24883 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Sun, 11 Jul 2021 04:52: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 Sun Jul 11 05:06:00 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 11 Jul 2021 05:06:00 +0000 Subject: Change in osmo-bsc[master]: RES IND: add VTY: bts / channel allocator avoid-interference (0|1) In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24891 ) Change subject: RES IND: add VTY: bts / channel allocator avoid-interference (0|1) ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24891 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8b62d0b41ad9e908b27713db9219e3dbc1ebaab7 Gerrit-Change-Number: 24891 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 11 Jul 2021 05:06:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jul 11 05:11:40 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 11 Jul 2021 05:11:40 +0000 Subject: Change in osmo-bsc[master]: RES IND: add test_resource_indication.ho_vty In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24884 ) Change subject: RES IND: add test_resource_indication.ho_vty ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24884 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I56ec61196a1e103f0b4caf18d25d8222bb82cf87 Gerrit-Change-Number: 24884 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 11 Jul 2021 05:11:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jul 11 05:14:09 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 11 Jul 2021 05:14:09 +0000 Subject: Change in osmo-bsc[master]: RES IND: pick lchan with least interference In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24885 ) Change subject: RES IND: pick lchan with least interference ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24885/3/src/osmo-bsc/lchan_select.c File src/osmo-bsc/lchan_select.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24885/3/src/osmo-bsc/lchan_select.c at 116 PS3, Line 116: interf=%u=%ddBm I would do: interf=%u (%ddBm) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24885 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I844494092193811dfd9fa4d52983cbaed0fc9248 Gerrit-Change-Number: 24885 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 11 Jul 2021 05:14: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 Sun Jul 11 05:14:58 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 11 Jul 2021 05:14:58 +0000 Subject: Change in osmo-bsc[master]: add fixme comment for vty 'interference-meas level-bounds' In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24886 ) Change subject: add fixme comment for vty 'interference-meas level-bounds' ...................................................................... Patch Set 3: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24886/3/src/osmo-bsc/bsc_vty.c File src/osmo-bsc/bsc_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24886/3/src/osmo-bsc/bsc_vty.c at 5048 PS3, Line 5048: > instead of the comment you should at leat print a message to the user hinting that he should be re-s [?] Ack -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24886 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I501e07d34a26a1571a244f643563b5bf985c59d4 Gerrit-Change-Number: 24886 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Sun, 11 Jul 2021 05:14:58 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jul 11 05:20:47 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 11 Jul 2021 05:20:47 +0000 Subject: Change in osmo-bsc[master]: vty 'interference-meas level-bounds': explain duality in ordering In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24888 ) Change subject: vty 'interference-meas level-bounds': explain duality in ordering ...................................................................... Patch Set 3: Code-Review+1 I also believe that we should have brief command description, rather than documentation in place. While this should go to the user manual. But... well, there is no chapter explaining the interference measurements yet. And in general, I am ok with this change. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24888 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If71e20e95d29e7f03739ee04e1ef429bf8bd51ed Gerrit-Change-Number: 24888 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Sun, 11 Jul 2021 05:20:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jul 11 07:20:01 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 11 Jul 2021 07:20:01 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: fix potential NULL-pointer dereference References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24908 ) Change subject: lchan_fsm: fix potential NULL-pointer dereference ...................................................................... lchan_fsm: fix potential NULL-pointer dereference Change-Id: I373855b95f8bde0ce8f9c2ae7bf95c9135d33484 Related: SYS#5526 --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 5 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/08/24908/1 diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 841415f..e956a49 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -142,8 +142,11 @@ case ACTIVATE_FOR_ASSIGNMENT: LOG_LCHAN(lchan, LOGL_NOTICE, "Signalling Assignment FSM of error (%s)\n", lchan->last_error ? : "unknown error"); - _osmo_fsm_inst_dispatch(for_conn->assignment.fi, ASSIGNMENT_EV_LCHAN_ERROR, lchan, - file, line); + if (for_conn != NULL && for_conn->assignment.fi != NULL) { + _osmo_fsm_inst_dispatch(for_conn->assignment.fi, + ASSIGNMENT_EV_LCHAN_ERROR, + lchan, file, line); + } return; case ACTIVATE_FOR_HANDOVER: -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24908 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I373855b95f8bde0ce8f9c2ae7bf95c9135d33484 Gerrit-Change-Number: 24908 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 Jul 11 11:31:22 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 11 Jul 2021 11:31:22 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: fix potential NULL-pointer dereference In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24908 ) Change subject: lchan_fsm: fix potential NULL-pointer dereference ...................................................................... Patch Set 1: Code-Review+1 (3 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/24908/1/src/osmo-bsc/lchan_fsm.c File src/osmo-bsc/lchan_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24908/1/src/osmo-bsc/lchan_fsm.c at 145 PS1, Line 145: if (for_conn != NULL && for_conn->assignment.fi != NULL) { would be nicer if you copy below error handling and s/Handover/Assignment in the err msgs https://gerrit.osmocom.org/c/osmo-bsc/+/24908/1/src/osmo-bsc/lchan_fsm.c at 155 PS1, Line 155: if (!for_conn) { ...this https://gerrit.osmocom.org/c/osmo-bsc/+/24908/1/src/osmo-bsc/lchan_fsm.c at 161 PS1, Line 161: if (!for_conn->ho.fi) { ...and this -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24908 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I373855b95f8bde0ce8f9c2ae7bf95c9135d33484 Gerrit-Change-Number: 24908 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Sun, 11 Jul 2021 11:31: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 Sun Jul 11 11:42:30 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 11 Jul 2021 11:42:30 +0000 Subject: Change in osmo-bsc[master]: separate 'interference-meas level-bounds' cfg and used In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24887 ) Change subject: separate 'interference-meas level-bounds' cfg and used ...................................................................... Patch Set 3: > Last change you did is wrong, you move the Tx of the packet too!!! omf thanks for spotting that -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24887 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iad8cf4151ff7f86dc0549158ed5d91d788d40b1f Gerrit-Change-Number: 24887 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 11 Jul 2021 11:42: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 Sun Jul 11 17:35:28 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 11 Jul 2021 17:35:28 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: fix potential NULL-pointer dereference In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24908 ) Change subject: lchan_fsm: fix potential NULL-pointer dereference ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24908 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I373855b95f8bde0ce8f9c2ae7bf95c9135d33484 Gerrit-Change-Number: 24908 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Sun, 11 Jul 2021 17:35: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 Jul 11 17:36:32 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 11 Jul 2021 17:36:32 +0000 Subject: Change in osmo-bsc[master]: vty 'interference-meas level-bounds': explain duality in ordering In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24888 ) Change subject: vty 'interference-meas level-bounds': explain duality in ordering ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24888 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If71e20e95d29e7f03739ee04e1ef429bf8bd51ed Gerrit-Change-Number: 24888 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Sun, 11 Jul 2021 17:36: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 Jul 11 17:37:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 11 Jul 2021 17:37:57 +0000 Subject: Change in libosmocore[master]: Aggregate NSVC stats inside the NSE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24907 ) Change subject: Aggregate NSVC stats inside the NSE ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24907 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ifa3c85ec52bda14596e9d7a8705baa1fd4ee2010 Gerrit-Change-Number: 24907 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Sun, 11 Jul 2021 17:37:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jul 11 17:38:20 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 11 Jul 2021 17:38:20 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy_peer: Set rate_ctr name for gbproxy_peer stats In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24905 ) Change subject: gbproxy_peer: Set rate_ctr name for gbproxy_peer stats ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24905 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I60a5a208ab69ad1184ba643d063717a46a90b131 Gerrit-Change-Number: 24905 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 11 Jul 2021 17:38: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 Jul 11 17:38:28 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 11 Jul 2021 17:38:28 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy_peer: Set rate_ctr name for gbproxy_peer stats In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24905 ) Change subject: gbproxy_peer: Set rate_ctr name for gbproxy_peer stats ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24905 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I60a5a208ab69ad1184ba643d063717a46a90b131 Gerrit-Change-Number: 24905 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 11 Jul 2021 17:38: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 Jul 11 17:38:29 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 11 Jul 2021 17:38:29 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy_peer: Set rate_ctr name for gbproxy_peer stats In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24905 ) Change subject: gbproxy_peer: Set rate_ctr name for gbproxy_peer stats ...................................................................... gbproxy_peer: Set rate_ctr name for gbproxy_peer stats Change-Id: I60a5a208ab69ad1184ba643d063717a46a90b131 --- M src/gb_proxy_peer.c 1 file changed, 5 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/gb_proxy_peer.c b/src/gb_proxy_peer.c index f5ad445..4eb427b 100644 --- a/src/gb_proxy_peer.c +++ b/src/gb_proxy_peer.c @@ -70,6 +70,7 @@ struct gbproxy_bvc *gbproxy_bvc_alloc(struct gbproxy_nse *nse, uint16_t bvci) { + char idbuf[64]; struct gbproxy_bvc *bvc; OSMO_ASSERT(nse); struct gbproxy_config *cfg = nse->cfg; @@ -79,12 +80,16 @@ if (!bvc) return NULL; + snprintf(idbuf, sizeof(idbuf), "BVC%05u-NSE%05u", bvci, + nse->nsei); + osmo_identifier_sanitize_buf(idbuf, NULL, '_'); bvc->bvci = bvci; bvc->ctrg = rate_ctr_group_alloc(bvc, &bvc_ctrg_desc, (nse->nsei << 16) | bvci); if (!bvc->ctrg) { talloc_free(bvc); return NULL; } + rate_ctr_group_set_name(bvc->ctrg, idbuf); bvc->nse = nse; hash_add(nse->bvcs, &bvc->list, bvc->bvci); -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24905 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I60a5a208ab69ad1184ba643d063717a46a90b131 Gerrit-Change-Number: 24905 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jul 11 17:38:41 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 11 Jul 2021 17:38:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Introduce test TC_dyn_ts_sdcch8_tch_call_act_deact In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24906 ) Change subject: bsc: Introduce test TC_dyn_ts_sdcch8_tch_call_act_deact ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24906 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6110fe0bf56f4dbf67265f0d4c97cdea0b410af4 Gerrit-Change-Number: 24906 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 11 Jul 2021 17:38:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jul 11 17:39:15 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 11 Jul 2021 17:39:15 +0000 Subject: Change in osmo-bsc[master]: Avoid switching dyn ts to sdcch8 if it starves later TCH In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24876 ) Change subject: Avoid switching dyn ts to sdcch8 if it starves later TCH ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24876 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3b32968949a7bdcbebf5a823359295bac51d8e08 Gerrit-Change-Number: 24876 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Sun, 11 Jul 2021 17:39: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 Jul 11 17:39:40 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 11 Jul 2021 17:39:40 +0000 Subject: Change in osmo-bsc[master]: bsc_vty: add vty option to allow call-reestablishment In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24903 ) Change subject: bsc_vty: add vty option to allow call-reestablishment ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24903 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia18c1dde4c001cb4d423f694f8bc146adfd77daf Gerrit-Change-Number: 24903 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 11 Jul 2021 17:39: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 Jul 11 17:39:56 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 11 Jul 2021 17:39:56 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: add NO_LIST_OSMO_PACKAGES In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24902 ) Change subject: jenkins-common.sh: add NO_LIST_OSMO_PACKAGES ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24902 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iaafb81e9ee94850ae3b6318574ad5370d74a2838 Gerrit-Change-Number: 24902 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 11 Jul 2021 17:39: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 Jul 11 17:40:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 11 Jul 2021 17:40:16 +0000 Subject: Change in osmo-dev[master]: ttcn3.sh: set NO_LIST_OSMO_PACKAGES=1 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/24901 ) Change subject: ttcn3.sh: set NO_LIST_OSMO_PACKAGES=1 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/24901 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I3d9976d07f088e2d106d23259889a4bffe1abbcb Gerrit-Change-Number: 24901 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 11 Jul 2021 17:40:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jul 11 17:40:56 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 11 Jul 2021 17:40:56 +0000 Subject: Change in docker-playground[master]: Revert "ttcn3-bsc-test: enable A5/4 support in osmo-bsc.cfg" In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24900 ) Change subject: Revert "ttcn3-bsc-test: enable A5/4 support in osmo-bsc.cfg" ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24900 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I55135ca00ef51de5cf6eaec75cfc20c21beef665 Gerrit-Change-Number: 24900 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 11 Jul 2021 17:40: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 Jul 11 17:41:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 11 Jul 2021 17:41:01 +0000 Subject: Change in docker-playground[master]: Revert "ttcn3-bsc-test: enable A5/4 support in osmo-bsc.cfg" In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24900 ) Change subject: Revert "ttcn3-bsc-test: enable A5/4 support in osmo-bsc.cfg" ...................................................................... Revert "ttcn3-bsc-test: enable A5/4 support in osmo-bsc.cfg" The test that needs A5/4 enables it dynamically, and a new test requires a defined value to reset to. This reverts commit 8005014b55f3c7261731fd8f059ff2be1ea02f9c. Related: OS#4975 Depends: osmo-ttcn3-hacks I3cf36c6ef86a0db050507f3737f4b0c10dcd52ed Change-Id: I55135ca00ef51de5cf6eaec75cfc20c21beef665 --- M ttcn3-bsc-test/jenkins-sccplite.sh M ttcn3-bsc-test/jenkins.sh M ttcn3-bsc-test/osmo-bsc.cfg M ttcn3-bsc-test/sccplite/osmo-bsc.cfg 4 files changed, 2 insertions(+), 14 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved; Verified diff --git a/ttcn3-bsc-test/jenkins-sccplite.sh b/ttcn3-bsc-test/jenkins-sccplite.sh index 8c8613a..bc6eaa0 100755 --- a/ttcn3-bsc-test/jenkins-sccplite.sh +++ b/ttcn3-bsc-test/jenkins-sccplite.sh @@ -19,12 +19,6 @@ mkdir $VOL_BASE_DIR/bsc cp sccplite/osmo-bsc.cfg $VOL_BASE_DIR/bsc/ -# Exclude A5/4 for non-master versions of the IUT -if ! image_suffix_is_master; then - sed "s/encryption a5 0 1 3 4/encryption a5 0 1 3/" \ - -i $VOL_BASE_DIR/bsc/osmo-bsc.cfg -fi - SUBNET=12 network_create $SUBNET diff --git a/ttcn3-bsc-test/jenkins.sh b/ttcn3-bsc-test/jenkins.sh index ef910bd..18236a2 100755 --- a/ttcn3-bsc-test/jenkins.sh +++ b/ttcn3-bsc-test/jenkins.sh @@ -22,12 +22,6 @@ mkdir $VOL_BASE_DIR/bts-omldummy -# Exclude A5/4 for non-master versions of the IUT -if ! image_suffix_is_master; then - sed "s/encryption a5 0 1 3 4/encryption a5 0 1 3/" \ - -i $VOL_BASE_DIR/bsc/osmo-bsc.cfg -fi - SUBNET=2 network_create $SUBNET diff --git a/ttcn3-bsc-test/osmo-bsc.cfg b/ttcn3-bsc-test/osmo-bsc.cfg index 244e205..2044346 100644 --- a/ttcn3-bsc-test/osmo-bsc.cfg +++ b/ttcn3-bsc-test/osmo-bsc.cfg @@ -75,7 +75,7 @@ network network country code 1 mobile network code 1 - encryption a5 0 1 3 4 + encryption a5 0 1 3 neci 1 paging any use tch 0 handover 1 diff --git a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg index 0618e44..564ebce 100644 --- a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg +++ b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg @@ -64,7 +64,7 @@ network network country code 1 mobile network code 1 - encryption a5 0 1 3 4 + encryption a5 0 1 3 neci 1 paging any use tch 0 handover 1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24900 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I55135ca00ef51de5cf6eaec75cfc20c21beef665 Gerrit-Change-Number: 24900 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-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 Jul 11 17:41:12 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 11 Jul 2021 17:41:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_ciph_mode_a5_2_0 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24899 ) Change subject: bsc: add TC_ciph_mode_a5_2_0 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24899 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia02e9be52ccbe4b24a0bce56305be9f875e7adb1 Gerrit-Change-Number: 24899 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 11 Jul 2021 17:41:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jul 11 17:41:29 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 11 Jul 2021 17:41:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_ciph_mode_a5_2_1 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24898 ) Change subject: bsc: add TC_ciph_mode_a5_2_1 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24898 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I688d056bcfe73f7846f908a28f4621f944cf2178 Gerrit-Change-Number: 24898 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 11 Jul 2021 17: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 Sun Jul 11 17:41:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 11 Jul 2021 17:41:53 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: change encryption a5 via VTY where needed In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24897 ) Change subject: bsc: change encryption a5 via VTY where needed ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24897 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3cf36c6ef86a0db050507f3737f4b0c10dcd52ed Gerrit-Change-Number: 24897 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 11 Jul 2021 17:41:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jul 11 17:41:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 11 Jul 2021 17:41:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc/MSC_ConnectionHandler: fix typo In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24896 ) Change subject: bsc/MSC_ConnectionHandler: fix typo ...................................................................... bsc/MSC_ConnectionHandler: fix typo f_chipher_mode_bssmap_to_rsl => f_cipher_mode_bssmap_to_rsl Change-Id: If874a3fa6f42de4f5f484e597de028715cd08043 --- M bsc/BSC_Tests.ttcn M bsc/MSC_ConnectionHandler.ttcn 2 files changed, 6 insertions(+), 6 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 6b079a6..b85aa63 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -1520,7 +1520,7 @@ encryptionInformation := valueof(ts_BSSMAP_IE_EncrInfo(v_enc.enc_key, v_enc.enc_alg)); chosenEncryptionAlgorithm := valueof( ts_BSSMAP_IE_ChosenEncryptionAlgorithm(int2oct(enum2int( - f_chipher_mode_bssmap_to_rsl(v_enc.enc_alg)), 1))); + f_cipher_mode_bssmap_to_rsl(v_enc.enc_alg)), 1))); if (ispresent(v_enc.enc_kc128)) { kc128 := ts_BSSMAP_IE_Kc128(v_enc.enc_kc128); } diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index 3e2e4f7..94ec2b9 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -673,8 +673,8 @@ f_rsl_send_l3(l3, link_id, chan_nr); } -/* Convert the chipher representation on BSSMAP to the representation used on RSL */ -function f_chipher_mode_bssmap_to_rsl(OCT1 alg_bssmap) return RSL_AlgId +/* Convert the cipher representation on BSSMAP to the representation used on RSL */ +function f_cipher_mode_bssmap_to_rsl(OCT1 alg_bssmap) return RSL_AlgId { /* A5 0 */ if (alg_bssmap == '01'O) { @@ -731,7 +731,7 @@ /* RSL uses a different representation of the encryption algorithm, * so we need to convert first */ - alg_rsl := f_chipher_mode_bssmap_to_rsl(g_pars.encr.enc_alg); + alg_rsl := f_cipher_mode_bssmap_to_rsl(g_pars.encr.enc_alg); if (alg_rsl == RSL_ALG_ID_A5_4 and ispresent(g_pars.encr.enc_kc128)) { expect_kc := g_pars.encr.enc_kc128; @@ -797,7 +797,7 @@ Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Unexpected Cipher Mode Complete"); } else { setverdict(pass); - var RSL_AlgId alg_rsl := f_chipher_mode_bssmap_to_rsl(g_pars.encr.enc_alg); + var RSL_AlgId alg_rsl := f_cipher_mode_bssmap_to_rsl(g_pars.encr.enc_alg); if (oct2int(bssap.pdu.bssmap.cipherModeComplete.chosenEncryptionAlgorithm.algorithmIdentifier) != enum2int(alg_rsl)) { setverdict(fail, "Unexpected Encryption Algorithm ID in BSSMAP Cipher Mode Complete"); } @@ -897,7 +897,7 @@ if (not f_rsl_find_ie(chan_act, RSL_IE_ENCR_INFO, encr_info)) { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Missing Encryption IE in CHAN ACT"); } else { - var RSL_AlgId alg := f_chipher_mode_bssmap_to_rsl(g_pars.encr.enc_alg); + var RSL_AlgId alg := f_cipher_mode_bssmap_to_rsl(g_pars.encr.enc_alg); var octetstring expect_key; if (alg == RSL_ALG_ID_A5_4) { expect_key := g_pars.encr.enc_kc128; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24896 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If874a3fa6f42de4f5f484e597de028715cd08043 Gerrit-Change-Number: 24896 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jul 11 17:41:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 11 Jul 2021 17:41:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: change encryption a5 via VTY where needed In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24897 ) Change subject: bsc: change encryption a5 via VTY where needed ...................................................................... bsc: change encryption a5 via VTY where needed Do not assume that osmo-bsc.cfg contains "0 1 3 4" for master and "0 1 3" for latest anymore. An upcoming test will need to change the value as the test runs and needs a defined value to reset to. Assume that osmo-bsc.cfg contains "0 1 3" and change it to "0 1 3 4" only for TC_ciph_mode_a5_4. Related: OS#4975 Related: docker-playground I55135ca00ef51de5cf6eaec75cfc20c21beef665 Change-Id: I3cf36c6ef86a0db050507f3737f4b0c10dcd52ed --- M bsc/BSC_Tests.ttcn M bsc/osmo-bsc.cfg 2 files changed, 16 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/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index b85aa63..6bea49e 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -3304,6 +3304,19 @@ fn.apply(id); } +private function f_vty_encryption_a5(charstring options) runs on test_CT { + f_vty_transceive(BSCVTY, "configure terminal"); + f_vty_transceive(BSCVTY, "network"); + f_vty_transceive(BSCVTY, "encryption a5 " & options); + f_vty_transceive(BSCVTY, "exit"); + f_vty_transceive(BSCVTY, "exit"); +} + +private function f_vty_encryption_a5_reset() runs on test_CT { + /* keep in sync with docker-playground.git ttcn3-bsc-test/osmo-bsc.cfg */ + f_vty_encryption_a5("0 1 3"); +} + /* Establish signalling channel (non-assignment case) followed by cipher mode */ private function f_tc_ciph_mode_a5(charstring id) runs on MSC_ConnHdlr { var template PDU_BSSAP exp_compl := f_gen_exp_compl(); @@ -3356,9 +3369,11 @@ pars.encr := valueof(t_EncrParams('10'O, f_rnd_octstring(8), f_rnd_octstring(16))); f_init(1, true); + f_vty_encryption_a5("0 1 3 4"); f_sleep(1.0); vc_conn := f_start_handler(refers(f_tc_ciph_mode_a5), pars); vc_conn.done; + f_vty_encryption_a5_reset(); f_shutdown_helper(); } /* establish initial channel, enable ciphering followed by assignment to ciphered channel */ diff --git a/bsc/osmo-bsc.cfg b/bsc/osmo-bsc.cfg index 7b0fa2a..b64a63d 100644 --- a/bsc/osmo-bsc.cfg +++ b/bsc/osmo-bsc.cfg @@ -69,7 +69,7 @@ network network country code 1 mobile network code 1 - encryption a5 0 1 3 4 + encryption a5 0 1 3 neci 1 paging any use tch 0 handover 1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24897 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3cf36c6ef86a0db050507f3737f4b0c10dcd52ed Gerrit-Change-Number: 24897 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jul 11 17:41:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 11 Jul 2021 17:41:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_ciph_mode_a5_2_1 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24898 ) Change subject: bsc: add TC_ciph_mode_a5_2_1 ...................................................................... bsc: add TC_ciph_mode_a5_2_1 Verify that A5/1 is preferred over A5/2. Add encr_exp_enc_alg to MSC_ConnectionHandler:TestHdlrEncrParams, so the expected encryption algorithm can be different from what the MSC tells the BSC about the capabilities of MS. Related: OS#4975 Change-Id: I688d056bcfe73f7846f908a28f4621f944cf2178 --- M bsc/BSC_Tests.ttcn M bsc/MSC_ConnectionHandler.ttcn M bsc/expected-results.xml 3 files changed, 36 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 6bea49e..dac86ca 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -3351,6 +3351,22 @@ vc_conn.done; f_shutdown_helper(); } +/* OS#4975: verify that A5/1 is preferred over A5/2 */ +testcase TC_ciph_mode_a5_2_1() runs on test_CT { + var MSC_ConnHdlr vc_conn; + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + + pars.encr := valueof(t_EncrParams('06'O, f_rnd_octstring(8))); /* A5/1 and A5/2 (0x02|0x04)*/ + pars.encr_exp_enc_alg := '02'O; /* A5/1 */ + + f_init(1, true); + f_vty_encryption_a5("1 2"); + f_sleep(1.0); + vc_conn := f_start_handler(refers(f_tc_ciph_mode_a5), pars); + vc_conn.done; + f_vty_encryption_a5_reset(); + f_shutdown_helper(); +} testcase TC_ciph_mode_a5_3() runs on test_CT { var MSC_ConnHdlr vc_conn; var TestHdlrParams pars := f_gen_test_hdlr_pars(); @@ -9228,6 +9244,7 @@ execute( TC_assignment_fr_a5_not_sup() ); execute( TC_ciph_mode_a5_0() ); execute( TC_ciph_mode_a5_1() ); + execute( TC_ciph_mode_a5_2_1() ); execute( TC_ciph_mode_a5_3() ); execute( TC_ciph_mode_a5_4() ); diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index 94ec2b9..fc12307 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -581,6 +581,7 @@ RSL_IE_Body expect_mr_conf_ie optional, /* typically present for AMR codecs */ bitstring expect_mr_s0_s7 optional, /* typically present for AMR codecs */ TestHdlrEncrParams encr optional, + OCT1 encr_exp_enc_alg optional, /* if set, expect a different enc_alg than encr.enc_alg */ TestHdlrParamsLcls lcls, SCCP_PAR_Address sccp_addr_msc optional, SCCP_PAR_Address sccp_addr_bsc optional, @@ -610,6 +611,7 @@ expect_mr_conf_ie := omit, expect_mr_s0_s7 := omit, encr := omit, + encr_exp_enc_alg := omit, lcls := { gcr := omit, cfg := omit, @@ -713,6 +715,19 @@ } } +function f_cipher_mode_bssmap_to_rsl_exp_enc_alg() runs on MSC_ConnHdlr return RSL_AlgId +{ + var OCT1 enc_alg; + + if (ispresent(g_pars.encr_exp_enc_alg)) { + enc_alg := g_pars.encr_exp_enc_alg; + } else { + enc_alg := g_pars.encr.enc_alg; + } + + return f_cipher_mode_bssmap_to_rsl(enc_alg); +} + function f_verify_encr_info(RSL_Message rsl) runs on MSC_ConnHdlr { var RSL_IE_Body encr_info; var RSL_AlgId alg_rsl; @@ -731,7 +746,7 @@ /* RSL uses a different representation of the encryption algorithm, * so we need to convert first */ - alg_rsl := f_cipher_mode_bssmap_to_rsl(g_pars.encr.enc_alg); + alg_rsl := f_cipher_mode_bssmap_to_rsl_exp_enc_alg(); if (alg_rsl == RSL_ALG_ID_A5_4 and ispresent(g_pars.encr.enc_kc128)) { expect_kc := g_pars.encr.enc_kc128; @@ -797,7 +812,7 @@ Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Unexpected Cipher Mode Complete"); } else { setverdict(pass); - var RSL_AlgId alg_rsl := f_cipher_mode_bssmap_to_rsl(g_pars.encr.enc_alg); + var RSL_AlgId alg_rsl := f_cipher_mode_bssmap_to_rsl_exp_enc_alg(); if (oct2int(bssap.pdu.bssmap.cipherModeComplete.chosenEncryptionAlgorithm.algorithmIdentifier) != enum2int(alg_rsl)) { setverdict(fail, "Unexpected Encryption Algorithm ID in BSSMAP Cipher Mode Complete"); } @@ -897,7 +912,7 @@ if (not f_rsl_find_ie(chan_act, RSL_IE_ENCR_INFO, encr_info)) { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Missing Encryption IE in CHAN ACT"); } else { - var RSL_AlgId alg := f_cipher_mode_bssmap_to_rsl(g_pars.encr.enc_alg); + var RSL_AlgId alg := f_cipher_mode_bssmap_to_rsl_exp_enc_alg(); var octetstring expect_key; if (alg == RSL_ALG_ID_A5_4) { expect_key := g_pars.encr.enc_kc128; diff --git a/bsc/expected-results.xml b/bsc/expected-results.xml index d2052b8..793ca03 100644 --- a/bsc/expected-results.xml +++ b/bsc/expected-results.xml @@ -54,6 +54,7 @@ + -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24898 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I688d056bcfe73f7846f908a28f4621f944cf2178 Gerrit-Change-Number: 24898 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jul 11 17:42:00 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 11 Jul 2021 17:42:00 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_ciph_mode_a5_2_0 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24899 ) Change subject: bsc: add TC_ciph_mode_a5_2_0 ...................................................................... bsc: add TC_ciph_mode_a5_2_0 Verify that A5/2 is preferred over A5/0. Related: OS#4975 Change-Id: Ia02e9be52ccbe4b24a0bce56305be9f875e7adb1 --- M bsc/BSC_Tests.ttcn M bsc/expected-results.xml 2 files changed, 18 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/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index dac86ca..2a89659 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -3351,6 +3351,22 @@ vc_conn.done; f_shutdown_helper(); } +/* OS#4975: verify that A5/2 is preferred over A5/0 */ +testcase TC_ciph_mode_a5_2_0() runs on test_CT { + var MSC_ConnHdlr vc_conn; + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + + pars.encr := valueof(t_EncrParams('05'O, f_rnd_octstring(8))); /* A5/0 and A5/2 (0x01|0x04)*/ + pars.encr_exp_enc_alg := '04'O; /* A5/2 */ + + f_init(1, true); + f_vty_encryption_a5("0 1 2 3"); + f_sleep(1.0); + vc_conn := f_start_handler(refers(f_tc_ciph_mode_a5), pars); + vc_conn.done; + f_vty_encryption_a5_reset(); + f_shutdown_helper(); +} /* OS#4975: verify that A5/1 is preferred over A5/2 */ testcase TC_ciph_mode_a5_2_1() runs on test_CT { var MSC_ConnHdlr vc_conn; @@ -9244,6 +9260,7 @@ execute( TC_assignment_fr_a5_not_sup() ); execute( TC_ciph_mode_a5_0() ); execute( TC_ciph_mode_a5_1() ); + execute( TC_ciph_mode_a5_2_0() ); execute( TC_ciph_mode_a5_2_1() ); execute( TC_ciph_mode_a5_3() ); execute( TC_ciph_mode_a5_4() ); diff --git a/bsc/expected-results.xml b/bsc/expected-results.xml index 793ca03..fd2d4d8 100644 --- a/bsc/expected-results.xml +++ b/bsc/expected-results.xml @@ -54,6 +54,7 @@ + -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24899 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia02e9be52ccbe4b24a0bce56305be9f875e7adb1 Gerrit-Change-Number: 24899 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jul 11 17:43:48 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 11 Jul 2021 17:43:48 +0000 Subject: Change in osmo-ci[master]: lint: checkpatch.pl: exclude pattern, not dir In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24865 ) Change subject: lint: checkpatch.pl: exclude pattern, not dir ...................................................................... Patch Set 2: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24865 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ic3990fba60060c331c479174183924b9cdbdb4c8 Gerrit-Change-Number: 24865 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 11 Jul 2021 17:43:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jul 11 17:43:54 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 11 Jul 2021 17:43:54 +0000 Subject: Change in osmo-ci[master]: lint: exclude *.ok, *.err In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24866 ) Change subject: lint: exclude *.ok, *.err ...................................................................... Patch Set 2: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24866 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I79004cec3e2eb753951a7f886318ac0db4ea2c06 Gerrit-Change-Number: 24866 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 11 Jul 2021 17:43: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 Jul 11 17:44:09 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 11 Jul 2021 17:44:09 +0000 Subject: Change in osmo-ci[master]: lint: ignore COMPLEX_MACRO In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24867 ) Change subject: lint: ignore COMPLEX_MACRO ...................................................................... Patch Set 2: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24867 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ic9d752ca841161a62e3631c84b4237a0d8594363 Gerrit-Change-Number: 24867 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 11 Jul 2021 17:44:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jul 11 17:44:24 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 11 Jul 2021 17:44:24 +0000 Subject: Change in osmo-ci[master]: lint: ignore LINE_CONTINUATIONS In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24868 ) Change subject: lint: ignore LINE_CONTINUATIONS ...................................................................... Patch Set 2: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24868 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I8d8004f2a8ef926588487187af7cdef8254c7248 Gerrit-Change-Number: 24868 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 11 Jul 2021 17:44:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jul 11 17:44:43 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 11 Jul 2021 17:44:43 +0000 Subject: Change in osmo-ci[master]: lint: checkpatch.pl: fix && complaints In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24869 ) Change subject: lint: checkpatch.pl: fix && complaints ...................................................................... Patch Set 2: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24869 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I7ce79e6b291b3a3dab6587a589eeef0a0bc53de9 Gerrit-Change-Number: 24869 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 11 Jul 2021 17:44:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jul 11 17:44:45 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 11 Jul 2021 17:44:45 +0000 Subject: Change in osmo-ci[master]: lint: checkpatch.pl: exclude pattern, not dir In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24865 ) Change subject: lint: checkpatch.pl: exclude pattern, not dir ...................................................................... lint: checkpatch.pl: exclude pattern, not dir Allow to exclude files in a follow-up commit, not just directories. Related: OS#5087 Change-Id: Ic3990fba60060c331c479174183924b9cdbdb4c8 --- M lint/checkpatch/checkpatch.pl M lint/checkpatch/checkpatch_osmo.sh 2 files changed, 4 insertions(+), 4 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved; Verified diff --git a/lint/checkpatch/checkpatch.pl b/lint/checkpatch/checkpatch.pl index 2cd5402..dc56812 100755 --- a/lint/checkpatch/checkpatch.pl +++ b/lint/checkpatch/checkpatch.pl @@ -105,7 +105,7 @@ --list-types list the possible message types --types TYPE(,TYPE2...) show only these comma separated message types --ignore TYPE(,TYPE2...) ignore various comma separated message types - --exclude DIR(,DIR22...) exclude directories + --exclude PATTERN(,P2...) exclude pattern --show-types show the specific message type in the output --max-line-length=n set the maximum line length, (default $max_line_length) if exceeded, warn on patches @@ -2811,7 +2811,7 @@ my $skipme = 0; foreach (@exclude) { - if ($realfile =~ m@^(?:$_/)@) { + if ($realfile =~ m@$_@) { $skipme = 1; } } diff --git a/lint/checkpatch/checkpatch_osmo.sh b/lint/checkpatch/checkpatch_osmo.sh index 0a5c65f..bdbd125 100755 --- a/lint/checkpatch/checkpatch_osmo.sh +++ b/lint/checkpatch/checkpatch_osmo.sh @@ -2,7 +2,7 @@ SCRIPT_DIR="$(dirname "$(realpath "$0")")" # Excluded paths: -# * lint/checkpath: so it does not warn about spelling errors in spelling.txt :) +# * ^lint/checkpatch/: so it does not warn about spelling errors in spelling.txt :) # Ignored checks: # * ASSIGN_IN_IF: not followed (e.g. 'if ((u8 = gsup_msg->cause))') @@ -23,7 +23,7 @@ # * STRING_FRAGMENTS: sometimes used intentionally to improve readability $SCRIPT_DIR/checkpatch.pl \ - --exclude lint/checkpatch \ + --exclude '^lint/checkpatch/' \ --ignore ASSIGN_IN_IF \ --ignore AVOID_EXTERNS \ --ignore BLOCK_COMMENT_STYLE \ -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24865 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ic3990fba60060c331c479174183924b9cdbdb4c8 Gerrit-Change-Number: 24865 Gerrit-PatchSet: 2 Gerrit-Owner: osmith 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 Jul 11 17:44:47 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 11 Jul 2021 17:44:47 +0000 Subject: Change in osmo-ci[master]: lint: exclude *.ok, *.err In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24866 ) Change subject: lint: exclude *.ok, *.err ...................................................................... lint: exclude *.ok, *.err Complains about e.g. \r\n in *.ok files. Related: OS#5087 Change-Id: I79004cec3e2eb753951a7f886318ac0db4ea2c06 --- M lint/checkpatch/checkpatch_osmo.sh 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved; Verified diff --git a/lint/checkpatch/checkpatch_osmo.sh b/lint/checkpatch/checkpatch_osmo.sh index bdbd125..b98e98b 100755 --- a/lint/checkpatch/checkpatch_osmo.sh +++ b/lint/checkpatch/checkpatch_osmo.sh @@ -2,6 +2,7 @@ SCRIPT_DIR="$(dirname "$(realpath "$0")")" # Excluded paths: +# * \.(ok|err)$: stdout and stderr of regression tests # * ^lint/checkpatch/: so it does not warn about spelling errors in spelling.txt :) # Ignored checks: @@ -23,6 +24,7 @@ # * STRING_FRAGMENTS: sometimes used intentionally to improve readability $SCRIPT_DIR/checkpatch.pl \ + --exclude '\.(ok|err)$' \ --exclude '^lint/checkpatch/' \ --ignore ASSIGN_IN_IF \ --ignore AVOID_EXTERNS \ -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24866 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I79004cec3e2eb753951a7f886318ac0db4ea2c06 Gerrit-Change-Number: 24866 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-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 Jul 11 17:44:47 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 11 Jul 2021 17:44:47 +0000 Subject: Change in osmo-ci[master]: lint: ignore COMPLEX_MACRO In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24867 ) Change subject: lint: ignore COMPLEX_MACRO ...................................................................... lint: ignore COMPLEX_MACRO Complains about, for example: #define MDCX4 \ "MDCX 18983217 1 at mgw MGCP 1.0\r\n" \ "M: sendrecv\r" \ "C: 2\r\n" \ "I: %s\r\n" \ "L: p:20, a:AMR, nt:IN\r\n" \ "\n" \ "v=0\r\n" \ "o=- %s 23 IN IP4 5.6.7.8\r\n" \ "c=IN IP4 5.6.7.8\r\n" \ "t=0 0\r\n" \ "m=audio 4441 RTP/AVP 99\r\n" \ "a=rtpmap:99 AMR/8000\r\n" \ "a=ptime:40\r\n" Related: OS#5087 Change-Id: Ic9d752ca841161a62e3631c84b4237a0d8594363 --- M lint/checkpatch/checkpatch_osmo.sh 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved; Verified diff --git a/lint/checkpatch/checkpatch_osmo.sh b/lint/checkpatch/checkpatch_osmo.sh index b98e98b..75fef8e 100755 --- a/lint/checkpatch/checkpatch_osmo.sh +++ b/lint/checkpatch/checkpatch_osmo.sh @@ -9,6 +9,7 @@ # * ASSIGN_IN_IF: not followed (e.g. 'if ((u8 = gsup_msg->cause))') # * AVOID_EXTERNS: we do use externs # * BLOCK_COMMENT_STYLE: we don't use a trailing */ on a separate line +# * COMPLEX_MACRO: we don't use parentheses when building macros of strings across multiple lines # * CONSTANT_COMPARISON: not followed: "Comparisons should place the constant on the right side" # * EMBEDDED_FUNCTION_NAME: often __func__ isn't used, arguably not much benefit in changing this when touching code # * EXECUTE_PERMISSIONS: not followed, files need to be executable: git-version-gen, some in debian/ @@ -29,6 +30,7 @@ --ignore ASSIGN_IN_IF \ --ignore AVOID_EXTERNS \ --ignore BLOCK_COMMENT_STYLE \ + --ignore COMPLEX_MACRO \ --ignore CONSTANT_COMPARISON \ --ignore EMBEDDED_FUNCTION_NAME \ --ignore EXECUTE_PERMISSIONS \ -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24867 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ic9d752ca841161a62e3631c84b4237a0d8594363 Gerrit-Change-Number: 24867 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-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 Jul 11 17:44:47 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 11 Jul 2021 17:44:47 +0000 Subject: Change in osmo-ci[master]: lint: ignore LINE_CONTINUATIONS In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24868 ) Change subject: lint: ignore LINE_CONTINUATIONS ...................................................................... lint: ignore LINE_CONTINUATIONS Causes false positives, e.g. in tests/mgcp/mgcp_test.c in osmo-mgw: #define MDCX4_PT2 \ "MDCX 18983218 1 at mgw MGCP 1.0\r\n" \ "M: sendrecv\r" \ "C: 2\r\n" \ "I: %s\r\n" \ "L: p:20-20, a:AMR, nt:IN\r\n" \ ... tests/mgcp/mgcp_test.c:189: WARNING:LINE_CONTINUATIONS: Avoid unnecessary line continuations Related: OS#5087 Change-Id: I8d8004f2a8ef926588487187af7cdef8254c7248 --- M lint/checkpatch/checkpatch_osmo.sh 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve dexter: Looks good to me, but someone else must approve laforge: Looks good to me, approved; Verified diff --git a/lint/checkpatch/checkpatch_osmo.sh b/lint/checkpatch/checkpatch_osmo.sh index 75fef8e..1932c03 100755 --- a/lint/checkpatch/checkpatch_osmo.sh +++ b/lint/checkpatch/checkpatch_osmo.sh @@ -18,6 +18,7 @@ # * GLOBAL_INITIALISERS: we initialise globals to NULL for talloc ctx (e.g. *tall_lapd_ctx = NULL) # * IF_0: used intentionally # * INITIALISED_STATIC: we use this, see also http://lkml.iu.edu/hypermail/linux/kernel/0808.1/2235.html +# * LINE_CONTINUATIONS: false positives # * LINE_SPACING: we don't always put a blank line after declarations # * REPEATED_WORD: false positives in doxygen descriptions (e.g. '\param[in] data Data passed through...') # * SPDX_LICENSE_TAG: we don't place it on line 1 @@ -39,6 +40,7 @@ --ignore GLOBAL_INITIALISERS \ --ignore IF_0 \ --ignore INITIALISED_STATIC \ + --ignore LINE_CONTINUATIONS \ --ignore LINE_SPACING \ --ignore REPEATED_WORD \ --ignore SPDX_LICENSE_TAG \ -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24868 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I8d8004f2a8ef926588487187af7cdef8254c7248 Gerrit-Change-Number: 24868 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jul 11 17:44:48 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 11 Jul 2021 17:44:48 +0000 Subject: Change in osmo-ci[master]: lint: checkpatch.pl: fix && complaints In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24869 ) Change subject: lint: checkpatch.pl: fix && complaints ...................................................................... lint: checkpatch.pl: fix && complaints Don't complain with: ERROR:SPACING: space prohibited after that '&&' (ctx:ExW) in code similar to: if (conn->conn->mode != MGCP_CONN_LOOPBACK && conn->conn->mode != MGCP_CONN_RECV_ONLY && !mgcp_rtp_end_remote_addr_available(&conn->end)) { The check was supposed to complain about spaces if the && is used as unary operator (to get the address of a goto label). But it's clearly producing false positives in the Osmocom context with use as non-unary operator, so remove this check. Related: OS#5087 Related: https://github.com/torvalds/linux/commit/0d413866c7df63794790518e3fd5890969c206ad Change-Id: I7ce79e6b291b3a3dab6587a589eeef0a0bc53de9 --- M lint/checkpatch/checkpatch.pl 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved; Verified diff --git a/lint/checkpatch/checkpatch.pl b/lint/checkpatch/checkpatch.pl index dc56812..ad99e0c 100755 --- a/lint/checkpatch/checkpatch.pl +++ b/lint/checkpatch/checkpatch.pl @@ -5072,7 +5072,7 @@ # unary operator, or a cast } elsif ($op eq '!' || $op eq '~' || $opv eq '*U' || $opv eq '-U' || - $opv eq '&U' || $opv eq '&&U') { + $opv eq '&U') { # Osmocom specific: &&U removed if ($ctx !~ /[WEBC]x./ && $ca !~ /(?:\)|!|~|\*|-|\&|\||\+\+|\-\-|\{)$/) { if (ERROR("SPACING", "space required before that '$op' $at\n" . $hereptr)) { -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24869 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I7ce79e6b291b3a3dab6587a589eeef0a0bc53de9 Gerrit-Change-Number: 24869 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-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 Jul 11 17:44:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 11 Jul 2021 17:44:59 +0000 Subject: Change in osmo-bsc[master]: handover_ctrl: add control interface for handover settings In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24600 ) Change subject: handover_ctrl: add control interface for handover settings ...................................................................... Patch Set 7: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24600 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I12f143906818fd6b16e8783157cbb1eb51e49ffc Gerrit-Change-Number: 24600 Gerrit-PatchSet: 7 Gerrit-Owner: dexter Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 11 Jul 2021 17:44: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 Jul 11 17:45:20 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 11 Jul 2021 17:45:20 +0000 Subject: Change in osmo-dev[master]: net/templates/run.sh: tweak masquerade In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/24875 ) Change subject: net/templates/run.sh: tweak masquerade ...................................................................... Patch Set 2: Verified+1 Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/24875 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I30c22fe4e7683611e8dada329dbf7d51f78b6016 Gerrit-Change-Number: 24875 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 11 Jul 2021 17: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 Jul 11 17:47:42 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 11 Jul 2021 17:47:42 +0000 Subject: Change in osmo-bts[master]: main: do not use fprintf to log fatal errors In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24707 ) Change subject: main: do not use fprintf to log fatal errors ...................................................................... Patch Set 2: ping? just re-add strerror to merge.. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24707 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I2ae4acf6a92137236e1b62c2d0aab79a34134f45 Gerrit-Change-Number: 24707 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Sun, 11 Jul 2021 17:47: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 Sun Jul 11 18:55:04 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 11 Jul 2021 18:55:04 +0000 Subject: Change in osmo-bsc[master]: add fixme comment for vty 'interference-meas level-bounds' In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24886 ) Change subject: add fixme comment for vty 'interference-meas level-bounds' ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24886/3/src/osmo-bsc/bsc_vty.c File src/osmo-bsc/bsc_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24886/3/src/osmo-bsc/bsc_vty.c at 5048 PS3, Line 5048: > Ack the point is not that we need 'drop oml' (which is correctly indicated by that VTY attribute). The point is that as soon as the user changes the bsc's config, the incoming reported interference levels will be interpreted wrongly. i see it as a full out bug. if we agree on the next patch that fixes the issue, we can also squash this change away. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24886 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I501e07d34a26a1571a244f643563b5bf985c59d4 Gerrit-Change-Number: 24886 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Sun, 11 Jul 2021 18:55:04 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge 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 Jul 11 18:59:18 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 11 Jul 2021 18:59:18 +0000 Subject: Change in osmo-bsc[master]: RES IND: parse msg and store interference levels in lchans In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24883 to look at the new patch set (#4). Change subject: RES IND: parse msg and store interference levels in lchans ...................................................................... RES IND: parse msg and store interference levels in lchans Also show the current interference levels of unused lchans in the vty. Related: SYS#5313 Change-Id: Iccc1391e8419604bb09e464db8455e053dfbc982 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/lchan_fsm.c 4 files changed, 106 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/83/24883/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24883 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iccc1391e8419604bb09e464db8455e053dfbc982 Gerrit-Change-Number: 24883 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jul 11 18:59:18 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 11 Jul 2021 18:59:18 +0000 Subject: Change in osmo-bsc[master]: RES IND: add test_resource_indication.ho_vty In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, fixeria, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24884 to look at the new patch set (#4). Change subject: RES IND: add test_resource_indication.ho_vty ...................................................................... RES IND: add test_resource_indication.ho_vty Show that osmo-bsc does not yet take Resource Indication's reported interference levels into account. (An upcoming patch will change that.) This test is not actually doing any handover, but it is using the handover/*.ho_vty scripting that was intended for handover testing. (Like test_dyn_ts_favor_half_used_tch_h_as_target.ho_vty does.) Related: SYS#5313 Change-Id: I56ec61196a1e103f0b4caf18d25d8222bb82cf87 --- M tests/handover/handover_test.c M tests/handover/handover_tests.ok A tests/handover/test_resource_indication.ho_vty 3 files changed, 165 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/84/24884/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24884 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I56ec61196a1e103f0b4caf18d25d8222bb82cf87 Gerrit-Change-Number: 24884 Gerrit-PatchSet: 4 Gerrit-Owner: neels 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 Sun Jul 11 18:59:18 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 11 Jul 2021 18:59:18 +0000 Subject: Change in osmo-bsc[master]: separate 'interference-meas level-bounds' cfg and used In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24887 to look at the new patch set (#4). Change subject: separate 'interference-meas level-bounds' cfg and used ...................................................................... separate 'interference-meas level-bounds' cfg and used The VTY defun already indicates BSC_VTY_ATTR_RESTART_ABIS_OML_LINK correctly, but so far we would immediately start using the new values internally, and wrongly interpret interference levels. Fix that. Have bts->interf_meas_params twice: interf_meas_params_cfg for the VTY configured values, and interf_meas_params_used for the values that the BTS actually knows about, after they were sent via OML. In a running BSC, when changing the interference level boundaries on the telnet VTY, the BTS is not immediately told about the change. That would require a BTS restart. Hence store the cfg values separately in interf_meas_params_cfg. For comparing/printing interference levels in a running BTS, only employ the values that were actually sent via OML and placed in interf_meas_params_used. Related: SYS#5313 Change-Id: Iad8cf4151ff7f86dc0549158ed5d91d788d40b1f --- M include/osmocom/bsc/bts.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/bts.c M src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c M src/osmo-bsc/nm_bts_fsm.c M tests/handover/handover_test.c 7 files changed, 28 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/87/24887/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24887 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iad8cf4151ff7f86dc0549158ed5d91d788d40b1f Gerrit-Change-Number: 24887 Gerrit-PatchSet: 4 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 Sun Jul 11 19:05:25 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 11 Jul 2021 19:05:25 +0000 Subject: Change in osmo-bsc[master]: add fixme comment for vty 'interference-meas level-bounds' In-Reply-To: References: Message-ID: neels has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24886 ) Change subject: add fixme comment for vty 'interference-meas level-bounds' ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24886 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I501e07d34a26a1571a244f643563b5bf985c59d4 Gerrit-Change-Number: 24886 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jul 11 19:09:37 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sun, 11 Jul 2021 19:09:37 +0000 Subject: Change in libosmo-sccp[master]: m3ua: fix leaky usage of m3ua_tx_xua_asp References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24909 ) Change subject: m3ua: fix leaky usage of m3ua_tx_xua_asp ...................................................................... m3ua: fix leaky usage of m3ua_tx_xua_asp m3ua_tx_xua_asp will at some point convert the xua msg to a msgb by copying and then send it, the xua msg still needs to be freed by the caller. Change-Id: Id8584b99f30f2db602d4d129e4114821697272ab --- M src/m3ua.c 1 file changed, 5 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/09/24909/1 diff --git a/src/m3ua.c b/src/m3ua.c index e2db6c1..4583683 100644 --- a/src/m3ua.c +++ b/src/m3ua.c @@ -752,8 +752,10 @@ err = m3ua_gen_error_msg(rc, msg); out: - if (err) + if (err) { m3ua_tx_xua_asp(asp, err); + xua_msg_free(err); + } xua_msg_free(xua); @@ -856,6 +858,7 @@ xua = m3ua_encode_duna(rctx, num_rctx, aff_pc, num_aff_pc, info_string); m3ua_tx_xua_asp(asp, xua); + xua_msg_free(xua); } /*! Transmit SSNM DUPU message indicating user unavailability. @@ -871,6 +874,7 @@ { struct xua_msg *xua = m3ua_encode_dupu(rctx, num_rctx, dpc, user, cause, info_str); m3ua_tx_xua_asp(asp, xua); + xua_msg_free(xua); } /* received SNM message on ASP side */ -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24909 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Id8584b99f30f2db602d4d129e4114821697272ab Gerrit-Change-Number: 24909 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jul 11 19:10:27 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sun, 11 Jul 2021 19:10:27 +0000 Subject: Change in libosmo-sccp[master]: m3ua: fix leaky usage of m3ua_tx_xua_asp In-Reply-To: References: Message-ID: Hoernchen has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24909 ) Change subject: m3ua: fix leaky usage of m3ua_tx_xua_asp ...................................................................... m3ua: fix leaky usage of m3ua_tx_xua_asp m3ua_tx_xua_asp will at some point convert the xua msg to a msgb by copying and then send it, the xua msg still needs to be freed by the caller. Closes: OS#5185 Change-Id: Id8584b99f30f2db602d4d129e4114821697272ab --- M src/m3ua.c 1 file changed, 5 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/09/24909/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24909 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Id8584b99f30f2db602d4d129e4114821697272ab Gerrit-Change-Number: 24909 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jul 11 19:12:10 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sun, 11 Jul 2021 19:12:10 +0000 Subject: Change in osmo-trx[master]: lms: init band References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/24910 ) Change subject: lms: init band ...................................................................... lms: init band Gain setting without a band was apparently led to a very low output level, thanks to defog for pointing this out. Change-Id: I8b59d38dd7b0781776c9e61226185879541fdc53 Related: OS#3342 --- M Transceiver52M/device/lms/LMSDevice.cpp 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/10/24910/1 diff --git a/Transceiver52M/device/lms/LMSDevice.cpp b/Transceiver52M/device/lms/LMSDevice.cpp index 9dc3ab2..9b6c792 100644 --- a/Transceiver52M/device/lms/LMSDevice.cpp +++ b/Transceiver52M/device/lms/LMSDevice.cpp @@ -1019,12 +1019,14 @@ return false; } + if (!set_band(req_band)) + return false; + if (LMS_SetLOFrequency(m_lms_dev, LMS_CH_TX, chan, wFreq) < 0) { LOGCHAN(chan, DDEV, ERROR) << "Error setting Tx Freq to " << wFreq << " Hz"; return false; } - band = req_band; return true; } -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/24910 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I8b59d38dd7b0781776c9e61226185879541fdc53 Gerrit-Change-Number: 24910 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jul 11 19:12:41 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 11 Jul 2021 19:12:41 +0000 Subject: Change in osmo-bsc[master]: vty 'interference-meas level-bounds': explain duality in ordering In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24888 ) Change subject: vty 'interference-meas level-bounds': explain duality in ordering ...................................................................... Patch Set 4: Code-Review+2 combine votes -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24888 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If71e20e95d29e7f03739ee04e1ef429bf8bd51ed Gerrit-Change-Number: 24888 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Sun, 11 Jul 2021 19:12:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jul 11 19:13:05 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 11 Jul 2021 19:13:05 +0000 Subject: Change in osmo-bsc[master]: RES IND: pick lchan with least interference In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24885 ) Change subject: RES IND: pick lchan with least interference ...................................................................... Patch Set 4: Code-Review+2 combine votes -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24885 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I844494092193811dfd9fa4d52983cbaed0fc9248 Gerrit-Change-Number: 24885 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 11 Jul 2021 19:13: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 Jul 11 19:13:44 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 11 Jul 2021 19:13:44 +0000 Subject: Change in osmo-bsc[master]: RES IND: add test_resource_indication.ho_vty In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24884 ) Change subject: RES IND: add test_resource_indication.ho_vty ...................................................................... Patch Set 4: Code-Review+2 re-add +2 after trivial commit log change -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24884 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I56ec61196a1e103f0b4caf18d25d8222bb82cf87 Gerrit-Change-Number: 24884 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 11 Jul 2021 19:13:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jul 11 19:14:15 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 11 Jul 2021 19:14:15 +0000 Subject: Change in osmo-bsc[master]: RES IND: parse msg and store interference levels in lchans In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24883 ) Change subject: RES IND: parse msg and store interference levels in lchans ...................................................................... Patch Set 4: Code-Review+2 re-add +2 after having applied cosmetic CR -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24883 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iccc1391e8419604bb09e464db8455e053dfbc982 Gerrit-Change-Number: 24883 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Sun, 11 Jul 2021 19:14:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jul 11 19:18:01 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 11 Jul 2021 19:18:01 +0000 Subject: Change in osmo-bsc[master]: RES IND: pick lchan with least interference In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, fixeria, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24885 to look at the new patch set (#5). Change subject: RES IND: pick lchan with least interference ...................................................................... RES IND: pick lchan with least interference In lchan_select, do not return on the first available lchan, but iterate through all available lchans. Among those that would match, pick the one with the lowest interference level as indicated by earlier RES IND. Lchans that have no interference ratings are picked last. This feature is off by default, enable per BTS with network bts N channel allocator avoid-interference 1 osmo-bsc still does the same ascending/descending lchan allocation as before this patch with the default setting of: channel allocator avoid-interference 0 Related: SYS#5313 Change-Id: I844494092193811dfd9fa4d52983cbaed0fc9248 --- M src/osmo-bsc/lchan_select.c M tests/handover/test_resource_indication.ho_vty 2 files changed, 57 insertions(+), 29 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/85/24885/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24885 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I844494092193811dfd9fa4d52983cbaed0fc9248 Gerrit-Change-Number: 24885 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jul 11 19:18:01 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 11 Jul 2021 19:18:01 +0000 Subject: Change in osmo-bsc[master]: separate 'interference-meas level-bounds' cfg and used In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24887 to look at the new patch set (#5). Change subject: separate 'interference-meas level-bounds' cfg and used ...................................................................... separate 'interference-meas level-bounds' cfg and used The VTY defun already indicates BSC_VTY_ATTR_RESTART_ABIS_OML_LINK correctly, but so far we would immediately start using the new values internally, and wrongly interpret interference levels. Fix that. Have bts->interf_meas_params twice: interf_meas_params_cfg for the VTY configured values, and interf_meas_params_used for the values that the BTS actually knows about, after they were sent via OML. In a running BSC, when changing the interference level boundaries on the telnet VTY, the BTS is not immediately told about the change. That would require a BTS restart. Hence store the cfg values separately in interf_meas_params_cfg. For comparing/printing interference levels in a running BTS, only employ the values that were actually sent via OML and placed in interf_meas_params_used. Related: SYS#5313 Change-Id: Iad8cf4151ff7f86dc0549158ed5d91d788d40b1f --- M include/osmocom/bsc/bts.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/bts.c M src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c M src/osmo-bsc/nm_bts_fsm.c M tests/handover/handover_test.c 7 files changed, 28 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/87/24887/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24887 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iad8cf4151ff7f86dc0549158ed5d91d788d40b1f Gerrit-Change-Number: 24887 Gerrit-PatchSet: 5 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 Sun Jul 11 19:18:01 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 11 Jul 2021 19:18:01 +0000 Subject: Change in osmo-bsc[master]: vty 'interference-meas level-bounds': explain duality in ordering In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24888 to look at the new patch set (#5). Change subject: vty 'interference-meas level-bounds': explain duality in ordering ...................................................................... vty 'interference-meas level-bounds': explain duality in ordering Related: SYS#5313 Change-Id: If71e20e95d29e7f03739ee04e1ef429bf8bd51ed --- M src/osmo-bsc/bsc_vty.c M tests/interf_meas.vty 2 files changed, 4 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/88/24888/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24888 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If71e20e95d29e7f03739ee04e1ef429bf8bd51ed Gerrit-Change-Number: 24888 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jul 11 19:18:21 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 11 Jul 2021 19:18:21 +0000 Subject: Change in osmo-bsc[master]: RES IND: pick lchan with least interference In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24885 ) Change subject: RES IND: pick lchan with least interference ...................................................................... Patch Set 5: Code-Review+2 commit log change only, re-add +2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24885 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I844494092193811dfd9fa4d52983cbaed0fc9248 Gerrit-Change-Number: 24885 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 11 Jul 2021 19:18:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jul 11 19:18:35 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 11 Jul 2021 19:18:35 +0000 Subject: Change in osmo-bsc[master]: lchan: call reset() upon alloc In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24882 ) Change subject: lchan: call reset() upon alloc ...................................................................... lchan: call reset() upon alloc call lchan_reset() after allocation, to make sure that lchan->* fields that have a nonzero default value get initialized properly. In particular, a future patch adds interference measurements, and an lchan that never received any Resource Indication info should always indicate that there are no measurements (a nonzero constant). Related: SYS#5313 Change-Id: I700a969f5b11c21dacda9a7cad00c943dce554b3 --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 3 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 841415f..e1dacb3 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -433,6 +433,8 @@ lchan_rtp_fsm_init(); } +static void lchan_reset(struct gsm_lchan *lchan); + void lchan_fsm_alloc(struct gsm_lchan *lchan) { OSMO_ASSERT(lchan->ts); @@ -444,6 +446,7 @@ lchan->fi->priv = lchan; lchan_fsm_update_id(lchan); LOGPFSML(lchan->fi, LOGL_DEBUG, "new lchan\n"); + lchan_reset(lchan); } /* Clear volatile state of the lchan. Clear all except -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24882 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I700a969f5b11c21dacda9a7cad00c943dce554b3 Gerrit-Change-Number: 24882 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jul 11 19:18:36 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 11 Jul 2021 19:18:36 +0000 Subject: Change in osmo-bsc[master]: RES IND: parse msg and store interference levels in lchans In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24883 ) Change subject: RES IND: parse msg and store interference levels in lchans ...................................................................... RES IND: parse msg and store interference levels in lchans Also show the current interference levels of unused lchans in the vty. Related: SYS#5313 Change-Id: Iccc1391e8419604bb09e464db8455e053dfbc982 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/lchan_fsm.c 4 files changed, 106 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified neels: Looks good to me, approved diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index b07345d..0632944 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -646,6 +646,9 @@ bool vamos; }; +#define INTERF_DBM_UNKNOWN 0 +#define INTERF_BAND_UNKNOWN 0xff + struct gsm_lchan { /* The TS that we're part of */ struct gsm_bts_trx_ts *ts; @@ -781,6 +784,14 @@ /* Whether this lchan is activated/modified into a mode that allows VAMOS multiplexing at this moment */ bool enabled; } vamos; + + /* dBm value of interference level as reported in the most recent Resource Indication, if any for this lchan. Or + * INTERF_DBM_UNKNOWN if this lchan was not included in the most recent Resource Indication. + * The range is typically -115 to -85 dBm, here stored 1:1 as a signed integer, to ease comparison. */ + int16_t interf_dbm; + /* Actual reported interference band index, or INTERF_BAND_UNKNOWN if this lchan was not included in the most + * recent Resource Indication. */ + uint8_t interf_band; }; /* One Timeslot in a TRX */ diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index f0adc56..f941d7e 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1467,6 +1467,75 @@ return 0; } +static int rsl_rx_resource_indication(struct msgb *msg) +{ + struct abis_rsl_common_hdr *rslh = msgb_l2(msg); + struct tlv_parsed tp; + struct e1inp_sign_link *sign_link = msg->dst; + struct tlv_p_entry *res_info_ie; + struct gsm_bts_trx *trx = sign_link->trx; + struct gsm_lchan *lchan; + int ts_nr; + int i; + + rsl_tlv_parse(&tp, rslh->data, msgb_l2len(msg) - sizeof(*rslh)); + + LOGP(DRSL, LOGL_DEBUG, "%s Rx Resource Indication\n", gsm_trx_name(trx)); + + /* First clear out all ratings, because only the last resource indication counts. If we can't parse the message, + * then there are no ratings. */ + for (ts_nr = 0; ts_nr < TRX_NR_TS; ts_nr++) { + struct gsm_bts_trx_ts *ts = &trx->ts[ts_nr]; + ts_for_n_lchans(lchan, ts, ts->max_lchans_possible) { + lchan->interf_dbm = INTERF_DBM_UNKNOWN; + lchan->interf_band = INTERF_BAND_UNKNOWN; + } + } + + res_info_ie = TLVP_GET_MINLEN(&tp, RSL_IE_RESOURCE_INFO, 2); + if (!res_info_ie) { + LOGP(DRSL, LOGL_ERROR, "Rx Resource Indication: missing Resource Info IE\n"); + return -ENOENT; + } + + /* The IE value is defined in 3GPP TS 48.058 9.3.21 Resource Information: + * one octet channel nr, one octet interference level, channel nr, interference level, ... + * Where channel nr is cbits + tn (as usual), + * and interference level is a 3bit value in the most significant bits of the octet. + * Evaluate each pair and update interference ratings for all lchans in this trx. */ + + /* There must be an even amount of octets in the value */ + if (res_info_ie->len & 1) { + LOGP(DRSL, LOGL_ERROR, "Rx Resource Indication: Resource Info IE has odd length\n"); + return -EINVAL; + } + + /* Now iterate the reported levels and update corresponding lchans */ + for (i = 0; i < res_info_ie->len; i += 2) { + struct gsm_bts *bts = trx->bts; + uint8_t chan_nr = res_info_ie->val[i]; + uint8_t interf_band = res_info_ie->val[i + 1] >> 5; + + lchan = lchan_lookup(trx, chan_nr, "Abis RSL Rx Resource Indication: "); + if (!lchan) + continue; + + /* Store the actual received index */ + lchan->interf_band = interf_band; + /* Clamp the index to 5 before accessing array of interference band bounds */ + interf_band = OSMO_MIN(interf_band, ARRAY_SIZE(bts->interf_meas_params.bounds_dbm)-1); + /* FIXME: when testing with ip.access nanoBTS, we observe a value range of 1..6. According to spec, it + * seems like values 0..5 are intended: 3GPP TS 48.058 9.3.21 Resource Information says: + * "The Interf Band field (bits 6-8) indicates in binary the interference level expressed as one of five + * possible interference level bands as defined by O&M." + * and 3GPP TS 52.021 9.4.25 "Interference level Boundaries" (OML) defines values 0, X1, X2, X3, X4, X5. + * If nanoBTS sends 6, the above code clamps it to 5, so that we lose one band in accuracy. */ + lchan->interf_dbm = -((int16_t)bts->interf_meas_params.bounds_dbm[interf_band]); + } + + return 0; +} + static int abis_rsl_rx_trx(struct msgb *msg) { struct abis_rsl_common_hdr *rslh = msgb_l2(msg); @@ -1479,7 +1548,7 @@ break; case RSL_MT_RF_RES_IND: /* interference on idle channels of TRX */ - //DEBUGP(DRSL, "%s RF Resource Indication\n", gsm_trx_name(sign_link->trx)); + rc = rsl_rx_resource_indication(msg); break; case RSL_MT_OVERLOAD: /* indicate CCCH / ACCH / processor overload */ diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 070b660..07c8a9c 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -1682,6 +1682,14 @@ - lchan->bs_power_db, ms_pwr_dbm(lchan->ts->trx->bts->band, lchan->ms_power), VTY_NEWLINE); + + vty_out(vty, " Interference Level: "); + if (lchan->interf_dbm == INTERF_DBM_UNKNOWN) + vty_out(vty, "unknown"); + else + vty_out(vty, "%d dBm (%u)", lchan->interf_dbm, lchan->interf_band); + vty_out(vty, "%s", VTY_NEWLINE); + vty_out(vty, " Channel Mode / Codec: %s%s", gsm48_chan_mode_name(lchan->current_ch_mode_rate.chan_mode), VTY_NEWLINE); @@ -1733,8 +1741,21 @@ lchan->ts->trx->bts->nr, lchan->ts->trx->nr, lchan->ts->nr, gsm_pchan_name(lchan->ts->pchan_on_init)); vty_out_dyn_ts_status(vty, lchan->ts); - vty_out(vty, ", Lchan %u, Type %s%s TSC-s%dc%u, State %s - L1 MS Power: %u dBm RXL-FULL-dl: %4d dBm RXL-FULL-ul: %4d dBm%s", - lchan->nr, + vty_out(vty, ", Lchan %u", lchan->nr); + + if (lchan_state_is(lchan, LCHAN_ST_UNUSED)) { + vty_out(vty, ", Type %s, State %s - Interference Level: ", + gsm_pchan_name(lchan->ts->pchan_is), + lchan_state_name(lchan)); + if (lchan->interf_dbm == INTERF_DBM_UNKNOWN) + vty_out(vty, "unknown"); + else + vty_out(vty, "%d dBm (%u)", lchan->interf_dbm, lchan->interf_band); + vty_out(vty, "%s", VTY_NEWLINE); + return; + } + + vty_out(vty, ", Type %s%s TSC-s%dc%u, State %s - L1 MS Power: %u dBm RXL-FULL-dl: %4d dBm RXL-FULL-ul: %4d dBm%s", gsm_lchant_name(lchan->type), lchan->vamos.enabled ? " (VAMOS)" : "", lchan->tsc_set > 0 ? lchan->tsc_set : 1, diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index e1dacb3..7b89b2d 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -488,6 +488,8 @@ .release.rr_cause = GSM48_RR_CAUSE_NORMAL, .tsc_set = 1, + .interf_dbm = INTERF_DBM_UNKNOWN, + .interf_band = INTERF_BAND_UNKNOWN, }; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24883 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iccc1391e8419604bb09e464db8455e053dfbc982 Gerrit-Change-Number: 24883 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels 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 Sun Jul 11 19:18:36 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 11 Jul 2021 19:18:36 +0000 Subject: Change in osmo-bsc[master]: RES IND: add VTY: bts / channel allocator avoid-interference (0|1) In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24891 ) Change subject: RES IND: add VTY: bts / channel allocator avoid-interference (0|1) ...................................................................... RES IND: add VTY: bts / channel allocator avoid-interference (0|1) Store the config option whether the channel allocator should try to avoid lchans with higher interference levels reported in RES IND. The actual implementation of avoiding interference follows in I844494092193811dfd9fa4d52983cbaed0fc9248 Related: SYS#5313 Change-Id: I8b62d0b41ad9e908b27713db9219e3dbc1ebaab7 --- M include/osmocom/bsc/bts.h M src/osmo-bsc/bsc_vty.c M tests/osmo-bsc.vty 3 files changed, 63 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified 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 diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h index 2e88129..992c9bb 100644 --- a/include/osmocom/bsc/bts.h +++ b/include/osmocom/bsc/bts.h @@ -450,6 +450,10 @@ * rather than starting from TRX0 and go upwards? */ int chan_alloc_reverse; + /* When true, interference measurements from the BTS are used in the channel allocator to favor lchans with less + * interference reported in RSL Resource Indication. */ + bool chan_alloc_avoid_interf; + enum neigh_list_manual_mode neigh_list_manual_mode; /* parameters from which we build SYSTEM INFORMATION */ struct { diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 07c8a9c..9c1813d 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -1073,6 +1073,8 @@ vty_out(vty, " channel allocator %s%s", bts->chan_alloc_reverse ? "descending" : "ascending", VTY_NEWLINE); + if (bts->chan_alloc_avoid_interf) + vty_out(vty, " channel allocator avoid-interference 1%s", VTY_NEWLINE); vty_out(vty, " rach tx integer %u%s", bts->si_common.rach_control.tx_integer, VTY_NEWLINE); vty_out(vty, " rach max transmission %u%s", @@ -2839,6 +2841,25 @@ return CMD_SUCCESS; } +DEFUN_ATTR(cfg_bts_chan_alloc_interf, + cfg_bts_chan_alloc_interf_cmd, + "channel allocator avoid-interference (0|1)", + "Channel Allocator\n" "Channel Allocator\n" + "Configure whether reported interference levels from RES IND are used in channel allocation\n" + "Ignore interference levels (default). Always assign lchans in a deterministic order.\n" + "In channel allocation, prefer lchans with less interference.\n", + CMD_ATTR_IMMEDIATE) +{ + struct gsm_bts *bts = vty->index; + + if (!strcmp(argv[0], "0")) + bts->chan_alloc_avoid_interf = false; + else + bts->chan_alloc_avoid_interf = true; + + return CMD_SUCCESS; +} + #define RACH_STR "Random Access Control Channel\n" DEFUN_USRATTR(cfg_bts_rach_tx_integer, @@ -8081,6 +8102,7 @@ install_element(BTS_NODE, &cfg_bts_oml_e1_cmd); install_element(BTS_NODE, &cfg_bts_oml_e1_tei_cmd); install_element(BTS_NODE, &cfg_bts_challoc_cmd); + install_element(BTS_NODE, &cfg_bts_chan_alloc_interf_cmd); install_element(BTS_NODE, &cfg_bts_rach_tx_integer_cmd); install_element(BTS_NODE, &cfg_bts_rach_max_trans_cmd); install_element(BTS_NODE, &cfg_bts_rach_max_delay_cmd); diff --git a/tests/osmo-bsc.vty b/tests/osmo-bsc.vty index 22e2a06..1d859c3 100644 --- a/tests/osmo-bsc.vty +++ b/tests/osmo-bsc.vty @@ -147,3 +147,40 @@ meas-feed destination 127.0.0.23 4223 meas-feed scenario foo23 ... + + +OsmoBSC(config-net)# bts 0 + +OsmoBSC(config-net-bts)# list +... + channel allocator avoid-interference (0|1) +... + +OsmoBSC(config-net-bts)# channel? + channel Channel Allocator + +OsmoBSC(config-net-bts)# channel ? + allocator Channel Allocator + +OsmoBSC(config-net-bts)# channel allocator ? + ascending Allocate Timeslots and Transceivers in ascending order + descending Allocate Timeslots and Transceivers in descending order + avoid-interference Configure whether reported interference levels from RES IND are used in channel allocation + +OsmoBSC(config-net-bts)# channel allocator avoid-interference ? + 0 Ignore interference levels (default). Always assign lchans in a deterministic order. + 1 In channel allocation, prefer lchans with less interference. + +OsmoBSC(config-net-bts)# show running-config +... !channel allocator avoid-interference +OsmoBSC(config-net-bts)# channel allocator avoid-interference 1 +OsmoBSC(config-net-bts)# show running-config +... + bts 0 +... + channel allocator avoid-interference 1 +... + +OsmoBSC(config-net-bts)# channel allocator avoid-interference 0 +OsmoBSC(config-net-bts)# show running-config +... !channel allocator avoid-interference -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24891 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8b62d0b41ad9e908b27713db9219e3dbc1ebaab7 Gerrit-Change-Number: 24891 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jul 11 19:18:37 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 11 Jul 2021 19:18:37 +0000 Subject: Change in osmo-bsc[master]: RES IND: add test_resource_indication.ho_vty In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24884 ) Change subject: RES IND: add test_resource_indication.ho_vty ...................................................................... RES IND: add test_resource_indication.ho_vty Show that osmo-bsc does not yet take Resource Indication's reported interference levels into account. (An upcoming patch will change that.) This test is not actually doing any handover, but it is using the handover/*.ho_vty scripting that was intended for handover testing. (Like test_dyn_ts_favor_half_used_tch_h_as_target.ho_vty does.) Related: SYS#5313 Change-Id: I56ec61196a1e103f0b4caf18d25d8222bb82cf87 --- M tests/handover/handover_test.c M tests/handover/handover_tests.ok A tests/handover/test_resource_indication.ho_vty 3 files changed, 165 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified neels: Looks good to me, approved diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index 2ff9f31..8d316ca 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -1045,6 +1045,93 @@ return CMD_SUCCESS; } +DEFUN(res_ind, res_ind_cmd, + "res-ind trx <0-255> <0-255> levels .LEVELS", + "Send Resource Indication for a specific TRX, indicating interference levels per lchan\n" + "Indicate a BTS and TRX\n" "BTS nr\n" "TRX nr\n" + "Indicate interference levels: each level is an index to bts->interf_meas_params.bounds_dbm[]," + " i.e. <0-5> or '-' to omit a report for this timeslot/lchan." + " Separate timeslots by spaces, for individual subslots directly concatenate values." + " If a timeslot has more subslots than provided, the last given value is repeated." + " For example: 'res-ind trx 0 0 levels - 1 23 -': on BTS 0 TRX 0, omit ratings for the entire first timeslot," + " send level=1 for timeslot 1, and for timeslot 2 send level=2 for subslot 0 and level=3 for subslot 1.\n") +{ + int i; + uint8_t level; + struct gsm_bts *bts = bts_by_num_str(argv[0]); + struct gsm_bts_trx *trx = trx_by_num_str(bts, argv[1]); + struct msgb *msg = msgb_alloc_headroom(256, 64, "RES-IND"); + struct abis_rsl_common_hdr *rslh; + uint8_t *res_info_len; + VTY_ECHO(); + + argv += 2; + argc -= 2; + + rslh = (struct abis_rsl_common_hdr*)msgb_put(msg, sizeof(*rslh)); + rslh->msg_discr = ABIS_RSL_MDISC_TRX; + rslh->msg_type = RSL_MT_RF_RES_IND; + msgb_put_u8(msg, RSL_IE_RESOURCE_INFO); + res_info_len = msg->tail; + msgb_put_u8(msg, 0); + + level = 0xff; + for (i = 0; i < ARRAY_SIZE(trx->ts); i++) { + const char *ts_str; + struct gsm_lchan *lchan; + size_t given_subslots = 0; + struct gsm_bts_trx_ts *ts = &trx->ts[i]; + + if (i < argc) { + ts_str = argv[i]; + given_subslots = strlen(ts_str); + } + + ts_for_n_lchans(lchan, ts, ts->max_lchans_possible) { + int chan_nr; + + if (lchan->nr < given_subslots) { + char subslot_val = ts_str[lchan->nr]; + switch (subslot_val) { + case '-': + level = INTERF_BAND_UNKNOWN; + break; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + level = subslot_val - '0'; + break; + default: + OSMO_ASSERT(false); + } + } + + if (level == INTERF_BAND_UNKNOWN) + continue; + + chan_nr = gsm_lchan2chan_nr(lchan, true); + if (chan_nr < 0) + continue; + + msgb_put_u8(msg, chan_nr); + msgb_put_u8(msg, level << 5); + } + } + + *res_info_len = msg->tail - res_info_len - 1; + + msg->dst = trx->rsl_link_primary; + msg->l2h = msg->data; + abis_rsl_rcvmsg(msg); + + return CMD_SUCCESS; +} + DEFUN(congestion_check, congestion_check_cmd, "congestion-check", "Trigger a congestion check\n") @@ -1313,6 +1400,7 @@ install_element(CONFIG_NODE, &meas_rep_cmd); install_element(CONFIG_NODE, &meas_rep_repeat_cmd); install_element(CONFIG_NODE, &meas_rep_repeat_bspower_cmd); + install_element(CONFIG_NODE, &res_ind_cmd); install_element(CONFIG_NODE, &congestion_check_cmd); install_element(CONFIG_NODE, &expect_no_chan_cmd); install_element(CONFIG_NODE, &expect_chan_cmd); diff --git a/tests/handover/handover_tests.ok b/tests/handover/handover_tests.ok index b76c032..a03454d 100644 --- a/tests/handover/handover_tests.ok +++ b/tests/handover/handover_tests.ok @@ -47,6 +47,7 @@ pass test_neighbor_full.ho_vty pass test_no_congestion.ho_vty pass test_penalty_timer.ho_vty +pass test_resource_indication.ho_vty pass test_rxqual.ho_vty pass test_rxqual_vs_congestion.ho_vty pass test_stay_in_better_cell.ho_vty diff --git a/tests/handover/test_resource_indication.ho_vty b/tests/handover/test_resource_indication.ho_vty new file mode 100644 index 0000000..9dd9d38 --- /dev/null +++ b/tests/handover/test_resource_indication.ho_vty @@ -0,0 +1,76 @@ +# Test effects of interference levels reported in Resource Indication. +# Note, this is not actually a handover test. + +create-bts trx-count 1 timeslots c+s4 TCH/F TCH/F TCH/F TCH/F TCH/F TCH/F PDCH + +# By default, the ordering is most-interference-first +network + bts 0 + channel allocator avoid-interference 1 + interference-meas level-bounds -85 -91 -97 -103 -109 -115 +# 0 1 2 3 4 5 + +res-ind trx 0 0 levels - 1 2 3 4 3 2 - +create-ms bts 0 TCH/F AMR +# FAIL: interference is ignored +expect-ts-use trx 0 0 states * TCH/F - - - - - * + +# The ordering may also be configured reversed, still the lowest dBm value should win +network + bts 0 + interference-meas level-bounds -115 -109 -103 -97 -91 -85 +# 0 1 2 3 4 5 + +res-ind trx 0 0 levels - 5 4 2 - 3 4 - +create-ms bts 0 TCH/F AMR +# FAIL: interference is ignored +expect-ts-use trx 0 0 states * TCH/F TCH/F - - - - * + +# Favor lchans that have an indicated interference level +res-ind trx 0 0 levels - - - - - 4 3 - +create-ms bts 0 TCH/F AMR +# FAIL: interference is ignored +expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F - - - * + +# For equal levels, pick the first +res-ind trx 0 0 levels - 2 2 - - 2 - - +create-ms bts 0 TCH/F AMR +# FAIL: interference is ignored +expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F TCH/F - - * + +# Test clamping of indexes > 5 +res-ind trx 0 0 levels - - 6 - - 4 - - +create-ms bts 0 TCH/F AMR +# FAIL: interference is ignored +expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F TCH/F TCH/F - * + +# Also test for TCH/H +create-bts trx-count 1 timeslots c+s4 TCH/H TCH/H TCH/H TCH/H TCH/H TCH/H PDCH +network + bts 1 + channel allocator avoid-interference 1 + interference-meas level-bounds -115 -109 -103 -97 -91 -85 +# 0 1 2 3 4 5 + +res-ind trx 1 0 levels - 54 32 21 23 45 54 - +create-ms bts 1 TCH/H AMR +# FAIL: interference is ignored +expect-ts-use trx 1 0 states * TCH/H- - - - - - * + +# Favor lchans that have an indicated interference level +res-ind trx 1 0 levels - - - 4- 3- - - - +create-ms bts 1 TCH/H AMR +# FAIL: interference is ignored +expect-ts-use trx 1 0 states * TCH/HH - - - - - * + +# For equal levels, pick the first +res-ind trx 1 0 levels - -2 22 2- -2 22 2- - +create-ms bts 1 TCH/H AMR +# FAIL: interference is ignored +expect-ts-use trx 1 0 states * TCH/HH TCH/H- - - - - * + +# Test clamping of indexes > 5 +res-ind trx 1 0 levels - 7- 67 6- -7 54 6- - +create-ms bts 1 TCH/H AMR +# FAIL: interference is ignored +expect-ts-use trx 1 0 states * TCH/HH TCH/HH - - - - * -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24884 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I56ec61196a1e103f0b4caf18d25d8222bb82cf87 Gerrit-Change-Number: 24884 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jul 11 19:18:39 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 11 Jul 2021 19:18:39 +0000 Subject: Change in osmo-bsc[master]: RES IND: pick lchan with least interference In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24885 ) Change subject: RES IND: pick lchan with least interference ...................................................................... RES IND: pick lchan with least interference In lchan_select, do not return on the first available lchan, but iterate through all available lchans. Among those that would match, pick the one with the lowest interference level as indicated by earlier RES IND. Lchans that have no interference ratings are picked last. This feature is off by default, enable per BTS with network bts N channel allocator avoid-interference 1 osmo-bsc still does the same ascending/descending lchan allocation as before this patch with the default setting of: channel allocator avoid-interference 0 Related: SYS#5313 Change-Id: I844494092193811dfd9fa4d52983cbaed0fc9248 --- M src/osmo-bsc/lchan_select.c M tests/handover/test_resource_indication.ho_vty 2 files changed, 57 insertions(+), 29 deletions(-) Approvals: neels: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/lchan_select.c b/src/osmo-bsc/lchan_select.c index efa2ff2..3618fb4 100644 --- a/src/osmo-bsc/lchan_select.c +++ b/src/osmo-bsc/lchan_select.c @@ -30,22 +30,36 @@ #include #include +static struct gsm_lchan *pick_better_lchan(struct gsm_lchan *a, struct gsm_lchan *b) +{ + if (!a) + return b; + if (!b) + return a; + /* comparing negative dBm values: smaller value means less interference. */ + if (b->interf_dbm < a->interf_dbm) + return b; + return a; +} + static struct gsm_lchan * _lc_find_trx(struct gsm_bts_trx *trx, enum gsm_phys_chan_config pchan, enum gsm_phys_chan_config as_pchan, bool allow_pchan_switch, bool log) { struct gsm_lchan *lchan; + struct gsm_lchan *found_lchan = NULL; struct gsm_bts_trx_ts *ts; int j, start, stop, dir; -#define LOGPLCHANALLOC(fmt, args...) \ +#define LOGPLCHANALLOC(fmt, args...) do { \ if (log) \ LOGP(DRLL, LOGL_DEBUG, "looking for lchan %s%s%s%s: " fmt, \ gsm_pchan_name(pchan), \ pchan == as_pchan ? "" : " as ", \ pchan == as_pchan ? "" : gsm_pchan_name(as_pchan), \ ((pchan != as_pchan) && !allow_pchan_switch) ? " without pchan switch" : "", \ - ## args) + ## args); \ + } while (0) if (!trx_is_usable(trx)) { LOGPLCHANALLOC("%s trx not usable\n", gsm_trx_name(trx)); @@ -87,20 +101,43 @@ /* TS is (going to be) in desired pchan mode. Go ahead and check for an available lchan. */ lchans_as_pchan = pchan_subslots(as_pchan); ts_for_n_lchans(lchan, ts, lchans_as_pchan) { - if (lchan->fi->state == LCHAN_ST_UNUSED) { - LOGPLCHANALLOC("%s ss=%d is available%s\n", + struct gsm_lchan *was = found_lchan; + + if (lchan->fi->state != LCHAN_ST_UNUSED) { + LOGPLCHANALLOC("%s ss=%d in type=%s,state=%s not suitable\n", gsm_ts_and_pchan_name(ts), lchan->nr, - ts->pchan_is != as_pchan ? " after dyn PCHAN change" : ""); - return lchan; + gsm_lchant_name(lchan->type), + osmo_fsm_inst_state_name(lchan->fi)); + continue; } - LOGPLCHANALLOC("%s ss=%d in type=%s,state=%s not suitable\n", - gsm_ts_and_pchan_name(ts), lchan->nr, - gsm_lchant_name(lchan->type), - osmo_fsm_inst_state_name(lchan->fi)); + + found_lchan = pick_better_lchan(found_lchan, lchan); + if (found_lchan != was) + LOGPLCHANALLOC("%s ss=%d interf=%u=%ddBm is %s%s\n", + gsm_ts_and_pchan_name(ts), lchan->nr, + lchan->interf_band, lchan->interf_dbm, + was == NULL ? "available" : "better", + ts->pchan_is != as_pchan ? ", after dyn PCHAN change" : ""); + else + LOGPLCHANALLOC("%s ss=%d interf=%u=%ddBm is also available but not better\n", + gsm_ts_and_pchan_name(ts), lchan->nr, + lchan->interf_band, lchan->interf_dbm); + + /* When picking an lchan with least interference, continue to loop across all lchans. When + * ignoring interference levels, return the first match. */ + if (found_lchan && !trx->bts->chan_alloc_avoid_interf) + return found_lchan; } } - return NULL; + if (found_lchan) + LOGPLCHANALLOC("%s ss=%d interf=%ddBm%s is the best pick\n", + gsm_ts_and_pchan_name(found_lchan->ts), found_lchan->nr, + found_lchan->interf_dbm, + found_lchan->ts->pchan_is != as_pchan ? ", after dyn PCHAN change," : ""); + else + LOGPLCHANALLOC("Nothing found"); + return found_lchan; #undef LOGPLCHANALLOC } diff --git a/tests/handover/test_resource_indication.ho_vty b/tests/handover/test_resource_indication.ho_vty index 9dd9d38..724372e 100644 --- a/tests/handover/test_resource_indication.ho_vty +++ b/tests/handover/test_resource_indication.ho_vty @@ -12,8 +12,7 @@ res-ind trx 0 0 levels - 1 2 3 4 3 2 - create-ms bts 0 TCH/F AMR -# FAIL: interference is ignored -expect-ts-use trx 0 0 states * TCH/F - - - - - * +expect-ts-use trx 0 0 states * - - - TCH/F - - * # The ordering may also be configured reversed, still the lowest dBm value should win network @@ -23,26 +22,22 @@ res-ind trx 0 0 levels - 5 4 2 - 3 4 - create-ms bts 0 TCH/F AMR -# FAIL: interference is ignored -expect-ts-use trx 0 0 states * TCH/F TCH/F - - - - * +expect-ts-use trx 0 0 states * - - TCH/F TCH/F - - * # Favor lchans that have an indicated interference level res-ind trx 0 0 levels - - - - - 4 3 - create-ms bts 0 TCH/F AMR -# FAIL: interference is ignored -expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F - - - * +expect-ts-use trx 0 0 states * - - TCH/F TCH/F - TCH/F * # For equal levels, pick the first res-ind trx 0 0 levels - 2 2 - - 2 - - create-ms bts 0 TCH/F AMR -# FAIL: interference is ignored -expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F TCH/F - - * +expect-ts-use trx 0 0 states * TCH/F - TCH/F TCH/F - TCH/F * # Test clamping of indexes > 5 res-ind trx 0 0 levels - - 6 - - 4 - - create-ms bts 0 TCH/F AMR -# FAIL: interference is ignored -expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F TCH/F TCH/F - * +expect-ts-use trx 0 0 states * TCH/F - TCH/F TCH/F TCH/F TCH/F * # Also test for TCH/H create-bts trx-count 1 timeslots c+s4 TCH/H TCH/H TCH/H TCH/H TCH/H TCH/H PDCH @@ -54,23 +49,19 @@ res-ind trx 1 0 levels - 54 32 21 23 45 54 - create-ms bts 1 TCH/H AMR -# FAIL: interference is ignored -expect-ts-use trx 1 0 states * TCH/H- - - - - - * +expect-ts-use trx 1 0 states * - - TCH/-H - - - * # Favor lchans that have an indicated interference level res-ind trx 1 0 levels - - - 4- 3- - - - create-ms bts 1 TCH/H AMR -# FAIL: interference is ignored -expect-ts-use trx 1 0 states * TCH/HH - - - - - * +expect-ts-use trx 1 0 states * - - TCH/-H TCH/H- - - * # For equal levels, pick the first res-ind trx 1 0 levels - -2 22 2- -2 22 2- - create-ms bts 1 TCH/H AMR -# FAIL: interference is ignored -expect-ts-use trx 1 0 states * TCH/HH TCH/H- - - - - * +expect-ts-use trx 1 0 states * TCH/-H - TCH/-H TCH/H- - - * # Test clamping of indexes > 5 res-ind trx 1 0 levels - 7- 67 6- -7 54 6- - create-ms bts 1 TCH/H AMR -# FAIL: interference is ignored -expect-ts-use trx 1 0 states * TCH/HH TCH/HH - - - - * +expect-ts-use trx 1 0 states * TCH/-H - TCH/-H TCH/H- TCH/-H - * -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24885 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I844494092193811dfd9fa4d52983cbaed0fc9248 Gerrit-Change-Number: 24885 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jul 11 20:24:14 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 11 Jul 2021 20:24:14 +0000 Subject: Change in osmo-bsc[master]: add test_dyn_ts_favor_static_ts_as_target.ho_vty References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24911 ) Change subject: add test_dyn_ts_favor_static_ts_as_target.ho_vty ...................................................................... add test_dyn_ts_favor_static_ts_as_target.ho_vty In a discussion about the effect of interference levels, I noticed that there is not sufficient clarity about how strongly the preference of static timeslots is ranked. This test helps to show what we have. Related: SYS#5313 Change-Id: I0911cd74613045d9fbe29d04eaef036d32049b92 --- M tests/handover/handover_tests.ok A tests/handover/test_dyn_ts_favor_static_ts_as_target.ho_vty 2 files changed, 39 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/11/24911/1 diff --git a/tests/handover/handover_tests.ok b/tests/handover/handover_tests.ok index a03454d..168ebd6 100644 --- a/tests/handover/handover_tests.ok +++ b/tests/handover/handover_tests.ok @@ -32,6 +32,7 @@ pass test_dyn_ts_congestion_tch_f_vs_tch_h_2.ho_vty pass test_dyn_ts_favor_half_used_tch_h_as_target.ho_vty pass test_dyn_ts_favor_moving_half_used_tch_h.ho_vty +pass test_dyn_ts_favor_static_ts_as_target.ho_vty pass test_ho_to_better_cell.ho_vty pass test_ho_to_better_cell_2.ho_vty pass test_hysteresis.ho_vty diff --git a/tests/handover/test_dyn_ts_favor_static_ts_as_target.ho_vty b/tests/handover/test_dyn_ts_favor_static_ts_as_target.ho_vty new file mode 100644 index 0000000..c50b007 --- /dev/null +++ b/tests/handover/test_dyn_ts_favor_static_ts_as_target.ho_vty @@ -0,0 +1,38 @@ +# If both a static and a dynamic TCH/H (even without pchan switch!) are available, we always prefer static TS. +create-bts trx-count 1 timeslots c+s4 dyn TCH/H dyn TCH/H dyn TCH/H PDCH + +network + bts 0 + channel allocator ascending + +set-ts-use trx 0 0 states * TCH/-H TCH/-H TCH/-H TCH/-H TCH/-H TCH/-H * + +# the dynamic timeslot is already in TCH/H mode, and needs no pchan switch. It appears first in the list, hence it would +# be used first -- but we prefer using static TS when still available: +create-ms bts 0 TCH/H AMR +expect-ts-use trx 0 0 states * TCH/-H TCH/HH TCH/-H TCH/-H TCH/-H TCH/-H * +# ^ + +# Interference ratings do NOT influence whether a static or dynamic lchan (even without pchan switch) is going to be +# assigned. +network + bts 0 + channel allocator avoid-interference 1 + interference-meas level-bounds -115 -109 -103 -97 -91 -85 +# 0 1 2 3 4 5 + +# Here the dyn TS lchan happens to have less interference. But still the choice to prefer static over dynamic weighs +# stronger. The static TS with least interference is picked. +# dyn TCH/H dyn TCH/H dyn TCH/H +expect-ts-use trx 0 0 states * TCH/-H TCH/HH TCH/-H TCH/-H TCH/-H TCH/-H * +res-ind trx 0 0 levels - 4- -- 1- 4- 3- 2- - +create-ms bts 0 TCH/H AMR +expect-ts-use trx 0 0 states * TCH/-H TCH/HH TCH/-H TCH/-H TCH/-H TCH/HH * +# ^ +create-ms bts 0 TCH/H AMR +expect-ts-use trx 0 0 states * TCH/-H TCH/HH TCH/-H TCH/HH TCH/-H TCH/HH * +# ^ +# now only dynamic TS are left. The one dyn lchan with least interference is picked +create-ms bts 0 TCH/H AMR +expect-ts-use trx 0 0 states * TCH/-H TCH/HH TCH/HH TCH/HH TCH/-H TCH/HH * +# ^ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24911 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0911cd74613045d9fbe29d04eaef036d32049b92 Gerrit-Change-Number: 24911 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Jul 11 20:43:29 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 11 Jul 2021 20:43:29 +0000 Subject: Change in osmo-bsc[master]: extend test_dyn_ts_favor_half_used_tch_h_as_target.ho_vty References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24912 ) Change subject: extend test_dyn_ts_favor_half_used_tch_h_as_target.ho_vty ...................................................................... extend test_dyn_ts_favor_half_used_tch_h_as_target.ho_vty Clarify that filling half-used TCH/H first only happens on dynamic timeslots, not static ones. Related: SYS#5313 Change-Id: I5213459fb7fb201361ce0d6198fc0c2c745deee1 --- M tests/handover/test_dyn_ts_favor_half_used_tch_h_as_target.ho_vty 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/12/24912/1 diff --git a/tests/handover/test_dyn_ts_favor_half_used_tch_h_as_target.ho_vty b/tests/handover/test_dyn_ts_favor_half_used_tch_h_as_target.ho_vty index c648c27..73c236f 100644 --- a/tests/handover/test_dyn_ts_favor_half_used_tch_h_as_target.ho_vty +++ b/tests/handover/test_dyn_ts_favor_half_used_tch_h_as_target.ho_vty @@ -5,3 +5,8 @@ create-ms bts 0 TCH/H AMR expect-ts-use trx 0 0 states * - - - pdch TCH/HH pdch pdch +# in static timeslots, there is NO preference to fill half-used TCH/H first +create-bts trx-count 1 timeslots c+s4 TCH/F TCH/F TCH/F TCH/H TCH/H TCH/H PDCH +set-ts-use trx 1 0 states * - - - - TCH/H- - pdch +create-ms bts 1 TCH/H AMR +set-ts-use trx 1 0 states * - - - TCH/H- TCH/H- - pdch -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24912 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5213459fb7fb201361ce0d6198fc0c2c745deee1 Gerrit-Change-Number: 24912 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Mon Jul 12 01:04:41 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 12 Jul 2021 01:04:41 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in Debian_8.0/i586 In-Reply-To: References: Message-ID: <60eb952eecde8_625c2b1bc26145f09892e7@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bsc/Debian_8.0/i586 Package network:osmocom:nightly/osmo-bsc failed to build in Debian_8.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bsc Last lines of build log: [ 218s] CC handover_test.o [ 219s] handover_test.c: In function 'res_ind': [ 219s] handover_test.c:1094:30: error: 'ts_str' may be used uninitialized in this function [-Werror=maybe-uninitialized] [ 219s] char subslot_val = ts_str[lchan->nr]; [ 219s] ^ [ 219s] cc1: some warnings being treated as errors [ 219s] Makefile:558: recipe for target 'handover_test.o' failed [ 219s] make[4]: *** [handover_test.o] Error 1 [ 219s] make[4]: Leaving directory '/usr/src/packages/BUILD/tests/handover' [ 219s] Makefile:409: recipe for target 'all-recursive' failed [ 219s] make[3]: *** [all-recursive] Error 1 [ 219s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 219s] Makefile:441: recipe for target 'all-recursive' failed [ 219s] make[2]: *** [all-recursive] Error 1 [ 219s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 219s] Makefile:372: recipe for target 'all' failed [ 219s] make[1]: *** [all] Error 2 [ 219s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 219s] dh_auto_build: make -j1 returned exit code 2 [ 219s] debian/rules:45: recipe for target 'build' failed [ 219s] make: *** [build] Error 2 [ 219s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 219s] ### VM INTERACTION START ### [ 221s] Powering off. [ 221s] [ 209.931813] reboot: Power down [ 221s] ### VM INTERACTION END ### [ 221s] [ 221s] lamb14 failed "build osmo-bsc_1.7.0.190.5ac70.202107120026.dsc" at Mon Jul 12 01:04:35 UTC 2021. [ 221s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jul 12 01:07:48 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 12 Jul 2021 01:07:48 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in Debian_9.0/i586 In-Reply-To: References: Message-ID: <60eb95fd19f4b_625c2b1bc26145f0989765@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bsc/Debian_9.0/i586 Package network:osmocom:nightly/osmo-bsc failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bsc Last lines of build log: [ 144s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -ggdb3 -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -std=gnu11 -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o handover_test.o handover_test.c [ 145s] handover_test.c: In function 'res_ind': [ 145s] handover_test.c:1094:30: error: 'ts_str' may be used uninitialized in this function [-Werror=maybe-uninitialized] [ 145s] char subslot_val = ts_str[lchan->nr]; [ 145s] ^ [ 145s] cc1: some warnings being treated as errors [ 145s] Makefile:569: recipe for target 'handover_test.o' failed [ 145s] make[4]: *** [handover_test.o] Error 1 [ 145s] make[4]: Leaving directory '/usr/src/packages/BUILD/tests/handover' [ 145s] Makefile:420: recipe for target 'all-recursive' failed [ 145s] make[3]: *** [all-recursive] Error 1 [ 145s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 145s] Makefile:453: recipe for target 'all-recursive' failed [ 145s] make[2]: *** [all-recursive] Error 1 [ 145s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 145s] Makefile:385: recipe for target 'all' failed [ 145s] make[1]: *** [all] Error 2 [ 145s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 145s] dh_auto_build: make -j1 returned exit code 2 [ 145s] debian/rules:45: recipe for target 'build' failed [ 145s] make: *** [build] Error 2 [ 145s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 145s] ### VM INTERACTION START ### [ 148s] [ 141.046776] sysrq: Power Off [ 148s] [ 141.050612] reboot: Power down [ 148s] ### VM INTERACTION END ### [ 148s] [ 148s] goat15 failed "build osmo-bsc_1.7.0.190.5ac70.202107120026.dsc" at Mon Jul 12 01:07:35 UTC 2021. [ 148s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jul 12 01:12:22 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 12 Jul 2021 01:12:22 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in openSUSE_Leap_15.1/x86_64 In-Reply-To: References: Message-ID: <60eb970c19c97_625c2b1bc26145f099101b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bsc/openSUSE_Leap_15.1/x86_64 Package network:osmocom:nightly/osmo-bsc failed to build in openSUSE_Leap_15.1/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bsc Last lines of build log: [ 51s] CCLD nanobts_omlattr_test [ 52s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-bsc-1.7.0.190.5ac70.202107120026/tests/nanobts_omlattr' [ 52s] Making all in handover [ 52s] make[3]: Entering directory '/home/abuild/rpmbuild/BUILD/osmo-bsc-1.7.0.190.5ac70.202107120026/tests/handover' [ 52s] CC handover_test.o [ 52s] handover_test.c: In function 'res_ind': [ 52s] handover_test.c:1094:30: error: 'ts_str' may be used uninitialized in this function [-Werror=maybe-uninitialized] [ 52s] char subslot_val = ts_str[lchan->nr]; [ 52s] ^ [ 52s] cc1: some warnings being treated as errors [ 52s] make[3]: *** [Makefile:568: handover_test.o] Error 1 [ 52s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-bsc-1.7.0.190.5ac70.202107120026/tests/handover' [ 52s] make[2]: *** [Makefile:419: all-recursive] Error 1 [ 52s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-bsc-1.7.0.190.5ac70.202107120026/tests' [ 52s] make[1]: *** [Makefile:452: all-recursive] Error 1 [ 52s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-bsc-1.7.0.190.5ac70.202107120026' [ 52s] make: *** [Makefile:384: all] Error 2 [ 52s] error: Bad exit status from /var/tmp/rpm-tmp.68SOuI (%build) [ 52s] [ 52s] [ 52s] RPM build errors: [ 52s] Bad exit status from /var/tmp/rpm-tmp.68SOuI (%build) [ 52s] ### VM INTERACTION START ### [ 56s] [ 47.161437] sysrq: SysRq : Power Off [ 56s] [ 47.164800] reboot: Power down [ 56s] ### VM INTERACTION END ### [ 56s] [ 56s] sheep88 failed "build osmo-bsc.spec" at Mon Jul 12 01:12:21 UTC 2021. [ 56s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jul 12 01:15:14 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 12 Jul 2021 01:15:14 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in Debian_10/i586 In-Reply-To: References: Message-ID: <60eb97bebfa5e_625c2b1bc26145f0991759@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bsc/Debian_10/i586 Package network:osmocom:nightly/osmo-bsc failed to build in Debian_10/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bsc Last lines of build log: [ 448s] /bin/bash ../../libtool --tag=CC --mode=link gcc -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -std=gnu11 -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -Wl,-z,relro -o nanobts_omlattr_test nanobts_omlattr_test.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/abis_osmo.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_trx.o ../../src/osmo-bsc/gsm_data.o ../../src/osmo-bsc/nm_common_fsm.o ../../src/osmo-bsc/nm_bts_sm_fsm.o ../../src/osmo-bsc/nm_bts_fsm.o ../../src/osmo-bsc/nm_bb_transc_fsm.o ../../src/osmo-bsc/nm_channel_fsm.o ../../src/osmo-bsc/nm_gprs_cell_fsm.o ../../src/osmo-bsc/nm_gprs_nse_fsm.o ../../src/osmo-bsc/nm_gprs_nsvc_fsm.o ../../src/osmo-bsc/nm_rcarrier_fsm.o -ltalloc -losmocore -ltalloc -losmogsm -losmocore -losmoabis [ 448s] libtool: link: gcc -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -std=gnu11 -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -Wl,-z -Wl,relro -o nanobts_omlattr_test nanobts_omlattr_test.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/abis_osmo.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_trx.o ../../src/osmo-bsc/gsm_data.o ../../src/osmo-bsc/nm_common_fsm.o ../../src/osmo-bsc/nm_bts_sm_fsm.o ../../src/osmo-bsc/nm_bts_fsm.o ../../src/osmo-bsc/nm_bb_transc_fsm.o ../../src/osmo-bsc/nm_channel_fsm.o ../../src/osmo-bsc/nm_gprs_cell_fsm.o ../../src/osmo-bsc/nm_gprs_nse_fsm.o ../../src/osmo-bsc/nm_gprs_nsvc_fsm.o ../../src/osmo-bsc/nm_rcarrier_fsm.o -ltalloc /usr/lib/i386-linux-gnu/libosmogsm.so /usr/lib/i386-linux-gnu/libosmocore.so /usr/lib/i386-linux-gnu/libosmoabis.so -pthread [ 448s] make[4]: Leaving directory '/usr/src/packages/BUILD/tests/nanobts_omlattr' [ 448s] Making all in handover [ 448s] make[4]: Entering directory '/usr/src/packages/BUILD/tests/handover' [ 448s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -ggdb3 -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -std=gnu11 -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o handover_test.o handover_test.c [ 449s] handover_test.c: In function 'res_ind': [ 449s] handover_test.c:1094:30: error: 'ts_str' may be used uninitialized in this function [-Werror=maybe-uninitialized] [ 449s] char subslot_val = ts_str[lchan->nr]; [ 449s] ^ [ 449s] cc1: some warnings being treated as errors [ 449s] make[4]: *** [Makefile:576: handover_test.o] Error 1 [ 449s] make[4]: Leaving directory '/usr/src/packages/BUILD/tests/handover' [ 449s] make[3]: *** [Makefile:420: all-recursive] Error 1 [ 449s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 449s] make[2]: *** [Makefile:453: all-recursive] Error 1 [ 449s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 449s] make[1]: *** [Makefile:385: all] Error 2 [ 449s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 449s] dh_auto_build: make -j1 returned exit code 2 [ 449s] make: *** [debian/rules:45: build] Error 2 [ 449s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 449s] ### VM INTERACTION START ### [ 452s] [ 435.413917] sysrq: Power Off [ 452s] [ 435.421474] reboot: Power down [ 453s] ### VM INTERACTION END ### [ 453s] [ 453s] lamb17 failed "build osmo-bsc_1.7.0.190.5ac70.202107120026.dsc" at Mon Jul 12 01:15:11 UTC 2021. [ 453s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jul 12 01:16:40 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 12 Jul 2021 01:16:40 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in openSUSE_Leap_15.2/x86_64 In-Reply-To: References: Message-ID: <60eb97fb1c0d9_625c2b1bc26145f0992338@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bsc/openSUSE_Leap_15.2/x86_64 Package network:osmocom:nightly/osmo-bsc failed to build in openSUSE_Leap_15.2/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bsc Last lines of build log: [ 51s] CCLD nanobts_omlattr_test [ 51s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-bsc-1.7.0.190.5ac70.202107120026/tests/nanobts_omlattr' [ 51s] Making all in handover [ 51s] make[3]: Entering directory '/home/abuild/rpmbuild/BUILD/osmo-bsc-1.7.0.190.5ac70.202107120026/tests/handover' [ 51s] CC handover_test.o [ 52s] handover_test.c: In function 'res_ind': [ 52s] handover_test.c:1094:30: error: 'ts_str' may be used uninitialized in this function [-Werror=maybe-uninitialized] [ 52s] char subslot_val = ts_str[lchan->nr]; [ 52s] ^ [ 52s] cc1: some warnings being treated as errors [ 52s] make[3]: *** [Makefile:568: handover_test.o] Error 1 [ 52s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-bsc-1.7.0.190.5ac70.202107120026/tests/handover' [ 52s] make[2]: *** [Makefile:419: all-recursive] Error 1 [ 52s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-bsc-1.7.0.190.5ac70.202107120026/tests' [ 52s] make[1]: *** [Makefile:452: all-recursive] Error 1 [ 52s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-bsc-1.7.0.190.5ac70.202107120026' [ 52s] make: *** [Makefile:384: all] Error 2 [ 52s] error: Bad exit status from /var/tmp/rpm-tmp.JwVcML (%build) [ 52s] [ 52s] [ 52s] RPM build errors: [ 52s] Bad exit status from /var/tmp/rpm-tmp.JwVcML (%build) [ 52s] ### VM INTERACTION START ### [ 55s] [ 46.974854] sysrq: Power Off [ 55s] [ 46.982678] reboot: Power down [ 55s] ### VM INTERACTION END ### [ 55s] [ 55s] sheep85 failed "build osmo-bsc.spec" at Mon Jul 12 01:16:25 UTC 2021. [ 55s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jul 12 01:24:05 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 12 Jul 2021 01:24:05 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in CentOS_8/x86_64 In-Reply-To: References: Message-ID: <60eb99bdbafd_625c2b1bc26145f099485@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bsc/CentOS_8/x86_64 Package network:osmocom:nightly/osmo-bsc failed to build in CentOS_8/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bsc Last lines of build log: [ 228s] CCLD nanobts_omlattr_test [ 228s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-bsc-1.7.0.190.5ac70.202107120026/tests/nanobts_omlattr' [ 228s] Making all in handover [ 229s] make[3]: Entering directory '/home/abuild/rpmbuild/BUILD/osmo-bsc-1.7.0.190.5ac70.202107120026/tests/handover' [ 229s] CC handover_test.o [ 230s] handover_test.c: In function 'res_ind': [ 230s] handover_test.c:1094:30: error: 'ts_str' may be used uninitialized in this function [-Werror=maybe-uninitialized] [ 230s] char subslot_val = ts_str[lchan->nr]; [ 230s] ^ [ 230s] cc1: some warnings being treated as errors [ 230s] make[3]: *** [Makefile:575: handover_test.o] Error 1 [ 230s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-bsc-1.7.0.190.5ac70.202107120026/tests/handover' [ 230s] make[2]: *** [Makefile:419: all-recursive] Error 1 [ 230s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-bsc-1.7.0.190.5ac70.202107120026/tests' [ 230s] make[1]: *** [Makefile:452: all-recursive] Error 1 [ 230s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-bsc-1.7.0.190.5ac70.202107120026' [ 230s] make: *** [Makefile:384: all] Error 2 [ 230s] error: Bad exit status from /var/tmp/rpm-tmp.bB34M5 (%build) [ 230s] [ 230s] [ 230s] RPM build errors: [ 230s] Bad exit status from /var/tmp/rpm-tmp.bB34M5 (%build) [ 230s] ### VM INTERACTION START ### [ 232s] Powering off. [ 232s] [ 201.762951] reboot: Power down [ 232s] ### VM INTERACTION END ### [ 232s] [ 232s] lamb61 failed "build osmo-bsc.spec" at Mon Jul 12 01:23:48 UTC 2021. [ 232s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jul 12 01:39:03 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 12 Jul 2021 01:39:03 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <60eb9d3c9c47d_625c2b1bc26145f0100214a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bsc/Debian_8.0/x86_64 Package network:osmocom:nightly/osmo-bsc failed to build in Debian_8.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bsc Last lines of build log: [ 308s] CC handover_test.o [ 309s] handover_test.c: In function 'res_ind': [ 309s] handover_test.c:1094:30: error: 'ts_str' may be used uninitialized in this function [-Werror=maybe-uninitialized] [ 309s] char subslot_val = ts_str[lchan->nr]; [ 309s] ^ [ 310s] cc1: some warnings being treated as errors [ 310s] Makefile:558: recipe for target 'handover_test.o' failed [ 310s] make[4]: *** [handover_test.o] Error 1 [ 310s] make[4]: Leaving directory '/usr/src/packages/BUILD/tests/handover' [ 310s] Makefile:409: recipe for target 'all-recursive' failed [ 310s] make[3]: *** [all-recursive] Error 1 [ 310s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 310s] Makefile:441: recipe for target 'all-recursive' failed [ 310s] make[2]: *** [all-recursive] Error 1 [ 310s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 310s] Makefile:372: recipe for target 'all' failed [ 310s] make[1]: *** [all] Error 2 [ 310s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 310s] dh_auto_build: make -j1 returned exit code 2 [ 310s] debian/rules:45: recipe for target 'build' failed [ 310s] make: *** [build] Error 2 [ 310s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 310s] ### VM INTERACTION START ### [ 311s] Powering off. [ 311s] [ 296.961275] reboot: Power down [ 311s] ### VM INTERACTION END ### [ 311s] [ 311s] old-atreju2 failed "build osmo-bsc_1.7.0.190.5ac70.202107120026.dsc" at Mon Jul 12 01:38:50 UTC 2021. [ 311s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jul 12 01:55:41 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 12 Jul 2021 01:55:41 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <60eba121d4280_625c2b1bc26145f010073a6@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bsc/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-bsc failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bsc Last lines of build log: [ 392s] /bin/bash ../../libtool --tag=CC --mode=link gcc -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -ffile-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -std=gnu11 -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -Wl,-z,relro -o nanobts_omlattr_test nanobts_omlattr_test.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/abis_osmo.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_trx.o ../../src/osmo-bsc/gsm_data.o ../../src/osmo-bsc/nm_common_fsm.o ../../src/osmo-bsc/nm_bts_sm_fsm.o ../../src/osmo-bsc/nm_bts_fsm.o ../../src/osmo-bsc/nm_bb_transc_fsm.o ../../src/osmo-bsc/nm_channel_fsm.o ../../src/osmo-bsc/nm_gprs_cell_fsm.o ../../src/osmo-bsc/nm_gprs_nse_fsm.o ../../src/osmo-bsc/nm_gprs_nsvc_fsm.o ../../src/osmo-bsc/nm_rcarrier_fsm.o -ltalloc -losmocore -ltalloc -losmogsm -losmocore -losmoabis [ 393s] libtool: link: gcc -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -ffile-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -std=gnu11 -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -Wl,-z -Wl,relro -o nanobts_omlattr_test nanobts_omlattr_test.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/abis_osmo.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_trx.o ../../src/osmo-bsc/gsm_data.o ../../src/osmo-bsc/nm_common_fsm.o ../../src/osmo-bsc/nm_bts_sm_fsm.o ../../src/osmo-bsc/nm_bts_fsm.o ../../src/osmo-bsc/nm_bb_transc_fsm.o ../../src/osmo-bsc/nm_channel_fsm.o ../../src/osmo-bsc/nm_gprs_cell_fsm.o ../../src/osmo-bsc/nm_gprs_nse_fsm.o ../../src/osmo-bsc/nm_gprs_nsvc_fsm.o ../../src/osmo-bsc/nm_rcarrier_fsm.o -ltalloc /usr/lib/x86_64-linux-gnu/libosmogsm.so /usr/lib/x86_64-linux-gnu/libosmocore.so /usr/lib/x86_64-linux-gnu/libosmoabis.so -pthread [ 393s] make[4]: Leaving directory '/usr/src/packages/BUILD/tests/nanobts_omlattr' [ 393s] Making all in handover [ 393s] make[4]: Entering directory '/usr/src/packages/BUILD/tests/handover' [ 393s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -ggdb3 -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -ffile-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -std=gnu11 -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o handover_test.o handover_test.c [ 393s] handover_test.c: In function 'res_ind': [ 393s] handover_test.c:1094:30: error: 'ts_str' may be used uninitialized in this function [-Werror=maybe-uninitialized] [ 393s] 1094 | char subslot_val = ts_str[lchan->nr]; [ 393s] | ^ [ 393s] cc1: some warnings being treated as errors [ 393s] make[4]: *** [Makefile:576: handover_test.o] Error 1 [ 393s] make[4]: Leaving directory '/usr/src/packages/BUILD/tests/handover' [ 393s] make[3]: *** [Makefile:420: all-recursive] Error 1 [ 393s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 393s] make[2]: *** [Makefile:455: all-recursive] Error 1 [ 393s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 393s] make[1]: *** [Makefile:387: all] Error 2 [ 393s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 393s] dh_auto_build: error: make -j1 returned exit code 2 [ 393s] make: *** [debian/rules:45: build] Error 25 [ 393s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 393s] ### VM INTERACTION START ### [ 394s] Powering off. [ 394s] [ 379.009813] reboot: Power down [ 395s] ### VM INTERACTION END ### [ 395s] [ 395s] hci-cnode1-e5 failed "build osmo-bsc_1.7.0.190.5ac70.202107120026.dsc" at Mon Jul 12 01:55:31 UTC 2021. [ 395s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jul 12 02:02:49 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 12 Jul 2021 02:02:49 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <60eba2e44f792_625c2b1bc26145f01009597@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bsc/Debian_9.0/x86_64 Package network:osmocom:nightly/osmo-bsc failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bsc Last lines of build log: [ 276s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -ggdb3 -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -std=gnu11 -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o handover_test.o handover_test.c [ 277s] handover_test.c: In function 'res_ind': [ 277s] handover_test.c:1094:30: error: 'ts_str' may be used uninitialized in this function [-Werror=maybe-uninitialized] [ 277s] char subslot_val = ts_str[lchan->nr]; [ 277s] ^ [ 277s] cc1: some warnings being treated as errors [ 277s] Makefile:569: recipe for target 'handover_test.o' failed [ 277s] make[4]: *** [handover_test.o] Error 1 [ 277s] make[4]: Leaving directory '/usr/src/packages/BUILD/tests/handover' [ 277s] Makefile:420: recipe for target 'all-recursive' failed [ 277s] make[3]: *** [all-recursive] Error 1 [ 277s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 277s] Makefile:453: recipe for target 'all-recursive' failed [ 277s] make[2]: *** [all-recursive] Error 1 [ 277s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 277s] Makefile:385: recipe for target 'all' failed [ 277s] make[1]: *** [all] Error 2 [ 277s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 277s] dh_auto_build: make -j1 returned exit code 2 [ 277s] debian/rules:45: recipe for target 'build' failed [ 277s] make: *** [build] Error 2 [ 277s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 277s] ### VM INTERACTION START ### [ 280s] [ 265.638201] sysrq: Power Off [ 280s] [ 265.643965] reboot: Power down [ 281s] ### VM INTERACTION END ### [ 281s] [ 281s] lamb56 failed "build osmo-bsc_1.7.0.190.5ac70.202107120026.dsc" at Mon Jul 12 02:02:44 UTC 2021. [ 281s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jul 12 02:04:49 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 12 Jul 2021 02:04:49 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in xUbuntu_21.04/x86_64 In-Reply-To: References: Message-ID: <60eba35cbd678_625c2b1bc26145f0101041@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bsc/xUbuntu_21.04/x86_64 Package network:osmocom:nightly/osmo-bsc failed to build in xUbuntu_21.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bsc Last lines of build log: [ 637s] /bin/bash ../../libtool --tag=CC --mode=link gcc -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -ffile-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -std=gnu11 -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -Wl,-Bsymbolic-functions -Wl,-z,relro -o nanobts_omlattr_test nanobts_omlattr_test.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/abis_osmo.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_trx.o ../../src/osmo-bsc/gsm_data.o ../../src/osmo-bsc/nm_common_fsm.o ../../src/osmo-bsc/nm_bts_sm_fsm.o ../../src/osmo-bsc/nm_bts_fsm.o ../../src/osmo-bsc/nm_bb_transc_fsm.o ../../src/osmo-bsc/nm_channel_fsm.o ../../src/osmo-bsc/nm_gprs_cell_fsm.o ../../src/osmo-bsc/nm_gprs_nse_fsm.o ../../src/osmo-bsc/nm_gprs_nsvc_fsm.o ../../src/osmo-bsc/nm_rcarrier_fsm.o -ltalloc -losmocore -ltalloc -losmogsm -losmocore -losmoabis [ 637s] libtool: link: gcc -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -ffile-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -std=gnu11 -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -Wl,-Bsymbolic-functions -Wl,-z -Wl,relro -o nanobts_omlattr_test nanobts_omlattr_test.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/abis_osmo.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_trx.o ../../src/osmo-bsc/gsm_data.o ../../src/osmo-bsc/nm_common_fsm.o ../../src/osmo-bsc/nm_bts_sm_fsm.o ../../src/osmo-bsc/nm_bts_fsm.o ../../src/osmo-bsc/nm_bb_transc_fsm.o ../../src/osmo-bsc/nm_channel_fsm.o ../../src/osmo-bsc/nm_gprs_cell_fsm.o ../../src/osmo-bsc/nm_gprs_nse_fsm.o ../../src/osmo-bsc/nm_gprs_nsvc_fsm.o ../../src/osmo-bsc/nm_rcarrier_fsm.o -ltalloc /usr/lib/x86_64-linux-gnu/libosmogsm.so /usr/lib/x86_64-linux-gnu/libosmocore.so /usr/lib/x86_64-linux-gnu/libosmoabis.so -pthread [ 637s] make[4]: Leaving directory '/usr/src/packages/BUILD/tests/nanobts_omlattr' [ 637s] Making all in handover [ 637s] make[4]: Entering directory '/usr/src/packages/BUILD/tests/handover' [ 637s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -ggdb3 -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -ffile-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -std=gnu11 -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o handover_test.o handover_test.c [ 637s] handover_test.c: In function 'res_ind': [ 637s] handover_test.c:1094:30: error: 'ts_str' may be used uninitialized in this function [-Werror=maybe-uninitialized] [ 637s] 1094 | char subslot_val = ts_str[lchan->nr]; [ 637s] | ^ [ 638s] cc1: some warnings being treated as errors [ 638s] make[4]: *** [Makefile:576: handover_test.o] Error 1 [ 638s] make[4]: Leaving directory '/usr/src/packages/BUILD/tests/handover' [ 638s] make[3]: *** [Makefile:420: all-recursive] Error 1 [ 638s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 638s] make[2]: *** [Makefile:455: all-recursive] Error 1 [ 638s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 638s] make[1]: *** [Makefile:387: all] Error 2 [ 638s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 638s] dh_auto_build: error: make -j1 returned exit code 2 [ 638s] make: *** [debian/rules:45: build] Error 25 [ 638s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 638s] ### VM INTERACTION START ### [ 639s] Powering off. [ 639s] [ 611.744838] reboot: Power down [ 639s] ### VM INTERACTION END ### [ 639s] [ 639s] lamb51 failed "build osmo-bsc_1.7.0.190.5ac70.202107120026.dsc" at Mon Jul 12 02:04:41 UTC 2021. [ 639s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jul 12 02:07:06 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 12 Jul 2021 02:07:06 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <60eba3d590b2f_625c2b1bc26145f0101102d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bsc/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/osmo-bsc failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bsc Last lines of build log: [ 336s] /bin/bash ../../libtool --tag=CC --mode=link gcc -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -std=gnu11 -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -Wl,-Bsymbolic-functions -Wl,-z,relro -o nanobts_omlattr_test nanobts_omlattr_test.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/abis_osmo.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_trx.o ../../src/osmo-bsc/gsm_data.o ../../src/osmo-bsc/nm_common_fsm.o ../../src/osmo-bsc/nm_bts_sm_fsm.o ../../src/osmo-bsc/nm_bts_fsm.o ../../src/osmo-bsc/nm_bb_transc_fsm.o ../../src/osmo-bsc/nm_channel_fsm.o ../../src/osmo-bsc/nm_gprs_cell_fsm.o ../../src/osmo-bsc/nm_gprs_nse_fsm.o ../../src/osmo-bsc/nm_gprs_nsvc_fsm.o ../../src/osmo-bsc/nm_rcarrier_fsm.o -ltalloc -losmocore -ltalloc -losmogsm -losmocore -losmoabis [ 337s] libtool: link: gcc -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -std=gnu11 -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -Wl,-Bsymbolic-functions -Wl,-z -Wl,relro -o nanobts_omlattr_test nanobts_omlattr_test.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/abis_osmo.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_trx.o ../../src/osmo-bsc/gsm_data.o ../../src/osmo-bsc/nm_common_fsm.o ../../src/osmo-bsc/nm_bts_sm_fsm.o ../../src/osmo-bsc/nm_bts_fsm.o ../../src/osmo-bsc/nm_bb_transc_fsm.o ../../src/osmo-bsc/nm_channel_fsm.o ../../src/osmo-bsc/nm_gprs_cell_fsm.o ../../src/osmo-bsc/nm_gprs_nse_fsm.o ../../src/osmo-bsc/nm_gprs_nsvc_fsm.o ../../src/osmo-bsc/nm_rcarrier_fsm.o -ltalloc /usr/lib/x86_64-linux-gnu/libosmogsm.so /usr/lib/x86_64-linux-gnu/libosmocore.so /usr/lib/x86_64-linux-gnu/libosmoabis.so -pthread [ 337s] make[4]: Leaving directory '/usr/src/packages/BUILD/tests/nanobts_omlattr' [ 337s] Making all in handover [ 337s] make[4]: Entering directory '/usr/src/packages/BUILD/tests/handover' [ 337s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -ggdb3 -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -std=gnu11 -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o handover_test.o handover_test.c [ 337s] handover_test.c: In function 'res_ind': [ 337s] handover_test.c:1094:30: error: 'ts_str' may be used uninitialized in this function [-Werror=maybe-uninitialized] [ 337s] 1094 | char subslot_val = ts_str[lchan->nr]; [ 337s] | ^ [ 338s] cc1: some warnings being treated as errors [ 338s] make[4]: *** [Makefile:576: handover_test.o] Error 1 [ 338s] make[4]: Leaving directory '/usr/src/packages/BUILD/tests/handover' [ 338s] make[3]: *** [Makefile:420: all-recursive] Error 1 [ 338s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 338s] make[2]: *** [Makefile:453: all-recursive] Error 1 [ 338s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 338s] make[1]: *** [Makefile:385: all] Error 2 [ 338s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 338s] dh_auto_build: error: make -j1 returned exit code 2 [ 338s] make: *** [debian/rules:45: build] Error 25 [ 338s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 338s] ### VM INTERACTION START ### [ 339s] Powering off. [ 339s] [ 325.010056] reboot: Power down [ 339s] ### VM INTERACTION END ### [ 339s] [ 339s] sheep85 failed "build osmo-bsc_1.7.0.190.5ac70.202107120026.dsc" at Mon Jul 12 02:07:02 UTC 2021. [ 339s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jul 12 02:13:23 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 12 Jul 2021 02:13:23 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <60eba557bb662_625c2b1bc26145f010123b9@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bsc/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-bsc failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bsc Last lines of build log: [ 354s] /bin/bash ../../libtool --tag=CC --mode=link gcc -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -ffile-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -std=gnu11 -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -Wl,-z,relro -o nanobts_omlattr_test nanobts_omlattr_test.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/abis_osmo.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_trx.o ../../src/osmo-bsc/gsm_data.o ../../src/osmo-bsc/nm_common_fsm.o ../../src/osmo-bsc/nm_bts_sm_fsm.o ../../src/osmo-bsc/nm_bts_fsm.o ../../src/osmo-bsc/nm_bb_transc_fsm.o ../../src/osmo-bsc/nm_channel_fsm.o ../../src/osmo-bsc/nm_gprs_cell_fsm.o ../../src/osmo-bsc/nm_gprs_nse_fsm.o ../../src/osmo-bsc/nm_gprs_nsvc_fsm.o ../../src/osmo-bsc/nm_rcarrier_fsm.o -ltalloc -losmocore -ltalloc -losmogsm -losmocore -losmoabis [ 354s] libtool: link: gcc -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -ffile-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -std=gnu11 -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -Wl,-z -Wl,relro -o nanobts_omlattr_test nanobts_omlattr_test.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/abis_osmo.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_trx.o ../../src/osmo-bsc/gsm_data.o ../../src/osmo-bsc/nm_common_fsm.o ../../src/osmo-bsc/nm_bts_sm_fsm.o ../../src/osmo-bsc/nm_bts_fsm.o ../../src/osmo-bsc/nm_bb_transc_fsm.o ../../src/osmo-bsc/nm_channel_fsm.o ../../src/osmo-bsc/nm_gprs_cell_fsm.o ../../src/osmo-bsc/nm_gprs_nse_fsm.o ../../src/osmo-bsc/nm_gprs_nsvc_fsm.o ../../src/osmo-bsc/nm_rcarrier_fsm.o -ltalloc /usr/lib/x86_64-linux-gnu/libosmogsm.so /usr/lib/x86_64-linux-gnu/libosmocore.so /usr/lib/x86_64-linux-gnu/libosmoabis.so -pthread [ 354s] make[4]: Leaving directory '/usr/src/packages/BUILD/tests/nanobts_omlattr' [ 354s] Making all in handover [ 354s] make[4]: Entering directory '/usr/src/packages/BUILD/tests/handover' [ 354s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -ggdb3 -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -ffile-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -std=gnu11 -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o handover_test.o handover_test.c [ 354s] handover_test.c: In function 'res_ind': [ 354s] handover_test.c:1094:30: error: 'ts_str' may be used uninitialized in this function [-Werror=maybe-uninitialized] [ 354s] 1094 | char subslot_val = ts_str[lchan->nr]; [ 354s] | ^ [ 354s] cc1: some warnings being treated as errors [ 354s] make[4]: *** [Makefile:576: handover_test.o] Error 1 [ 354s] make[4]: Leaving directory '/usr/src/packages/BUILD/tests/handover' [ 354s] make[3]: *** [Makefile:420: all-recursive] Error 1 [ 354s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 354s] make[2]: *** [Makefile:455: all-recursive] Error 1 [ 354s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 355s] make[1]: *** [Makefile:387: all] Error 2 [ 355s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 355s] dh_auto_build: error: make -j1 returned exit code 2 [ 355s] make: *** [debian/rules:45: build] Error 25 [ 355s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 355s] ### VM INTERACTION START ### [ 356s] Powering off. [ 356s] [ 338.405893] reboot: Power down [ 356s] ### VM INTERACTION END ### [ 356s] [ 356s] sheep86 failed "build osmo-bsc_1.7.0.190.5ac70.202107120026.dsc" at Mon Jul 12 02:13:19 UTC 2021. [ 356s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jul 12 02:13:41 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 12 Jul 2021 02:13:41 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <60eba55951f5b_625c2b1bc26145f010124e2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bsc/xUbuntu_19.04/x86_64 Package network:osmocom:nightly/osmo-bsc failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bsc Last lines of build log: [ 780s] /bin/bash ../../libtool --tag=CC --mode=link gcc -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -std=gnu11 -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -Wl,-Bsymbolic-functions -Wl,-z,relro -o nanobts_omlattr_test nanobts_omlattr_test.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/abis_osmo.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_trx.o ../../src/osmo-bsc/gsm_data.o ../../src/osmo-bsc/nm_common_fsm.o ../../src/osmo-bsc/nm_bts_sm_fsm.o ../../src/osmo-bsc/nm_bts_fsm.o ../../src/osmo-bsc/nm_bb_transc_fsm.o ../../src/osmo-bsc/nm_channel_fsm.o ../../src/osmo-bsc/nm_gprs_cell_fsm.o ../../src/osmo-bsc/nm_gprs_nse_fsm.o ../../src/osmo-bsc/nm_gprs_nsvc_fsm.o ../../src/osmo-bsc/nm_rcarrier_fsm.o -ltalloc -losmocore -ltalloc -losmogsm -losmocore -losmoabis [ 780s] libtool: link: gcc -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -std=gnu11 -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -Wl,-Bsymbolic-functions -Wl,-z -Wl,relro -o nanobts_omlattr_test nanobts_omlattr_test.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/abis_osmo.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_trx.o ../../src/osmo-bsc/gsm_data.o ../../src/osmo-bsc/nm_common_fsm.o ../../src/osmo-bsc/nm_bts_sm_fsm.o ../../src/osmo-bsc/nm_bts_fsm.o ../../src/osmo-bsc/nm_bb_transc_fsm.o ../../src/osmo-bsc/nm_channel_fsm.o ../../src/osmo-bsc/nm_gprs_cell_fsm.o ../../src/osmo-bsc/nm_gprs_nse_fsm.o ../../src/osmo-bsc/nm_gprs_nsvc_fsm.o ../../src/osmo-bsc/nm_rcarrier_fsm.o -ltalloc /usr/lib/x86_64-linux-gnu/libosmogsm.so /usr/lib/x86_64-linux-gnu/libosmocore.so /usr/lib/x86_64-linux-gnu/libosmoabis.so -pthread [ 780s] make[4]: Leaving directory '/usr/src/packages/BUILD/tests/nanobts_omlattr' [ 780s] Making all in handover [ 780s] make[4]: Entering directory '/usr/src/packages/BUILD/tests/handover' [ 780s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -ggdb3 -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -std=gnu11 -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o handover_test.o handover_test.c [ 781s] handover_test.c: In function 'res_ind': [ 781s] handover_test.c:1094:30: error: 'ts_str' may be used uninitialized in this function [-Werror=maybe-uninitialized] [ 781s] char subslot_val = ts_str[lchan->nr]; [ 781s] ^ [ 781s] cc1: some warnings being treated as errors [ 781s] make[4]: *** [Makefile:576: handover_test.o] Error 1 [ 781s] make[4]: Leaving directory '/usr/src/packages/BUILD/tests/handover' [ 781s] make[3]: *** [Makefile:420: all-recursive] Error 1 [ 781s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 781s] make[2]: *** [Makefile:453: all-recursive] Error 1 [ 781s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 781s] make[1]: *** [Makefile:385: all] Error 2 [ 781s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 781s] dh_auto_build: make -j1 returned exit code 2 [ 781s] make: *** [debian/rules:45: build] Error 2 [ 782s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 782s] ### VM INTERACTION START ### [ 785s] [ 716.472837] sysrq: Power Off [ 785s] [ 716.529631] reboot: Power down [ 785s] ### VM INTERACTION END ### [ 785s] [ 785s] lamb27 failed "build osmo-bsc_1.7.0.190.5ac70.202107120026.dsc" at Mon Jul 12 02:13:29 UTC 2021. [ 785s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jul 12 02:14:49 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 12 Jul 2021 02:14:49 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in Debian_10/x86_64 In-Reply-To: References: Message-ID: <60eba5b290c43_625c2b1bc26145f01012785@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bsc/Debian_10/x86_64 Package network:osmocom:nightly/osmo-bsc failed to build in Debian_10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bsc Last lines of build log: [ 324s] /bin/bash ../../libtool --tag=CC --mode=link gcc -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -std=gnu11 -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -Wl,-z,relro -o nanobts_omlattr_test nanobts_omlattr_test.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/abis_osmo.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_trx.o ../../src/osmo-bsc/gsm_data.o ../../src/osmo-bsc/nm_common_fsm.o ../../src/osmo-bsc/nm_bts_sm_fsm.o ../../src/osmo-bsc/nm_bts_fsm.o ../../src/osmo-bsc/nm_bb_transc_fsm.o ../../src/osmo-bsc/nm_channel_fsm.o ../../src/osmo-bsc/nm_gprs_cell_fsm.o ../../src/osmo-bsc/nm_gprs_nse_fsm.o ../../src/osmo-bsc/nm_gprs_nsvc_fsm.o ../../src/osmo-bsc/nm_rcarrier_fsm.o -ltalloc -losmocore -ltalloc -losmogsm -losmocore -losmoabis [ 324s] libtool: link: gcc -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -std=gnu11 -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -Wl,-z -Wl,relro -o nanobts_omlattr_test nanobts_omlattr_test.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/abis_osmo.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_trx.o ../../src/osmo-bsc/gsm_data.o ../../src/osmo-bsc/nm_common_fsm.o ../../src/osmo-bsc/nm_bts_sm_fsm.o ../../src/osmo-bsc/nm_bts_fsm.o ../../src/osmo-bsc/nm_bb_transc_fsm.o ../../src/osmo-bsc/nm_channel_fsm.o ../../src/osmo-bsc/nm_gprs_cell_fsm.o ../../src/osmo-bsc/nm_gprs_nse_fsm.o ../../src/osmo-bsc/nm_gprs_nsvc_fsm.o ../../src/osmo-bsc/nm_rcarrier_fsm.o -ltalloc /usr/lib/x86_64-linux-gnu/libosmogsm.so /usr/lib/x86_64-linux-gnu/libosmocore.so /usr/lib/x86_64-linux-gnu/libosmoabis.so -pthread [ 324s] make[4]: Leaving directory '/usr/src/packages/BUILD/tests/nanobts_omlattr' [ 324s] Making all in handover [ 324s] make[4]: Entering directory '/usr/src/packages/BUILD/tests/handover' [ 324s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -ggdb3 -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -std=gnu11 -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o handover_test.o handover_test.c [ 325s] handover_test.c: In function 'res_ind': [ 325s] handover_test.c:1094:30: error: 'ts_str' may be used uninitialized in this function [-Werror=maybe-uninitialized] [ 325s] char subslot_val = ts_str[lchan->nr]; [ 325s] ^ [ 325s] cc1: some warnings being treated as errors [ 325s] make[4]: *** [Makefile:576: handover_test.o] Error 1 [ 325s] make[4]: Leaving directory '/usr/src/packages/BUILD/tests/handover' [ 325s] make[3]: *** [Makefile:420: all-recursive] Error 1 [ 325s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 325s] make[2]: *** [Makefile:453: all-recursive] Error 1 [ 325s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 325s] make[1]: *** [Makefile:385: all] Error 2 [ 325s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 325s] dh_auto_build: make -j1 returned exit code 2 [ 325s] make: *** [debian/rules:45: build] Error 2 [ 325s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 325s] ### VM INTERACTION START ### [ 329s] [ 315.733222] sysrq: Power Off [ 329s] [ 315.736784] reboot: Power down [ 329s] ### VM INTERACTION END ### [ 329s] [ 329s] build72 failed "build osmo-bsc_1.7.0.190.5ac70.202107120026.dsc" at Mon Jul 12 02:14:36 UTC 2021. [ 329s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jul 12 02:15:06 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 12 Jul 2021 02:15:06 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <60eba5b3792a9_625c2b1bc26145f010128ca@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bsc/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/osmo-bsc failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bsc Last lines of build log: [ 461s] /bin/bash ../../libtool --tag=CC --mode=link gcc -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -std=gnu11 -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -Wl,-Bsymbolic-functions -Wl,-z,relro -o nanobts_omlattr_test nanobts_omlattr_test.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/abis_osmo.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_trx.o ../../src/osmo-bsc/gsm_data.o ../../src/osmo-bsc/nm_common_fsm.o ../../src/osmo-bsc/nm_bts_sm_fsm.o ../../src/osmo-bsc/nm_bts_fsm.o ../../src/osmo-bsc/nm_bb_transc_fsm.o ../../src/osmo-bsc/nm_channel_fsm.o ../../src/osmo-bsc/nm_gprs_cell_fsm.o ../../src/osmo-bsc/nm_gprs_nse_fsm.o ../../src/osmo-bsc/nm_gprs_nsvc_fsm.o ../../src/osmo-bsc/nm_rcarrier_fsm.o -ltalloc -losmocore -ltalloc -losmogsm -losmocore -losmoabis [ 461s] libtool: link: gcc -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -std=gnu11 -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -Wl,-Bsymbolic-functions -Wl,-z -Wl,relro -o nanobts_omlattr_test nanobts_omlattr_test.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/abis_osmo.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_trx.o ../../src/osmo-bsc/gsm_data.o ../../src/osmo-bsc/nm_common_fsm.o ../../src/osmo-bsc/nm_bts_sm_fsm.o ../../src/osmo-bsc/nm_bts_fsm.o ../../src/osmo-bsc/nm_bb_transc_fsm.o ../../src/osmo-bsc/nm_channel_fsm.o ../../src/osmo-bsc/nm_gprs_cell_fsm.o ../../src/osmo-bsc/nm_gprs_nse_fsm.o ../../src/osmo-bsc/nm_gprs_nsvc_fsm.o ../../src/osmo-bsc/nm_rcarrier_fsm.o -ltalloc /usr/lib/x86_64-linux-gnu/libosmogsm.so /usr/lib/x86_64-linux-gnu/libosmocore.so /usr/lib/x86_64-linux-gnu/libosmoabis.so -pthread [ 461s] make[4]: Leaving directory '/usr/src/packages/BUILD/tests/nanobts_omlattr' [ 461s] Making all in handover [ 461s] make[4]: Entering directory '/usr/src/packages/BUILD/tests/handover' [ 461s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -ggdb3 -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -std=gnu11 -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o handover_test.o handover_test.c [ 462s] handover_test.c: In function 'res_ind': [ 462s] handover_test.c:1094:30: error: 'ts_str' may be used uninitialized in this function [-Werror=maybe-uninitialized] [ 462s] 1094 | char subslot_val = ts_str[lchan->nr]; [ 462s] | ^ [ 462s] cc1: some warnings being treated as errors [ 462s] make[4]: *** [Makefile:576: handover_test.o] Error 1 [ 462s] make[4]: Leaving directory '/usr/src/packages/BUILD/tests/handover' [ 462s] make[3]: *** [Makefile:420: all-recursive] Error 1 [ 462s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 462s] make[2]: *** [Makefile:453: all-recursive] Error 1 [ 462s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 462s] make[1]: *** [Makefile:385: all] Error 2 [ 462s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 462s] dh_auto_build: error: make -j1 returned exit code 2 [ 462s] make: *** [debian/rules:45: build] Error 25 [ 462s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 462s] ### VM INTERACTION START ### [ 465s] [ 450.703359] sysrq: Power Off [ 465s] [ 450.710838] reboot: Power down [ 465s] ### VM INTERACTION END ### [ 465s] [ 465s] lamb07 failed "build osmo-bsc_1.7.0.190.5ac70.202107120026.dsc" at Mon Jul 12 02:14:55 UTC 2021. [ 465s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jul 12 02:15:58 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 12 Jul 2021 02:15:58 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <60eba5ef5a8a4_625c2b1bc26145f0101307f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bsc/xUbuntu_18.04/x86_64 Package network:osmocom:nightly/osmo-bsc failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bsc Last lines of build log: [ 740s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -ggdb3 -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -std=gnu11 -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o handover_test.o handover_test.c [ 742s] handover_test.c: In function 'res_ind': [ 742s] handover_test.c:1094:30: error: 'ts_str' may be used uninitialized in this function [-Werror=maybe-uninitialized] [ 742s] char subslot_val = ts_str[lchan->nr]; [ 742s] ^ [ 742s] cc1: some warnings being treated as errors [ 742s] Makefile:569: recipe for target 'handover_test.o' failed [ 742s] make[4]: *** [handover_test.o] Error 1 [ 742s] make[4]: Leaving directory '/usr/src/packages/BUILD/tests/handover' [ 742s] Makefile:420: recipe for target 'all-recursive' failed [ 742s] make[3]: *** [all-recursive] Error 1 [ 742s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 742s] Makefile:453: recipe for target 'all-recursive' failed [ 742s] make[2]: *** [all-recursive] Error 1 [ 742s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 742s] Makefile:385: recipe for target 'all' failed [ 742s] make[1]: *** [all] Error 2 [ 742s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 742s] dh_auto_build: make -j1 returned exit code 2 [ 742s] debian/rules:45: recipe for target 'build' failed [ 742s] make: *** [build] Error 2 [ 742s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 742s] ### VM INTERACTION START ### [ 745s] [ 711.332845] sysrq: Power Off [ 745s] [ 711.389366] reboot: Power down [ 746s] ### VM INTERACTION END ### [ 746s] [ 746s] lamb17 failed "build osmo-bsc_1.7.0.190.5ac70.202107120026.dsc" at Mon Jul 12 02:15:48 UTC 2021. [ 746s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jul 12 02:41:25 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 12 Jul 2021 02:41:25 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in openSUSE_Leap_15.1_ARM/aarch64 In-Reply-To: References: Message-ID: <60ebabdefb9a_625c2b1bc26145f01021863@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bsc/openSUSE_Leap_15.1_ARM/aarch64 Package network:osmocom:nightly/osmo-bsc failed to build in openSUSE_Leap_15.1_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bsc Last lines of build log: [ 102s] CCLD nanobts_omlattr_test [ 102s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-bsc-1.7.0.190.5ac70.202107120026/tests/nanobts_omlattr' [ 102s] Making all in handover [ 102s] make[3]: Entering directory '/home/abuild/rpmbuild/BUILD/osmo-bsc-1.7.0.190.5ac70.202107120026/tests/handover' [ 102s] CC handover_test.o [ 104s] handover_test.c: In function 'res_ind': [ 104s] handover_test.c:1094:30: error: 'ts_str' may be used uninitialized in this function [-Werror=maybe-uninitialized] [ 104s] char subslot_val = ts_str[lchan->nr]; [ 104s] ^ [ 104s] cc1: some warnings being treated as errors [ 104s] make[3]: *** [Makefile:568: handover_test.o] Error 1 [ 104s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-bsc-1.7.0.190.5ac70.202107120026/tests/handover' [ 104s] make[2]: *** [Makefile:419: all-recursive] Error 1 [ 104s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-bsc-1.7.0.190.5ac70.202107120026/tests' [ 104s] make[1]: *** [Makefile:452: all-recursive] Error 1 [ 104s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-bsc-1.7.0.190.5ac70.202107120026' [ 104s] make: *** [Makefile:384: all] Error 2 [ 104s] error: Bad exit status from /var/tmp/rpm-tmp.8sBxUu (%build) [ 104s] [ 104s] [ 104s] RPM build errors: [ 104s] Bad exit status from /var/tmp/rpm-tmp.8sBxUu (%build) [ 104s] ### VM INTERACTION START ### [ 107s] [ 93.333359] sysrq: SysRq : Power Off [ 107s] [ 93.407205] reboot: Power down [ 107s] ### VM INTERACTION END ### [ 107s] [ 107s] obs-arm-9 failed "build osmo-bsc.spec" at Mon Jul 12 02:41:08 UTC 2021. [ 107s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jul 12 03:03:25 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 12 Jul 2021 03:03:25 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in CentOS_8/aarch64 In-Reply-To: References: Message-ID: <60ebb104aa559_625c2b1bc26145f01025590@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bsc/CentOS_8/aarch64 Package network:osmocom:nightly/osmo-bsc failed to build in CentOS_8/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bsc Last lines of build log: [ 90s] CCLD nanobts_omlattr_test [ 90s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-bsc-1.7.0.190.5ac70.202107120026/tests/nanobts_omlattr' [ 90s] Making all in handover [ 90s] make[3]: Entering directory '/home/abuild/rpmbuild/BUILD/osmo-bsc-1.7.0.190.5ac70.202107120026/tests/handover' [ 90s] CC handover_test.o [ 91s] handover_test.c: In function 'res_ind': [ 91s] handover_test.c:1094:30: error: 'ts_str' may be used uninitialized in this function [-Werror=maybe-uninitialized] [ 91s] char subslot_val = ts_str[lchan->nr]; [ 91s] ^ [ 91s] cc1: some warnings being treated as errors [ 91s] make[3]: *** [Makefile:575: handover_test.o] Error 1 [ 91s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-bsc-1.7.0.190.5ac70.202107120026/tests/handover' [ 91s] make[2]: *** [Makefile:419: all-recursive] Error 1 [ 91s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-bsc-1.7.0.190.5ac70.202107120026/tests' [ 91s] make[1]: *** [Makefile:452: all-recursive] Error 1 [ 91s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-bsc-1.7.0.190.5ac70.202107120026' [ 91s] make: *** [Makefile:384: all] Error 2 [ 91s] error: Bad exit status from /var/tmp/rpm-tmp.LKMyId (%build) [ 91s] [ 91s] [ 91s] RPM build errors: [ 91s] Bad exit status from /var/tmp/rpm-tmp.LKMyId (%build) [ 91s] ### VM INTERACTION START ### [ 92s] Powering off. [ 92s] [ 77.186136] reboot: Power down [ 92s] ### VM INTERACTION END ### [ 92s] [ 92s] obs-arm-11 failed "build osmo-bsc.spec" at Mon Jul 12 03:03:16 UTC 2021. [ 92s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jul 12 03:33:08 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 12 Jul 2021 03:33:08 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in openSUSE_Leap_15.1_ARM/armv7l In-Reply-To: References: Message-ID: <60ebb809ebe44_625c2b1bc26145f01030098@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bsc/openSUSE_Leap_15.1_ARM/armv7l Package network:osmocom:nightly/osmo-bsc failed to build in openSUSE_Leap_15.1_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-bsc Last lines of build log: [ 147s] CCLD nanobts_omlattr_test [ 148s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-bsc-1.7.0.190.5ac70.202107120026/tests/nanobts_omlattr' [ 148s] Making all in handover [ 148s] make[3]: Entering directory '/home/abuild/rpmbuild/BUILD/osmo-bsc-1.7.0.190.5ac70.202107120026/tests/handover' [ 148s] CC handover_test.o [ 150s] handover_test.c: In function 'res_ind': [ 150s] handover_test.c:1094:30: error: 'ts_str' may be used uninitialized in this function [-Werror=maybe-uninitialized] [ 150s] char subslot_val = ts_str[lchan->nr]; [ 150s] ^ [ 150s] cc1: some warnings being treated as errors [ 150s] make[3]: *** [Makefile:568: handover_test.o] Error 1 [ 150s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-bsc-1.7.0.190.5ac70.202107120026/tests/handover' [ 150s] make[2]: *** [Makefile:419: all-recursive] Error 1 [ 150s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-bsc-1.7.0.190.5ac70.202107120026/tests' [ 150s] make[1]: *** [Makefile:452: all-recursive] Error 1 [ 150s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-bsc-1.7.0.190.5ac70.202107120026' [ 150s] make: *** [Makefile:384: all] Error 2 [ 150s] error: Bad exit status from /var/tmp/rpm-tmp.glzAzV (%build) [ 150s] [ 150s] [ 150s] RPM build errors: [ 150s] Bad exit status from /var/tmp/rpm-tmp.glzAzV (%build) [ 150s] ### VM INTERACTION START ### [ 153s] [ 138.218463] sysrq: SysRq : Power Off [ 153s] [ 138.242933] reboot: Power down [ 154s] ### VM INTERACTION END ### [ 154s] [ 154s] armbuild22 failed "build osmo-bsc.spec" at Mon Jul 12 03:32:55 UTC 2021. [ 154s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jul 12 04:24:17 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 12 Jul 2021 04:24:17 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <60ebc400f4c_625c2b1bc26145f01043041@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bsc/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-bsc failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bsc Last lines of build log: [ 318s] /bin/bash ../../libtool --tag=CC --mode=link gcc -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -ffile-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -std=gnu11 -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -Wl,-z,relro -o nanobts_omlattr_test nanobts_omlattr_test.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/abis_osmo.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_trx.o ../../src/osmo-bsc/gsm_data.o ../../src/osmo-bsc/nm_common_fsm.o ../../src/osmo-bsc/nm_bts_sm_fsm.o ../../src/osmo-bsc/nm_bts_fsm.o ../../src/osmo-bsc/nm_bb_transc_fsm.o ../../src/osmo-bsc/nm_channel_fsm.o ../../src/osmo-bsc/nm_gprs_cell_fsm.o ../../src/osmo-bsc/nm_gprs_nse_fsm.o ../../src/osmo-bsc/nm_gprs_nsvc_fsm.o ../../src/osmo-bsc/nm_rcarrier_fsm.o -ltalloc -losmocore -ltalloc -losmogsm -losmocore -losmoabis [ 318s] libtool: link: gcc -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -ffile-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -std=gnu11 -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -Wl,-z -Wl,relro -o nanobts_omlattr_test nanobts_omlattr_test.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/abis_osmo.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_trx.o ../../src/osmo-bsc/gsm_data.o ../../src/osmo-bsc/nm_common_fsm.o ../../src/osmo-bsc/nm_bts_sm_fsm.o ../../src/osmo-bsc/nm_bts_fsm.o ../../src/osmo-bsc/nm_bb_transc_fsm.o ../../src/osmo-bsc/nm_channel_fsm.o ../../src/osmo-bsc/nm_gprs_cell_fsm.o ../../src/osmo-bsc/nm_gprs_nse_fsm.o ../../src/osmo-bsc/nm_gprs_nsvc_fsm.o ../../src/osmo-bsc/nm_rcarrier_fsm.o -ltalloc /usr/lib/x86_64-linux-gnu/libosmogsm.so /usr/lib/x86_64-linux-gnu/libosmocore.so /usr/lib/x86_64-linux-gnu/libosmoabis.so -pthread [ 318s] make[4]: Leaving directory '/usr/src/packages/BUILD/tests/nanobts_omlattr' [ 318s] Making all in handover [ 318s] make[4]: Entering directory '/usr/src/packages/BUILD/tests/handover' [ 318s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -ggdb3 -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -ffile-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -std=gnu11 -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o handover_test.o handover_test.c [ 318s] handover_test.c: In function 'res_ind': [ 318s] handover_test.c:1094:30: error: 'ts_str' may be used uninitialized in this function [-Werror=maybe-uninitialized] [ 318s] 1094 | char subslot_val = ts_str[lchan->nr]; [ 318s] | ^ [ 318s] cc1: some warnings being treated as errors [ 318s] make[4]: *** [Makefile:576: handover_test.o] Error 1 [ 318s] make[4]: Leaving directory '/usr/src/packages/BUILD/tests/handover' [ 318s] make[3]: *** [Makefile:420: all-recursive] Error 1 [ 318s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 318s] make[2]: *** [Makefile:455: all-recursive] Error 1 [ 318s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 318s] make[1]: *** [Makefile:387: all] Error 2 [ 318s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 318s] dh_auto_build: error: make -j1 returned exit code 2 [ 318s] make: *** [debian/rules:45: build] Error 25 [ 318s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 318s] ### VM INTERACTION START ### [ 319s] Powering off. [ 319s] [ 301.545495] reboot: Power down [ 319s] ### VM INTERACTION END ### [ 319s] [ 319s] goat11 failed "build osmo-bsc_1.7.0.190.5ac70.202107120026.dsc" at Mon Jul 12 04:24:09 UTC 2021. [ 319s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jul 12 05:04:34 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 12 Jul 2021 05:04:34 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in Debian_9.0/aarch64 In-Reply-To: References: Message-ID: <60ebcd7dba6c4_625c2b1bc26145f010516f5@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bsc/Debian_9.0/aarch64 Package network:osmocom:nightly/osmo-bsc failed to build in Debian_9.0/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bsc Last lines of build log: [ 408s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -ggdb3 -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -std=gnu11 -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o handover_test.o handover_test.c [ 410s] handover_test.c: In function 'res_ind': [ 410s] handover_test.c:1094:30: error: 'ts_str' may be used uninitialized in this function [-Werror=maybe-uninitialized] [ 410s] char subslot_val = ts_str[lchan->nr]; [ 410s] ^ [ 411s] cc1: some warnings being treated as errors [ 411s] Makefile:569: recipe for target 'handover_test.o' failed [ 411s] make[4]: *** [handover_test.o] Error 1 [ 411s] make[4]: Leaving directory '/usr/src/packages/BUILD/tests/handover' [ 411s] Makefile:420: recipe for target 'all-recursive' failed [ 411s] make[3]: *** [all-recursive] Error 1 [ 411s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 411s] Makefile:453: recipe for target 'all-recursive' failed [ 411s] make[2]: *** [all-recursive] Error 1 [ 411s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 411s] Makefile:385: recipe for target 'all' failed [ 411s] make[1]: *** [all] Error 2 [ 411s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 411s] dh_auto_build: make -j1 returned exit code 2 [ 411s] debian/rules:45: recipe for target 'build' failed [ 411s] make: *** [build] Error 2 [ 411s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 411s] ### VM INTERACTION START ### [ 414s] [ 396.474263] sysrq: Power Off [ 414s] [ 396.476324] reboot: Power down [ 414s] ### VM INTERACTION END ### [ 414s] [ 414s] obs-arm-9 failed "build osmo-bsc_1.7.0.190.5ac70.202107120026.dsc" at Mon Jul 12 05:04:27 UTC 2021. [ 414s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Jul 12 05:23:42 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 12 Jul 2021 05:23:42 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in Debian_10/aarch64 In-Reply-To: References: Message-ID: <60ebd1f0c3362_625c2b1bc26145f0105527c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bsc/Debian_10/aarch64 Package network:osmocom:nightly/osmo-bsc failed to build in Debian_10/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bsc Last lines of build log: [ 191s] /bin/bash ../../libtool --tag=CC --mode=link gcc -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -std=gnu11 -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -Wl,-z,relro -o nanobts_omlattr_test nanobts_omlattr_test.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/abis_osmo.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_trx.o ../../src/osmo-bsc/gsm_data.o ../../src/osmo-bsc/nm_common_fsm.o ../../src/osmo-bsc/nm_bts_sm_fsm.o ../../src/osmo-bsc/nm_bts_fsm.o ../../src/osmo-bsc/nm_bb_transc_fsm.o ../../src/osmo-bsc/nm_channel_fsm.o ../../src/osmo-bsc/nm_gprs_cell_fsm.o ../../src/osmo-bsc/nm_gprs_nse_fsm.o ../../src/osmo-bsc/nm_gprs_nsvc_fsm.o ../../src/osmo-bsc/nm_rcarrier_fsm.o -ltalloc -losmocore -ltalloc -losmogsm -losmocore -losmoabis [ 192s] libtool: link: gcc -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -std=gnu11 -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -Wl,-z -Wl,relro -o nanobts_omlattr_test nanobts_omlattr_test.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/abis_osmo.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_trx.o ../../src/osmo-bsc/gsm_data.o ../../src/osmo-bsc/nm_common_fsm.o ../../src/osmo-bsc/nm_bts_sm_fsm.o ../../src/osmo-bsc/nm_bts_fsm.o ../../src/osmo-bsc/nm_bb_transc_fsm.o ../../src/osmo-bsc/nm_channel_fsm.o ../../src/osmo-bsc/nm_gprs_cell_fsm.o ../../src/osmo-bsc/nm_gprs_nse_fsm.o ../../src/osmo-bsc/nm_gprs_nsvc_fsm.o ../../src/osmo-bsc/nm_rcarrier_fsm.o -ltalloc /usr/lib/aarch64-linux-gnu/libosmogsm.so /usr/lib/aarch64-linux-gnu/libosmocore.so /usr/lib/aarch64-linux-gnu/libosmoabis.so -pthread [ 192s] make[4]: Leaving directory '/usr/src/packages/BUILD/tests/nanobts_omlattr' [ 192s] Making all in handover [ 192s] make[4]: Entering directory '/usr/src/packages/BUILD/tests/handover' [ 192s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -ggdb3 -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -std=gnu11 -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o handover_test.o handover_test.c [ 192s] handover_test.c: In function 'res_ind': [ 192s] handover_test.c:1094:30: error: 'ts_str' may be used uninitialized in this function [-Werror=maybe-uninitialized] [ 192s] char subslot_val = ts_str[lchan->nr]; [ 192s] ^ [ 192s] cc1: some warnings being treated as errors [ 192s] make[4]: *** [Makefile:576: handover_test.o] Error 1 [ 192s] make[4]: Leaving directory '/usr/src/packages/BUILD/tests/handover' [ 192s] make[3]: *** [Makefile:420: all-recursive] Error 1 [ 192s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 192s] make[2]: *** [Makefile:453: all-recursive] Error 1 [ 192s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 192s] make[1]: *** [Makefile:385: all] Error 2 [ 192s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 192s] dh_auto_build: make -j1 returned exit code 2 [ 192s] make: *** [debian/rules:45: build] Error 2 [ 192s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 192s] ### VM INTERACTION START ### [ 196s] [ 184.592439] sysrq: Power Off [ 196s] [ 184.601031] reboot: Power down [ 196s] ### VM INTERACTION END ### [ 196s] [ 196s] obs-arm-10 failed "build osmo-bsc_1.7.0.190.5ac70.202107120026.dsc" at Mon Jul 12 05:23:39 UTC 2021. [ 196s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Mon Jul 12 08:02:59 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 12 Jul 2021 08:02:59 +0000 Subject: Change in libosmo-sccp[master]: m3ua: fix leaky usage of m3ua_tx_xua_asp In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24909 ) Change subject: m3ua: fix leaky usage of m3ua_tx_xua_asp ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24909 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Id8584b99f30f2db602d4d129e4114821697272ab Gerrit-Change-Number: 24909 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 12 Jul 2021 08: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 Mon Jul 12 08:03:50 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 12 Jul 2021 08:03:50 +0000 Subject: Change in osmo-trx[master]: lms: init band In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/24910 ) Change subject: lms: init band ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/24910 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I8b59d38dd7b0781776c9e61226185879541fdc53 Gerrit-Change-Number: 24910 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 12 Jul 2021 08:03: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 Jul 12 08:04:29 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 12 Jul 2021 08:04:29 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: add NO_LIST_OSMO_PACKAGES In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24902 ) Change subject: jenkins-common.sh: add NO_LIST_OSMO_PACKAGES ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24902 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iaafb81e9ee94850ae3b6318574ad5370d74a2838 Gerrit-Change-Number: 24902 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 12 Jul 2021 08:04:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 12 08:04:39 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 12 Jul 2021 08:04:39 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: add NO_LIST_OSMO_PACKAGES In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24902 ) Change subject: jenkins-common.sh: add NO_LIST_OSMO_PACKAGES ...................................................................... jenkins-common.sh: add NO_LIST_OSMO_PACKAGES Allow to optionally skip listing the installed packages. This is useful to speed up tests when running locally. Related: osmo-dev I3d9976d07f088e2d106d23259889a4bffe1abbcb Change-Id: Iaafb81e9ee94850ae3b6318574ad5370d74a2838 --- M jenkins-common.sh 1 file changed, 4 insertions(+), 0 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; Verified diff --git a/jenkins-common.sh b/jenkins-common.sh index 2cf5c50..ef6fad9 100644 --- a/jenkins-common.sh +++ b/jenkins-common.sh @@ -67,6 +67,10 @@ local image="$2" local docker_run_sh="docker run --rm --entrypoint=/bin/sh $REPO_USER/$image -c" + if [ -n "$NO_LIST_OSMO_PACKAGES" ]; then + return + fi + # Don't run on all images case "$image" in osmo-*) ;; -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24902 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iaafb81e9ee94850ae3b6318574ad5370d74a2838 Gerrit-Change-Number: 24902 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 12 08:05:11 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 12 Jul 2021 08:05:11 +0000 Subject: Change in osmo-dev[master]: ttcn3.sh: set NO_LIST_OSMO_PACKAGES=1 In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/24901 ) Change subject: ttcn3.sh: set NO_LIST_OSMO_PACKAGES=1 ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/24901 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I3d9976d07f088e2d106d23259889a4bffe1abbcb Gerrit-Change-Number: 24901 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 12 Jul 2021 08:05:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 12 08:33:40 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 12 Jul 2021 08:33:40 +0000 Subject: Change in libosmocore[master]: Aggregate NSVC stats inside the NSE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24907 ) Change subject: Aggregate NSVC stats inside the NSE ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24907 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ifa3c85ec52bda14596e9d7a8705baa1fd4ee2010 Gerrit-Change-Number: 24907 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 12 Jul 2021 08:33:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 12 08:35:04 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 12 Jul 2021 08:35:04 +0000 Subject: Change in osmo-dev[master]: net/templates/run.sh: tweak masquerade In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/24875 ) Change subject: net/templates/run.sh: tweak masquerade ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/24875 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I30c22fe4e7683611e8dada329dbf7d51f78b6016 Gerrit-Change-Number: 24875 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 12 Jul 2021 08: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 Jul 12 08:35:45 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 12 Jul 2021 08:35:45 +0000 Subject: Change in osmo-dev[master]: net/templates/run.sh: tweak masquerade In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/24875 ) Change subject: net/templates/run.sh: tweak masquerade ...................................................................... Patch Set 2: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/24875 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I30c22fe4e7683611e8dada329dbf7d51f78b6016 Gerrit-Change-Number: 24875 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 12 Jul 2021 08:35:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 12 08:35:49 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 12 Jul 2021 08:35:49 +0000 Subject: Change in osmo-dev[master]: net/templates/run.sh: tweak masquerade In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/24875 ) Change subject: net/templates/run.sh: tweak masquerade ...................................................................... net/templates/run.sh: tweak masquerade Replace the old check with an exact check for the given rule. The old check doesn't work on my system if docker is running and sets up other masquerading rules. Change -A to -I, so it is less likely to be affected by whatever other rules may already be above in the chain. Change-Id: I30c22fe4e7683611e8dada329dbf7d51f78b6016 --- M net/templates/run.sh 1 file changed, 3 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve; Verified pespin: Looks good to me, but someone else must approve osmith: Looks good to me, approved; Verified diff --git a/net/templates/run.sh b/net/templates/run.sh index 0eacb0f..8571a42 100755 --- a/net/templates/run.sh +++ b/net/templates/run.sh @@ -13,8 +13,9 @@ sudo true || exit 1 -if [ -z "$(sudo iptables -L -t nat | grep MASQUERADE)" ]; then - sudo iptables -t nat -A POSTROUTING -s ${GGSN_NET} -o $dev -j MASQUERADE +if ! sudo iptables -t nat -C POSTROUTING -s ${GGSN_NET} -o $dev -j MASQUERADE 2>/dev/null; then + echo "Adding iptables rule for masquerade" + sudo iptables -t nat -I POSTROUTING -s ${GGSN_NET} -o $dev -j MASQUERADE fi if [ "$(sudo cat /proc/sys/net/ipv4/ip_forward)" = "0" ]; then -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/24875 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I30c22fe4e7683611e8dada329dbf7d51f78b6016 Gerrit-Change-Number: 24875 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 12 08:35:51 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 12 Jul 2021 08:35:51 +0000 Subject: Change in osmo-dev[master]: ttcn3.sh: set NO_LIST_OSMO_PACKAGES=1 In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/24901 ) Change subject: ttcn3.sh: set NO_LIST_OSMO_PACKAGES=1 ...................................................................... ttcn3.sh: set NO_LIST_OSMO_PACKAGES=1 Speed up tests by not running a separate docker instances first that lists installed packages. Depends: docker-playground Iaafb81e9ee94850ae3b6318574ad5370d74a2838 Change-Id: I3d9976d07f088e2d106d23259889a4bffe1abbcb --- M ttcn3/ttcn3.sh 1 file changed, 1 insertion(+), 0 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; Verified diff --git a/ttcn3/ttcn3.sh b/ttcn3/ttcn3.sh index 19019b3..07a7adc 100755 --- a/ttcn3/ttcn3.sh +++ b/ttcn3/ttcn3.sh @@ -245,6 +245,7 @@ cd "$(get_testsuite_dir_docker)" export DOCKER_ARGS="-v /usr/local:/usr/local:ro -v $hacks:/osmo-ttcn3-hacks:ro" + export NO_LIST_OSMO_PACKAGES=1 ./jenkins.sh touch "$marker" -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/24901 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I3d9976d07f088e2d106d23259889a4bffe1abbcb Gerrit-Change-Number: 24901 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 12 08:36:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 12 Jul 2021 08:36:42 +0000 Subject: Change in osmo-bsc[master]: separate 'interference-meas level-bounds' cfg and used In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24887 ) Change subject: separate 'interference-meas level-bounds' cfg and used ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24887 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iad8cf4151ff7f86dc0549158ed5d91d788d40b1f Gerrit-Change-Number: 24887 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 12 Jul 2021 08:36:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 12 08:38:12 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 12 Jul 2021 08:38:12 +0000 Subject: Change in osmo-bsc[master]: add test_dyn_ts_favor_static_ts_as_target.ho_vty In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24911 ) Change subject: add test_dyn_ts_favor_static_ts_as_target.ho_vty ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24911 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0911cd74613045d9fbe29d04eaef036d32049b92 Gerrit-Change-Number: 24911 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 12 Jul 2021 08:38: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 Jul 12 08:38:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 12 Jul 2021 08:38:38 +0000 Subject: Change in osmo-bsc[master]: extend test_dyn_ts_favor_half_used_tch_h_as_target.ho_vty In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24912 ) Change subject: extend test_dyn_ts_favor_half_used_tch_h_as_target.ho_vty ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24912 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5213459fb7fb201361ce0d6198fc0c2c745deee1 Gerrit-Change-Number: 24912 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 12 Jul 2021 08:38: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 Jul 12 08:43:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 12 Jul 2021 08:43:38 +0000 Subject: Change in libosmo-sccp[master]: m3ua: fix leaky usage of m3ua_tx_xua_asp In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24909 ) Change subject: m3ua: fix leaky usage of m3ua_tx_xua_asp ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24909 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Id8584b99f30f2db602d4d129e4114821697272ab Gerrit-Change-Number: 24909 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 12 Jul 2021 08:43:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 12 08:47:51 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 12 Jul 2021 08:47:51 +0000 Subject: Change in osmo-trx[master]: lms: init band In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/24910 ) Change subject: lms: init band ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/24910 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I8b59d38dd7b0781776c9e61226185879541fdc53 Gerrit-Change-Number: 24910 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 12 Jul 2021 08:47:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Mon Jul 12 09:00:35 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 12 Jul 2021 09:00:35 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <60ec04cef0a43_625c2b1bc26145f011050c0@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bsc/Raspbian_10/armv7l Package network:osmocom:nightly/osmo-bsc failed to build in Raspbian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-bsc Last lines of build log: [ 6958s] /bin/bash ../../libtool --tag=CC --mode=link gcc -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -std=gnu11 -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -Wl,-z,relro -o nanobts_omlattr_test nanobts_omlattr_test.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/abis_osmo.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_trx.o ../../src/osmo-bsc/gsm_data.o ../../src/osmo-bsc/nm_common_fsm.o ../../src/osmo-bsc/nm_bts_sm_fsm.o ../../src/osmo-bsc/nm_bts_fsm.o ../../src/osmo-bsc/nm_bb_transc_fsm.o ../../src/osmo-bsc/nm_channel_fsm.o ../../src/osmo-bsc/nm_gprs_cell_fsm.o ../../src/osmo-bsc/nm_gprs_nse_fsm.o ../../src/osmo-bsc/nm_gprs_nsvc_fsm.o ../../src/osmo-bsc/nm_rcarrier_fsm.o -ltalloc -losmocore -ltalloc -losmogsm -losmocore -losmoabis [ 6959s] libtool: link: gcc -Wall -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -std=gnu11 -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -Wl,-z -Wl,relro -o nanobts_omlattr_test nanobts_omlattr_test.o ../../src/osmo-bsc/abis_nm.o ../../src/osmo-bsc/abis_osmo.o ../../src/osmo-bsc/acc.o ../../src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o ../../src/osmo-bsc/bts.o ../../src/osmo-bsc/bts_sm.o ../../src/osmo-bsc/bts_trx.o ../../src/osmo-bsc/gsm_data.o ../../src/osmo-bsc/nm_common_fsm.o ../../src/osmo-bsc/nm_bts_sm_fsm.o ../../src/osmo-bsc/nm_bts_fsm.o ../../src/osmo-bsc/nm_bb_transc_fsm.o ../../src/osmo-bsc/nm_channel_fsm.o ../../src/osmo-bsc/nm_gprs_cell_fsm.o ../../src/osmo-bsc/nm_gprs_nse_fsm.o ../../src/osmo-bsc/nm_gprs_nsvc_fsm.o ../../src/osmo-bsc/nm_rcarrier_fsm.o -ltalloc /usr/lib/arm-linux-gnueabihf/libosmogsm.so /usr/lib/arm-linux-gnueabihf/libosmocore.so /usr/lib/arm-linux-gnueabihf/libosmoabis.so -pthread [ 6959s] make[4]: Leaving directory '/usr/src/packages/BUILD/tests/nanobts_omlattr' [ 6959s] Making all in handover [ 6959s] make[4]: Entering directory '/usr/src/packages/BUILD/tests/handover' [ 6959s] gcc -DHAVE_CONFIG_H -I. -I../.. -I../../include -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -ggdb3 -pthread -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -I/usr/include/ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -std=gnu11 -Werror=implicit -Werror=maybe-uninitialized -Werror=memset-transposed-args -Wnull-dereference -Werror=sizeof-array-argument -Werror=sizeof-pointer-memaccess -c -o handover_test.o handover_test.c [ 6960s] handover_test.c: In function 'res_ind': [ 6960s] handover_test.c:1094:30: error: 'ts_str' may be used uninitialized in this function [-Werror=maybe-uninitialized] [ 6960s] char subslot_val = ts_str[lchan->nr]; [ 6960s] ^ [ 6961s] cc1: some warnings being treated as errors [ 6961s] make[4]: *** [Makefile:576: handover_test.o] Error 1 [ 6961s] make[4]: Leaving directory '/usr/src/packages/BUILD/tests/handover' [ 6961s] make[3]: *** [Makefile:420: all-recursive] Error 1 [ 6961s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 6961s] make[2]: *** [Makefile:453: all-recursive] Error 1 [ 6961s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 6961s] make[1]: *** [Makefile:385: all] Error 2 [ 6961s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 6961s] dh_auto_build: make -j1 returned exit code 2 [ 6961s] make: *** [debian/rules:45: build] Error 2 [ 6961s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 6961s] ### VM INTERACTION START ### [ 7044s] [ 5192.253971] sysrq: SysRq : Power Off [ 7044s] [ 5192.255363] reboot: Power down [ 7044s] ### VM INTERACTION END ### [ 7044s] [ 7044s] armbuild01 failed "build osmo-bsc_1.7.0.190.5ac70.202107120026.dsc" at Mon Jul 12 09:00:27 UTC 2021. [ 7044s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Mon Jul 12 09:21:15 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 12 Jul 2021 09:21:15 +0000 Subject: Change in osmo-bsc[master]: handover_test: fix ts_str may be uninitialized References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24913 ) Change subject: handover_test: fix ts_str may be uninitialized ...................................................................... handover_test: fix ts_str may be uninitialized Fix for: handover_test.c: In function 'res_ind': handover_test.c:1094:30: error: 'ts_str' may be used uninitialized in this function [-Werror=maybe-uninitialized] char subslot_val = ts_str[lchan->nr]; Fixes: f76424 ("RES IND: add test_resource_indication.ho_vty") Change-Id: I398ba24b945bad96896eeb5ddbaff9c48bacf8ab --- M tests/handover/handover_test.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/13/24913/1 diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index 8d316ca..2c97f78 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -1077,7 +1077,7 @@ level = 0xff; for (i = 0; i < ARRAY_SIZE(trx->ts); i++) { - const char *ts_str; + const char *ts_str = NULL; struct gsm_lchan *lchan; size_t given_subslots = 0; struct gsm_bts_trx_ts *ts = &trx->ts[i]; @@ -1090,7 +1090,7 @@ ts_for_n_lchans(lchan, ts, ts->max_lchans_possible) { int chan_nr; - if (lchan->nr < given_subslots) { + if (lchan->nr < given_subslots && ts_str) { char subslot_val = ts_str[lchan->nr]; switch (subslot_val) { case '-': -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24913 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I398ba24b945bad96896eeb5ddbaff9c48bacf8ab Gerrit-Change-Number: 24913 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 Jul 12 09:21:32 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 12 Jul 2021 09:21:32 +0000 Subject: Change in osmo-bts[master]: main: do not use fprintf to log fatal errors In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24707 ) Change subject: main: do not use fprintf to log fatal errors ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24707 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I2ae4acf6a92137236e1b62c2d0aab79a34134f45 Gerrit-Change-Number: 24707 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 12 Jul 2021 09:21: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 Jul 12 09:40:25 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 12 Jul 2021 09:40:25 +0000 Subject: Change in osmo-bsc[master]: handover_test: fix ts_str may be uninitialized In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24913 ) Change subject: handover_test: fix ts_str may be uninitialized ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24913 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I398ba24b945bad96896eeb5ddbaff9c48bacf8ab Gerrit-Change-Number: 24913 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 12 Jul 2021 09:40:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 12 10:23:09 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 12 Jul 2021 10:23:09 +0000 Subject: Change in osmo-sgsn[master]: gtphub: remove llist_first, llist_last macros References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/24914 ) Change subject: gtphub: remove llist_first, llist_last macros ...................................................................... gtphub: remove llist_first, llist_last macros Use list_first_entry_or_null instead of llist_first, which has been present in libosmocore since the 0.10.0 release. Use llist_last_entry instead of llist_last (also present since libosmocore 0.10.0). This macro does not have a check for an empty list, however the only user is already checking for an empty list before using the macro. This solves a build error, as llist_last was defined in libosmocore Icf455bf6ba9d60bd311af17c9e80febaa42cacc9 (should probably be reverted for backwards compatibility with previous osmo-sgsn versions?): gtphub.c:68:0: error: "llist_last" redefined [-Werror] #define llist_last(head, type, entry) \ In file included from /build/deps/install/stow/libosmocore/include/osmocom/core/timer.h:46:0, from /build/deps/install/stow/osmo-ggsn/include/gtp.h:17, from gtphub.c:32: /build/deps/install/stow/libosmocore/include/osmocom/core/linuxlist.h:245:0: note: this is the location of the previous definition #define llist_last(head) (head)->prev Change-Id: Ia0496c24386cd13b1e9e604aa2d425d3fa28d352 --- M src/gtphub/gtphub.c 1 file changed, 2 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/14/24914/1 diff --git a/src/gtphub/gtphub.c b/src/gtphub/gtphub.c index 237d699..09d01fc 100644 --- a/src/gtphub/gtphub.c +++ b/src/gtphub/gtphub.c @@ -59,15 +59,6 @@ /* TODO move this to osmocom/core/select.h ? */ typedef int (*osmo_fd_cb_t)(struct osmo_fd *fd, unsigned int what); -/* TODO move this to osmocom/core/linuxlist.h ? */ -#define __llist_first(head) (((head)->next == (head)) ? NULL : (head)->next) -#define llist_first(head, type, entry) \ - llist_entry(__llist_first(head), type, entry) - -#define __llist_last(head) (((head)->next == (head)) ? NULL : (head)->prev) -#define llist_last(head, type, entry) \ - llist_entry(__llist_last(head), type, entry) - /* TODO move GTP header stuff to openggsn/gtp/ ? See gtp_decaps*() */ enum gtp_rc { @@ -613,7 +604,7 @@ OSMO_ASSERT(llist_empty(&exq->items) || (item->expiry - >= llist_last(&exq->items, struct expiring_item, entry)->expiry)); + >= llist_last_entry(&exq->items, struct expiring_item, entry)->expiry)); /* Add/move to the tail to always sort by expiry, ascending. */ llist_del(&item->entry); @@ -1142,9 +1133,7 @@ if (llist_empty(&peer->addresses)) return "(addressless)"; - struct gtphub_peer_addr *a = llist_first(&peer->addresses, - struct gtphub_peer_addr, - entry); + struct gtphub_peer_addr *a = llist_first_entry_or_null(&peer->addresses, struct gtphub_peer_addr, entry); return gsn_addr_to_strb(&a->addr, buf, buflen); } -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24914 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ia0496c24386cd13b1e9e604aa2d425d3fa28d352 Gerrit-Change-Number: 24914 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 Jul 12 10:28:23 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 12 Jul 2021 10:28:23 +0000 Subject: Change in libosmocore[master]: linuxlist: add macro to get last element of a list In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24801 ) Change subject: linuxlist: add macro to get last element of a list ...................................................................... Patch Set 5: This causes build failures with osmo-sgsn, where a macro of the same name is defined. Turns out the macro isn't even needed in osmo-sgsn, so this patch removes it: https://gerrit.osmocom.org/c/osmo-sgsn/+/24914 However, for backwards compatibility with older osmo-sgsn versions we probably want to rename this macro before releasing a new libosmocore, so it doesn't conflict? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24801 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icf455bf6ba9d60bd311af17c9e80febaa42cacc9 Gerrit-Change-Number: 24801 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: osmith Gerrit-Comment-Date: Mon, 12 Jul 2021 10:28:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 12 11:32:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 12 Jul 2021 11:32:09 +0000 Subject: Change in osmo-msc[master]: sgs_iface.c: Improvde logging when paging over SGs References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/24915 ) Change subject: sgs_iface.c: Improvde logging when paging over SGs ...................................................................... sgs_iface.c: Improvde logging when paging over SGs Change-Id: I745d3e904583ddf170ec1a1ceac5a49b72e813e3 --- M src/libmsc/sgs_iface.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/15/24915/1 diff --git a/src/libmsc/sgs_iface.c b/src/libmsc/sgs_iface.c index 9d7b6fc..1dfbace 100644 --- a/src/libmsc/sgs_iface.c +++ b/src/libmsc/sgs_iface.c @@ -476,9 +476,6 @@ struct gsm29118_paging_req paging_params; struct sgs_mme_ctx *mme; - LOGP(DMSC, LOGL_NOTICE, "XXXXXXXXXX state == %d conf_by_radio_contact_ind == %d\n", - vsub->sgs_fsm->state, vsub->conf_by_radio_contact_ind); - /* See also: 3GPP TS 29.118, chapter 5.1.2.2 Paging Initiation */ if (vsub->sgs_fsm->state == SGS_UE_ST_NULL && vsub->conf_by_radio_contact_ind == true) { LOGPFSMSL(vsub->sgs_fsm, DPAG, LOGL_ERROR, "Will not Page (conf_by_radio_contact_ind == true)\n"); @@ -496,6 +493,9 @@ if (vlr_sgs_pag_pend(vsub)) return 0; + LOGMME(mme, LOGL_INFO, "Paging on SGs: %s for %s (conf_by_radio_contact_ind=%d)\n", + vlr_subscr_name(vsub), sgsap_service_ind_name(serv_ind), vsub->conf_by_radio_contact_ind); + memset(&paging_params, 0, sizeof(paging_params)); osmo_strlcpy(paging_params.imsi, vsub->imsi, sizeof(paging_params.imsi)); osmo_strlcpy(paging_params.vlr_name, mme->sgs->cfg.vlr_name, sizeof(paging_params.vlr_name)); -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24915 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I745d3e904583ddf170ec1a1ceac5a49b72e813e3 Gerrit-Change-Number: 24915 Gerrit-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 Jul 12 11:34:38 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Mon, 12 Jul 2021 11:34:38 +0000 Subject: Change in osmo-bsc[master]: handover_test: fix ts_str may be uninitialized In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24913 ) Change subject: handover_test: fix ts_str may be uninitialized ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24913 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I398ba24b945bad96896eeb5ddbaff9c48bacf8ab Gerrit-Change-Number: 24913 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 12 Jul 2021 11:34:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 12 11:36:08 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Mon, 12 Jul 2021 11:36:08 +0000 Subject: Change in osmo-sgsn[master]: gtphub: remove llist_first, llist_last macros In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/24914 ) Change subject: gtphub: remove llist_first, llist_last macros ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24914 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ia0496c24386cd13b1e9e604aa2d425d3fa28d352 Gerrit-Change-Number: 24914 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Comment-Date: Mon, 12 Jul 2021 11:36: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 Jul 12 11:45:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 12 Jul 2021 11:45:38 +0000 Subject: Change in osmo-msc[master]: msc_a.c: Allow MSC_A_EV_CN_CLOSE in state MSC_A_ST_RELEASING References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/24916 ) Change subject: msc_a.c: Allow MSC_A_EV_CN_CLOSE in state MSC_A_ST_RELEASING ...................................................................... msc_a.c: Allow MSC_A_EV_CN_CLOSE in state MSC_A_ST_RELEASING As seen in a running osmo-msc: "vlr_access_req_fsm.c:153 msc_a(IMSI-....:MSISDN-...:TMSI-0x...:GERAN-A-8:CM_SERVICE_REQ){MSC_A_ST_RELEASING}: Event MSC_A_EV_CN_CLOSE not permitted" Also seen in several unit tests, which need update. The action event handler for that state is actually already expecting/handling the event by ignoring it, so we should allow it. Change-Id: I4d30cffab693529aab3ba736419dec116a4dd7ef --- M src/libmsc/msc_a.c M tests/msc_vlr/msc_vlr_test_hlr_timeout.err M tests/msc_vlr/msc_vlr_test_ms_timeout.err 3 files changed, 1 insertion(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/16/24916/1 diff --git a/src/libmsc/msc_a.c b/src/libmsc/msc_a.c index 451220a..0bc7b26 100644 --- a/src/libmsc/msc_a.c +++ b/src/libmsc/msc_a.c @@ -1002,6 +1002,7 @@ | S(MSC_EV_CALL_LEG_TERM) | S(MSC_MNCC_EV_CALL_ENDED) | S(MSC_A_EV_HANDOVER_END) + | S(MSC_A_EV_CN_CLOSE) , .out_state_mask = 0 | S(MSC_A_ST_RELEASED) diff --git a/tests/msc_vlr/msc_vlr_test_hlr_timeout.err b/tests/msc_vlr/msc_vlr_test_hlr_timeout.err index 1587322..788c326 100644 --- a/tests/msc_vlr/msc_vlr_test_hlr_timeout.err +++ b/tests/msc_vlr/msc_vlr_test_hlr_timeout.err @@ -66,7 +66,6 @@ - sending LU Reject for IMSI-901700000004620:GERAN-A:LU, cause 22 DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: state_chg to VLR_ULA_S_DONE DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: Received Event MSC_A_EV_CN_CLOSE -DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: Event MSC_A_EV_CN_CLOSE not permitted DREF VLR subscr IMSI-901700000004620 - vlr_subscr_cancel_attach_fsm: now used by 2 (active-conn,msc_a_fsm_releasing_onenter) DREF msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: + wait-Clear-Complete: now used by 1 (wait-Clear-Complete) DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: RAN encode: CLEAR_COMMAND on GERAN-A @@ -193,7 +192,6 @@ - sending LU Reject for IMSI-901700000004620:MSISDN-46071:GERAN-A:LU, cause 22 DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){VLR_ULA_S_WAIT_HLR_UPD}: state_chg to VLR_ULA_S_DONE DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_RELEASING}: Received Event MSC_A_EV_CN_CLOSE -DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_RELEASING}: Event MSC_A_EV_CN_CLOSE not permitted DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 2 (active-conn,msc_a_fsm_releasing_onenter) DREF msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_RELEASING}: + wait-Clear-Complete: now used by 1 (wait-Clear-Complete) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_RELEASING}: RAN encode: CLEAR_COMMAND on GERAN-A diff --git a/tests/msc_vlr/msc_vlr_test_ms_timeout.err b/tests/msc_vlr/msc_vlr_test_ms_timeout.err index 0988162..6ee2139 100644 --- a/tests/msc_vlr/msc_vlr_test_ms_timeout.err +++ b/tests/msc_vlr/msc_vlr_test_ms_timeout.err @@ -85,7 +85,6 @@ - sending LU Reject for IMSI-901700000004620:GERAN-A:LU, cause 22 DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: state_chg to VLR_ULA_S_DONE DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: Received Event MSC_A_EV_CN_CLOSE -DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: Event MSC_A_EV_CN_CLOSE not permitted DREF VLR subscr IMSI-901700000004620 - vlr_subscr_cancel_attach_fsm: now used by 2 (active-conn,msc_a_fsm_releasing_onenter) DREF msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: + wait-Clear-Complete: now used by 1 (wait-Clear-Complete) DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: RAN encode: CLEAR_COMMAND on GERAN-A @@ -356,7 +355,6 @@ DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Process Access Request result: CONGESTION - sending CM Service Reject (Short-Messaging-Service) for IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ, cause: CONGESTION DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_RELEASING}: Received Event MSC_A_EV_CN_CLOSE -DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_RELEASING}: Event MSC_A_EV_CN_CLOSE not permitted DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,active-conn,msc_a_fsm_releasing_onenter) DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_RELEASING}: Releasing: canceling still pending use: cm_service_sms (1) DREF msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_RELEASING}: - cm_service_sms: now used by 0 (-) @@ -821,7 +819,6 @@ - sending LU Reject for IMSI-901700000004620:GERAN-A:LU, cause 22 DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_CIPH}: state_chg to VLR_ULA_S_DONE DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: Received Event MSC_A_EV_CN_CLOSE -DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: Event MSC_A_EV_CN_CLOSE not permitted DREF VLR subscr IMSI-901700000004620 - vlr_subscr_cancel_attach_fsm: now used by 2 (active-conn,msc_a_fsm_releasing_onenter) DREF msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: + wait-Clear-Complete: now used by 1 (wait-Clear-Complete) DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: RAN encode: CLEAR_COMMAND on GERAN-A -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24916 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I4d30cffab693529aab3ba736419dec116a4dd7ef Gerrit-Change-Number: 24916 Gerrit-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 Jul 12 11:53:34 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 12 Jul 2021 11:53:34 +0000 Subject: Change in osmo-sgsn[master]: gtphub: remove llist_first, llist_last macros In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/24914 ) Change subject: gtphub: remove llist_first, llist_last macros ...................................................................... Patch Set 1: It may simply make sense to do a patch release of osmo-gtphub instead. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24914 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ia0496c24386cd13b1e9e604aa2d425d3fa28d352 Gerrit-Change-Number: 24914 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 12 Jul 2021 11:53:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 12 11:53:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 12 Jul 2021 11:53:38 +0000 Subject: Change in osmo-sgsn[master]: gtphub: remove llist_first, llist_last macros In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/24914 ) Change subject: gtphub: remove llist_first, llist_last macros ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24914 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ia0496c24386cd13b1e9e604aa2d425d3fa28d352 Gerrit-Change-Number: 24914 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 12 Jul 2021 11:53: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 Jul 12 12:06:01 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 12 Jul 2021 12:06:01 +0000 Subject: Change in osmo-sgsn[master]: gtphub: remove llist_first, llist_last macros In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/24914 ) Change subject: gtphub: remove llist_first, llist_last macros ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24914 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ia0496c24386cd13b1e9e604aa2d425d3fa28d352 Gerrit-Change-Number: 24914 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 12 Jul 2021 12:06:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 12 12:06:06 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 12 Jul 2021 12:06:06 +0000 Subject: Change in osmo-sgsn[master]: gtphub: remove llist_first, llist_last macros In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/24914 ) Change subject: gtphub: remove llist_first, llist_last macros ...................................................................... gtphub: remove llist_first, llist_last macros Use list_first_entry_or_null instead of llist_first, which has been present in libosmocore since the 0.10.0 release. Use llist_last_entry instead of llist_last (also present since libosmocore 0.10.0). This macro does not have a check for an empty list, however the only user is already checking for an empty list before using the macro. This solves a build error, as llist_last was defined in libosmocore Icf455bf6ba9d60bd311af17c9e80febaa42cacc9 (should probably be reverted for backwards compatibility with previous osmo-sgsn versions?): gtphub.c:68:0: error: "llist_last" redefined [-Werror] #define llist_last(head, type, entry) \ In file included from /build/deps/install/stow/libosmocore/include/osmocom/core/timer.h:46:0, from /build/deps/install/stow/osmo-ggsn/include/gtp.h:17, from gtphub.c:32: /build/deps/install/stow/libosmocore/include/osmocom/core/linuxlist.h:245:0: note: this is the location of the previous definition #define llist_last(head) (head)->prev Change-Id: Ia0496c24386cd13b1e9e604aa2d425d3fa28d352 --- M src/gtphub/gtphub.c 1 file changed, 2 insertions(+), 13 deletions(-) Approvals: Jenkins Builder: Verified daniel: 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 diff --git a/src/gtphub/gtphub.c b/src/gtphub/gtphub.c index 237d699..09d01fc 100644 --- a/src/gtphub/gtphub.c +++ b/src/gtphub/gtphub.c @@ -59,15 +59,6 @@ /* TODO move this to osmocom/core/select.h ? */ typedef int (*osmo_fd_cb_t)(struct osmo_fd *fd, unsigned int what); -/* TODO move this to osmocom/core/linuxlist.h ? */ -#define __llist_first(head) (((head)->next == (head)) ? NULL : (head)->next) -#define llist_first(head, type, entry) \ - llist_entry(__llist_first(head), type, entry) - -#define __llist_last(head) (((head)->next == (head)) ? NULL : (head)->prev) -#define llist_last(head, type, entry) \ - llist_entry(__llist_last(head), type, entry) - /* TODO move GTP header stuff to openggsn/gtp/ ? See gtp_decaps*() */ enum gtp_rc { @@ -613,7 +604,7 @@ OSMO_ASSERT(llist_empty(&exq->items) || (item->expiry - >= llist_last(&exq->items, struct expiring_item, entry)->expiry)); + >= llist_last_entry(&exq->items, struct expiring_item, entry)->expiry)); /* Add/move to the tail to always sort by expiry, ascending. */ llist_del(&item->entry); @@ -1142,9 +1133,7 @@ if (llist_empty(&peer->addresses)) return "(addressless)"; - struct gtphub_peer_addr *a = llist_first(&peer->addresses, - struct gtphub_peer_addr, - entry); + struct gtphub_peer_addr *a = llist_first_entry_or_null(&peer->addresses, struct gtphub_peer_addr, entry); return gsn_addr_to_strb(&a->addr, buf, buflen); } -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/24914 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ia0496c24386cd13b1e9e604aa2d425d3fa28d352 Gerrit-Change-Number: 24914 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel 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 Jul 12 12:06:28 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 12 Jul 2021 12:06:28 +0000 Subject: Change in osmo-bsc[master]: handover_test: fix ts_str may be uninitialized In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24913 ) Change subject: handover_test: fix ts_str may be uninitialized ...................................................................... handover_test: fix ts_str may be uninitialized Fix for: handover_test.c: In function 'res_ind': handover_test.c:1094:30: error: 'ts_str' may be used uninitialized in this function [-Werror=maybe-uninitialized] char subslot_val = ts_str[lchan->nr]; Fixes: f76424 ("RES IND: add test_resource_indication.ho_vty") Change-Id: I398ba24b945bad96896eeb5ddbaff9c48bacf8ab --- M tests/handover/handover_test.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve daniel: Looks good to me, approved diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index 8d316ca..2c97f78 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -1077,7 +1077,7 @@ level = 0xff; for (i = 0; i < ARRAY_SIZE(trx->ts); i++) { - const char *ts_str; + const char *ts_str = NULL; struct gsm_lchan *lchan; size_t given_subslots = 0; struct gsm_bts_trx_ts *ts = &trx->ts[i]; @@ -1090,7 +1090,7 @@ ts_for_n_lchans(lchan, ts, ts->max_lchans_possible) { int chan_nr; - if (lchan->nr < given_subslots) { + if (lchan->nr < given_subslots && ts_str) { char subslot_val = ts_str[lchan->nr]; switch (subslot_val) { case '-': -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24913 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I398ba24b945bad96896eeb5ddbaff9c48bacf8ab Gerrit-Change-Number: 24913 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 12 12:24:53 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 12 Jul 2021 12:24:53 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: fix encryption a5/4 missing in TC_*_a5_4 References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24917 ) Change subject: bsc: fix encryption a5/4 missing in TC_*_a5_4 ...................................................................... bsc: fix encryption a5/4 missing in TC_*_a5_4 After removing a5/4 from the default config, it also needs to be explicitly enabled for these two tests. Fixes: 26a3db ("bsc: change encryption a5 via VTY where needed") Change-Id: Ibe00edb096f94b500869c46a39a694a73133c716 --- M bsc/BSC_Tests.ttcn 1 file changed, 6 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/17/24917/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 2a89659..97ec4c6 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -3479,9 +3479,11 @@ pars.encr := valueof(t_EncrParams('10'O, f_rnd_octstring(8), f_rnd_octstring(16))); f_init(1, true); + f_vty_encryption_a5("0 1 3 4"); f_sleep(1.0); vc_conn := f_start_handler(refers(f_tc_assignment_fr_a5), pars); vc_conn.done; + f_vty_encryption_a5_reset(); f_shutdown_helper(); } @@ -4816,12 +4818,13 @@ f_shutdown_helper(); } -function f_tc_ho_int_a5(OCT1 encr_alg) runs on test_CT { +function f_tc_ho_int_a5(OCT1 encr_alg, charstring enc_a5 := "0 1 3") runs on test_CT { var MSC_ConnHdlr vc_conn; var TestHdlrParams pars := f_gen_test_hdlr_pars(); pars.encr := valueof(t_EncrParams(encr_alg, f_rnd_octstring(8), f_rnd_octstring(16))); f_init(2, true); + f_vty_encryption_a5(enc_a5); f_sleep(1.0); f_ctrs_bsc_and_bts_init(); @@ -4838,6 +4841,7 @@ f_ctrs_bsc_and_bts_add(0, "intra_bsc_ho:attempted"); f_ctrs_bsc_and_bts_add(0, "intra_bsc_ho:completed"); f_ctrs_bsc_and_bts_verify(); + f_vty_encryption_a5_reset(); f_shutdown_helper(); } @@ -4854,7 +4858,7 @@ } testcase TC_ho_int_a5_4() runs on test_CT { - f_tc_ho_int_a5('10'O); + f_tc_ho_int_a5('10'O, "0 1 3 4"); } /* intra-BSC hand-over with CONNection FAILure and cause Radio Link Failure: check RR release cause */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24917 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibe00edb096f94b500869c46a39a694a73133c716 Gerrit-Change-Number: 24917 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 Jul 12 13:35:11 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 12 Jul 2021 13:35:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: fix encryption a5/4 missing in TC_*_a5_4 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24917 ) Change subject: bsc: fix encryption a5/4 missing in TC_*_a5_4 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24917 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibe00edb096f94b500869c46a39a694a73133c716 Gerrit-Change-Number: 24917 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 12 Jul 2021 13:35: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 Jul 12 13:59:00 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 12 Jul 2021 13:59:00 +0000 Subject: Change in osmo-bsc[master]: handover_test: fix ts_str may be uninitialized In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24913 ) Change subject: handover_test: fix ts_str may be uninitialized ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24913/1/tests/handover/handover_test.c File tests/handover/handover_test.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24913/1/tests/handover/handover_test.c at 1093 PS1, Line 1093: if (lchan->nr < given_subslots && ts_str) { ts_str is never used uninitialized, because given_subslots == 0 and lchan->nr is unsigned. well well, there you go asan. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24913 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I398ba24b945bad96896eeb5ddbaff9c48bacf8ab Gerrit-Change-Number: 24913 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 12 Jul 2021 13:59: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 Jul 12 14:24:46 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 12 Jul 2021 14:24:46 +0000 Subject: Change in libosmo-sccp[master]: m3ua: fix leaky usage of m3ua_tx_xua_asp In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24909 ) Change subject: m3ua: fix leaky usage of m3ua_tx_xua_asp ...................................................................... Patch Set 2: Code-Review+2 (2 comments) indeed fixes the leaks that i reported https://gerrit.osmocom.org/c/libosmo-sccp/+/24909/2/src/m3ua.c File src/m3ua.c: https://gerrit.osmocom.org/c/libosmo-sccp/+/24909/2/src/m3ua.c at 757 PS2, Line 757: xua_msg_free(err); with this change applied, i still see this after running a few BSC ttcn3 tests: ==1994==ERROR: LeakSanitizer: detected memory leaks Indirect leak of 11760 byte(s) in 90 object(s) allocated from: #0 0x7fbec8de6330 in __interceptor_malloc (/lib/x86_64-linux-gnu/libasan.so.5+0xe9330) #1 0x7fbec899f140 in _talloc_zero (/lib/x86_64-linux-gnu/libtalloc.so.2+0x9140) Indirect leak of 6000 byte(s) in 60 object(s) allocated from: #0 0x7fbec8de6330 in __interceptor_malloc (/lib/x86_64-linux-gnu/libasan.so.5+0xe9330) #1 0x7fbec899f776 in _talloc_memdup (/lib/x86_64-linux-gnu/libtalloc.so.2+0x9776) SUMMARY: AddressSanitizer: 17760 byte(s) leaked in 150 allocation(s). https://gerrit.osmocom.org/c/libosmo-sccp/+/24909/2/src/m3ua.c at 861 PS2, Line 861: xua_msg_free(xua); with this change applied, all of the above asan error messages are gone -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24909 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Id8584b99f30f2db602d4d129e4114821697272ab Gerrit-Change-Number: 24909 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 12 Jul 2021 14:24: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 Jul 12 14:25:23 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 12 Jul 2021 14:25:23 +0000 Subject: Change in libosmo-sccp[master]: m3ua: fix leaky usage of m3ua_tx_xua_asp In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/24909 ) Change subject: m3ua: fix leaky usage of m3ua_tx_xua_asp ...................................................................... m3ua: fix leaky usage of m3ua_tx_xua_asp m3ua_tx_xua_asp will at some point convert the xua msg to a msgb by copying and then send it, the xua msg still needs to be freed by the caller. Closes: OS#5185 Change-Id: Id8584b99f30f2db602d4d129e4114821697272ab --- M src/m3ua.c 1 file changed, 5 insertions(+), 1 deletion(-) Approvals: fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve neels: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/m3ua.c b/src/m3ua.c index e2db6c1..4583683 100644 --- a/src/m3ua.c +++ b/src/m3ua.c @@ -752,8 +752,10 @@ err = m3ua_gen_error_msg(rc, msg); out: - if (err) + if (err) { m3ua_tx_xua_asp(asp, err); + xua_msg_free(err); + } xua_msg_free(xua); @@ -856,6 +858,7 @@ xua = m3ua_encode_duna(rctx, num_rctx, aff_pc, num_aff_pc, info_string); m3ua_tx_xua_asp(asp, xua); + xua_msg_free(xua); } /*! Transmit SSNM DUPU message indicating user unavailability. @@ -871,6 +874,7 @@ { struct xua_msg *xua = m3ua_encode_dupu(rctx, num_rctx, dpc, user, cause, info_str); m3ua_tx_xua_asp(asp, xua); + xua_msg_free(xua); } /* received SNM message on ASP side */ -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/24909 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Id8584b99f30f2db602d4d129e4114821697272ab Gerrit-Change-Number: 24909 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 12 14:28:59 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 12 Jul 2021 14:28:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: fix encryption a5/4 missing in TC_*_a5_4 In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24917 ) Change subject: bsc: fix encryption a5/4 missing in TC_*_a5_4 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24917 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibe00edb096f94b500869c46a39a694a73133c716 Gerrit-Change-Number: 24917 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 12 Jul 2021 14:28:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 12 14:29:04 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 12 Jul 2021 14:29:04 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: fix encryption a5/4 missing in TC_*_a5_4 In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24917 ) Change subject: bsc: fix encryption a5/4 missing in TC_*_a5_4 ...................................................................... bsc: fix encryption a5/4 missing in TC_*_a5_4 After removing a5/4 from the default config, it also needs to be explicitly enabled for these two tests. Fixes: 26a3db ("bsc: change encryption a5 via VTY where needed") Change-Id: Ibe00edb096f94b500869c46a39a694a73133c716 --- M bsc/BSC_Tests.ttcn 1 file changed, 6 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve neels: Looks good to me, approved diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 2a89659..97ec4c6 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -3479,9 +3479,11 @@ pars.encr := valueof(t_EncrParams('10'O, f_rnd_octstring(8), f_rnd_octstring(16))); f_init(1, true); + f_vty_encryption_a5("0 1 3 4"); f_sleep(1.0); vc_conn := f_start_handler(refers(f_tc_assignment_fr_a5), pars); vc_conn.done; + f_vty_encryption_a5_reset(); f_shutdown_helper(); } @@ -4816,12 +4818,13 @@ f_shutdown_helper(); } -function f_tc_ho_int_a5(OCT1 encr_alg) runs on test_CT { +function f_tc_ho_int_a5(OCT1 encr_alg, charstring enc_a5 := "0 1 3") runs on test_CT { var MSC_ConnHdlr vc_conn; var TestHdlrParams pars := f_gen_test_hdlr_pars(); pars.encr := valueof(t_EncrParams(encr_alg, f_rnd_octstring(8), f_rnd_octstring(16))); f_init(2, true); + f_vty_encryption_a5(enc_a5); f_sleep(1.0); f_ctrs_bsc_and_bts_init(); @@ -4838,6 +4841,7 @@ f_ctrs_bsc_and_bts_add(0, "intra_bsc_ho:attempted"); f_ctrs_bsc_and_bts_add(0, "intra_bsc_ho:completed"); f_ctrs_bsc_and_bts_verify(); + f_vty_encryption_a5_reset(); f_shutdown_helper(); } @@ -4854,7 +4858,7 @@ } testcase TC_ho_int_a5_4() runs on test_CT { - f_tc_ho_int_a5('10'O); + f_tc_ho_int_a5('10'O, "0 1 3 4"); } /* intra-BSC hand-over with CONNection FAILure and cause Radio Link Failure: check RR release cause */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24917 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibe00edb096f94b500869c46a39a694a73133c716 Gerrit-Change-Number: 24917 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 12 14:31:29 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 12 Jul 2021 14:31:29 +0000 Subject: Change in osmo-msc[master]: msc_a.c: Allow MSC_A_EV_CN_CLOSE in state MSC_A_ST_RELEASING In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24916 ) Change subject: msc_a.c: Allow MSC_A_EV_CN_CLOSE in state MSC_A_ST_RELEASING ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24916 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I4d30cffab693529aab3ba736419dec116a4dd7ef Gerrit-Change-Number: 24916 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Mon, 12 Jul 2021 14:31:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 12 14:33:52 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 12 Jul 2021 14:33:52 +0000 Subject: Change in osmo-msc[master]: sgs_iface.c: Improvde logging when paging over SGs In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24915 ) Change subject: sgs_iface.c: Improvde logging when paging over SGs ...................................................................... Patch Set 1: Code-Review+1 (1 comment) oops sorry, it's been there for two years already https://gerrit.osmocom.org/c/osmo-msc/+/24915/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-msc/+/24915/1//COMMIT_MSG at 7 PS1, Line 7: sgs_iface.c: Improvde logging when paging over SGs typo -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24915 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I745d3e904583ddf170ec1a1ceac5a49b72e813e3 Gerrit-Change-Number: 24915 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Mon, 12 Jul 2021 14:33: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 Jul 12 14:35:44 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 12 Jul 2021 14:35:44 +0000 Subject: Change in osmo-ci[master]: lint: checkpatch.pl: allow spaces below DEFUN References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/24918 ) Change subject: lint: checkpatch.pl: allow spaces below DEFUN ...................................................................... lint: checkpatch.pl: allow spaces below DEFUN Do not complain if indenting with exactly 6 spaces below DEFUN(, as it's often done in VTY-related code in Osmocom. This patch assumes that if the line starts with 6 spaces and " or a word, it's probably below DEFUN(. I've considered implementing a more accurate check, but that would be too much effort (e.g. when macros are involved). Related: OS#5087 Change-Id: I0934b63a62500e7a3e09c753cc63aa331e580cc6 --- M lint/checkpatch/checkpatch.pl 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/18/24918/1 diff --git a/lint/checkpatch/checkpatch.pl b/lint/checkpatch/checkpatch.pl index ad99e0c..834b435 100755 --- a/lint/checkpatch/checkpatch.pl +++ b/lint/checkpatch/checkpatch.pl @@ -3973,7 +3973,9 @@ # 1) within comments # 2) indented preprocessor commands # 3) hanging labels - if ($rawline =~ /^\+ / && $line !~ /^\+ *(?:$;|#|$Ident:)/) { + if ($rawline =~ /^\+ / && $line !~ /^\+ *(?:$;|#|$Ident:)/ && + # Osmocom specific, below 'DEFUN(' + $line !~ /^\+ {6}["\w].*$/) { my $herevet = "$here\n" . cat_vet($rawline) . "\n"; if (WARN("LEADING_SPACE", "please, no spaces at the start of a line\n" . $herevet) && -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24918 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0934b63a62500e7a3e09c753cc63aa331e580cc6 Gerrit-Change-Number: 24918 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 Jul 12 14:37:26 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 12 Jul 2021 14:37:26 +0000 Subject: Change in osmo-msc[master]: sgs_iface.c: Improve logging when paging over SGs In-Reply-To: References: Message-ID: Hello Jenkins Builder, neels, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-msc/+/24915 to look at the new patch set (#2). Change subject: sgs_iface.c: Improve logging when paging over SGs ...................................................................... sgs_iface.c: Improve logging when paging over SGs Change-Id: I745d3e904583ddf170ec1a1ceac5a49b72e813e3 --- M src/libmsc/sgs_iface.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/15/24915/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24915 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I745d3e904583ddf170ec1a1ceac5a49b72e813e3 Gerrit-Change-Number: 24915 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 12 14:37:26 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 12 Jul 2021 14:37:26 +0000 Subject: Change in osmo-msc[master]: msc_a.c: Allow MSC_A_EV_CN_CLOSE in state MSC_A_ST_RELEASING In-Reply-To: References: Message-ID: Hello Jenkins Builder, neels, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-msc/+/24916 to look at the new patch set (#2). Change subject: msc_a.c: Allow MSC_A_EV_CN_CLOSE in state MSC_A_ST_RELEASING ...................................................................... msc_a.c: Allow MSC_A_EV_CN_CLOSE in state MSC_A_ST_RELEASING As seen in a running osmo-msc: "vlr_access_req_fsm.c:153 msc_a(IMSI-....:MSISDN-...:TMSI-0x...:GERAN-A-8:CM_SERVICE_REQ){MSC_A_ST_RELEASING}: Event MSC_A_EV_CN_CLOSE not permitted" Also seen in several unit tests, which need update. The action event handler for that state is actually already expecting/handling the event by ignoring it, so we should allow it. Change-Id: I4d30cffab693529aab3ba736419dec116a4dd7ef --- M src/libmsc/msc_a.c M tests/msc_vlr/msc_vlr_test_hlr_timeout.err M tests/msc_vlr/msc_vlr_test_ms_timeout.err 3 files changed, 1 insertion(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/16/24916/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24916 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I4d30cffab693529aab3ba736419dec116a4dd7ef Gerrit-Change-Number: 24916 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 12 14:37:39 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 12 Jul 2021 14:37:39 +0000 Subject: Change in osmo-bts[master]: main: do not use fprintf to log fatal errors In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24707 ) Change subject: main: do not use fprintf to log fatal errors ...................................................................... Patch Set 2: consider my +1 as soon as pespin's strerror remark is applied -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24707 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I2ae4acf6a92137236e1b62c2d0aab79a34134f45 Gerrit-Change-Number: 24707 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 12 Jul 2021 14:37: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 Mon Jul 12 14:37:57 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 12 Jul 2021 14:37:57 +0000 Subject: Change in osmo-ci[master]: lint: checkpatch.pl: allow spaces below DEFUN In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24918 ) Change subject: lint: checkpatch.pl: allow spaces below DEFUN ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24918 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0934b63a62500e7a3e09c753cc63aa331e580cc6 Gerrit-Change-Number: 24918 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 12 Jul 2021 14:37:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 12 14:39:51 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 12 Jul 2021 14:39:51 +0000 Subject: Change in osmo-bts[master]: allow to configure multiple oml remote-ip addresses In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24513 ) Change subject: allow to configure multiple oml remote-ip addresses ...................................................................... Patch Set 9: > > > Just a general question (not a refactoring request): do we really need to use linux_list for storing the OML addresses in the memory? yes, please use a dynamic linked list. no need to introduce checks and error messages about too many addresses, that would be horrible -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24513 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I205f68a3a7f35fee4c38a7cfba2b014237df2727 Gerrit-Change-Number: 24513 Gerrit-PatchSet: 9 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 12 Jul 2021 14:39: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 Jul 12 15:01:49 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 12 Jul 2021 15:01:49 +0000 Subject: Change in osmo-ci[master]: lint: ignore PREFER_FALLTHROUGH References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/24919 ) Change subject: lint: ignore PREFER_FALLTHROUGH ...................................................................... lint: ignore PREFER_FALLTHROUGH Related: OS#5087 Change-Id: I373a231cf08fd23312ad9a85d8e2855a736e331a --- M lint/checkpatch/checkpatch_osmo.sh 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/19/24919/1 diff --git a/lint/checkpatch/checkpatch_osmo.sh b/lint/checkpatch/checkpatch_osmo.sh index 1932c03..7ee8ed6 100755 --- a/lint/checkpatch/checkpatch_osmo.sh +++ b/lint/checkpatch/checkpatch_osmo.sh @@ -20,6 +20,7 @@ # * INITIALISED_STATIC: we use this, see also http://lkml.iu.edu/hypermail/linux/kernel/0808.1/2235.html # * LINE_CONTINUATIONS: false positives # * LINE_SPACING: we don't always put a blank line after declarations +# * PREFER_FALLTHROUGH: pseudo keyword macro "fallthrough" is not defined in libosmocore # * REPEATED_WORD: false positives in doxygen descriptions (e.g. '\param[in] data Data passed through...') # * SPDX_LICENSE_TAG: we don't place it on line 1 # * SPLIT_STRING: we do split long messages over multiple lines @@ -42,6 +43,7 @@ --ignore INITIALISED_STATIC \ --ignore LINE_CONTINUATIONS \ --ignore LINE_SPACING \ + --ignore PREFER_FALLTHROUGH \ --ignore REPEATED_WORD \ --ignore SPDX_LICENSE_TAG \ --ignore SPLIT_STRING \ -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24919 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I373a231cf08fd23312ad9a85d8e2855a736e331a Gerrit-Change-Number: 24919 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 Jul 12 15:01:50 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 12 Jul 2021 15:01:50 +0000 Subject: Change in osmo-ci[master]: lint: ignore DEEP_INDENTATION References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/24920 ) Change subject: lint: ignore DEEP_INDENTATION ...................................................................... lint: ignore DEEP_INDENTATION Related: OS#5087 Change-Id: Iff29f0a97dbfed904705f543541441f761370602 --- M lint/checkpatch/checkpatch_osmo.sh 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/20/24920/1 diff --git a/lint/checkpatch/checkpatch_osmo.sh b/lint/checkpatch/checkpatch_osmo.sh index 7ee8ed6..4be1348 100755 --- a/lint/checkpatch/checkpatch_osmo.sh +++ b/lint/checkpatch/checkpatch_osmo.sh @@ -11,6 +11,7 @@ # * BLOCK_COMMENT_STYLE: we don't use a trailing */ on a separate line # * COMPLEX_MACRO: we don't use parentheses when building macros of strings across multiple lines # * CONSTANT_COMPARISON: not followed: "Comparisons should place the constant on the right side" +# * DEEP_INDENTATION: warns about many leading tabs, not useful if changing existing code without refactoring # * EMBEDDED_FUNCTION_NAME: often __func__ isn't used, arguably not much benefit in changing this when touching code # * EXECUTE_PERMISSIONS: not followed, files need to be executable: git-version-gen, some in debian/ # * FILE_PATH_CHANGES: we don't use a MAINTAINERS file @@ -34,6 +35,7 @@ --ignore BLOCK_COMMENT_STYLE \ --ignore COMPLEX_MACRO \ --ignore CONSTANT_COMPARISON \ + --ignore DEEP_INDENTATION \ --ignore EMBEDDED_FUNCTION_NAME \ --ignore EXECUTE_PERMISSIONS \ --ignore FILE_PATH_CHANGES \ -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24920 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Iff29f0a97dbfed904705f543541441f761370602 Gerrit-Change-Number: 24920 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 Jul 12 15:01:50 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 12 Jul 2021 15:01:50 +0000 Subject: Change in osmo-ci[master]: lint: ignore PREFER_DEFINED_ATTRIBUTE_MACRO References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/24921 ) Change subject: lint: ignore PREFER_DEFINED_ATTRIBUTE_MACRO ...................................................................... lint: ignore PREFER_DEFINED_ATTRIBUTE_MACRO Related: OS#5087 Change-Id: I2bf3b7d60e99cf91f7b619af54167a11cdfae8c6 --- M lint/checkpatch/checkpatch_osmo.sh 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/21/24921/1 diff --git a/lint/checkpatch/checkpatch_osmo.sh b/lint/checkpatch/checkpatch_osmo.sh index 4be1348..39af480 100755 --- a/lint/checkpatch/checkpatch_osmo.sh +++ b/lint/checkpatch/checkpatch_osmo.sh @@ -21,6 +21,7 @@ # * INITIALISED_STATIC: we use this, see also http://lkml.iu.edu/hypermail/linux/kernel/0808.1/2235.html # * LINE_CONTINUATIONS: false positives # * LINE_SPACING: we don't always put a blank line after declarations +# * PREFER_DEFINED_ATTRIBUTE_MACRO: macros not defined in libosmocore # * PREFER_FALLTHROUGH: pseudo keyword macro "fallthrough" is not defined in libosmocore # * REPEATED_WORD: false positives in doxygen descriptions (e.g. '\param[in] data Data passed through...') # * SPDX_LICENSE_TAG: we don't place it on line 1 @@ -45,6 +46,7 @@ --ignore INITIALISED_STATIC \ --ignore LINE_CONTINUATIONS \ --ignore LINE_SPACING \ + --ignore PREFER_DEFINED_ATTRIBUTE_MACRO \ --ignore PREFER_FALLTHROUGH \ --ignore REPEATED_WORD \ --ignore SPDX_LICENSE_TAG \ -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24921 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I2bf3b7d60e99cf91f7b619af54167a11cdfae8c6 Gerrit-Change-Number: 24921 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 Jul 12 15:04:55 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 12 Jul 2021 15:04:55 +0000 Subject: Change in libosmocore[master]: gprs_ns2: ensure the NSE becomes dead when FR link went down References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24922 ) Change subject: gprs_ns2: ensure the NSE becomes dead when FR link went down ...................................................................... gprs_ns2: ensure the NSE becomes dead when FR link went down The FR code is using force unconfigured to change the state of the NSVC when the FR link goes down. The force unconfigured state didn't notified the NSE when changing into this state. Related: SYS#5533 Change-Id: I4d7bbbbce26f7cde99eebe96995c50b1e812e5bd --- M src/gb/gprs_ns2_vc_fsm.c M tests/gb/gprs_ns2_test.c M tests/gb/gprs_ns2_test.ok 3 files changed, 62 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/22/24922/1 diff --git a/src/gb/gprs_ns2_vc_fsm.c b/src/gb/gprs_ns2_vc_fsm.c index 05118b2..1f680f4 100644 --- a/src/gb/gprs_ns2_vc_fsm.c +++ b/src/gb/gprs_ns2_vc_fsm.c @@ -254,7 +254,10 @@ static void ns2_st_unconfigured_onenter(struct osmo_fsm_inst *fi, uint32_t old_state) { + struct gprs_ns2_vc_priv *priv = fi->priv; + stop_test_procedure(fi->priv); + ns2_nse_notify_unblocked(priv->nsvc, false); } static void ns2_st_unconfigured(struct osmo_fsm_inst *fi, uint32_t event, void *data) diff --git a/tests/gb/gprs_ns2_test.c b/tests/gb/gprs_ns2_test.c index b96e739..e4756d2 100644 --- a/tests/gb/gprs_ns2_test.c +++ b/tests/gb/gprs_ns2_test.c @@ -592,6 +592,57 @@ printf("--- Finish unitdata test\n"); } +void test_unconfigured(void *ctx) +{ + struct gprs_ns2_inst *nsi; + struct gprs_ns2_vc_bind *bind[2]; + struct gprs_ns2_vc_bind *loopbind; + struct gprs_ns2_nse *nse; + struct gprs_ns2_vc *nsvc[2]; + struct gprs_ns2_vc *loop[2]; + + struct msgb *msg, *other; + char idbuf[32]; + int i; + + printf("--- Testing force unconfigured\n"); + osmo_wqueue_clear(unitdata); + printf("---- Create NSE + Binds\n"); + nsi = gprs_ns2_instantiate(ctx, ns_prim_cb, NULL); + bind[0] = dummy_bind(nsi, "bblock1"); + bind[1] = dummy_bind(nsi, "bblock2"); + loopbind = loopback_bind(nsi, "loopback"); + nse = gprs_ns2_create_nse(nsi, 1004, GPRS_NS2_LL_UDP, GPRS_NS2_DIALECT_STATIC_RESETBLOCK); + OSMO_ASSERT(nse); + + for (i=0; i<2; i++) { + printf("---- Create NSVC[%d]\n", i); + snprintf(idbuf, sizeof(idbuf), "NSE%05u-dummy-%i", nse->nsei, i); + nsvc[i] = ns2_vc_alloc(bind[i], nse, false, GPRS_NS2_VC_MODE_BLOCKRESET, idbuf); + loop[i] = loopback_nsvc(loopbind, nsvc[i]); + OSMO_ASSERT(nsvc[i]); + ns2_vc_fsm_start(nsvc[i]); + OSMO_ASSERT(!ns2_vc_is_unblocked(nsvc[i])); + ns2_tx_reset(loop[i], NS_CAUSE_OM_INTERVENTION); + ns2_tx_unblock(loop[i]); + OSMO_ASSERT(ns2_vc_is_unblocked(nsvc[i])); + } + + /* both nsvcs are unblocked and alive */ + printf("---- Check if NSE should be alive\n"); + OSMO_ASSERT(nse->alive); + + ns2_vc_force_unconfigured(nsvc[0]); + OSMO_ASSERT(nse->alive); + + ns2_vc_force_unconfigured(nsvc[1]); + printf("---- Check if NSE should be dead\n"); + OSMO_ASSERT(!nse->alive); + + gprs_ns2_free(nsi); + printf("--- Finish force unconfigured test\n"); +} + int main(int argc, char **argv) { void *ctx = talloc_named_const(NULL, 0, "gprs_ns2_test"); @@ -611,6 +662,7 @@ test_block_unblock_nsvc2(ctx); test_unitdata(ctx); test_unitdata_weights(ctx); + test_unconfigured(ctx); test_mtu(ctx); printf("===== NS2 protocol test END\n\n"); diff --git a/tests/gb/gprs_ns2_test.ok b/tests/gb/gprs_ns2_test.ok index 148b6a4..8bae5b9 100644 --- a/tests/gb/gprs_ns2_test.ok +++ b/tests/gb/gprs_ns2_test.ok @@ -33,6 +33,13 @@ ---- Send UNITDATA to all NSVCs ---- Send BSSGP data to the NSE to test unitdata over NSVC[1] --- Finish unitdata weight test +--- Testing force unconfigured +---- Create NSE + Binds +---- Create NSVC[0] +---- Create NSVC[1] +---- Check if NSE should be alive +---- Check if NSE should be dead +--- Finish force unconfigured test --- Testing mtu test ---- Create NSE + Binds ---- Create NSVC[0] -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24922 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4d7bbbbce26f7cde99eebe96995c50b1e812e5bd Gerrit-Change-Number: 24922 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 12 15:19:38 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 12 Jul 2021 15:19:38 +0000 Subject: Change in libosmocore[master]: Aggregate NSVC stats inside the NSE In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24907 ) Change subject: Aggregate NSVC stats inside the NSE ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24907 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ifa3c85ec52bda14596e9d7a8705baa1fd4ee2010 Gerrit-Change-Number: 24907 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 12 Jul 2021 15:19:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 12 15:36:50 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 12 Jul 2021 15:36:50 +0000 Subject: Change in libosmocore[master]: gprs_ns2: ensure the NSE becomes dead when FR link went down In-Reply-To: References: Message-ID: Hello Jenkins Builder, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/24922 to look at the new patch set (#2). Change subject: gprs_ns2: ensure the NSE becomes dead when FR link went down ...................................................................... gprs_ns2: ensure the NSE becomes dead when FR link went down The FR code is using force unconfigured to change the state of the NSVC when the FR link goes down. The force unconfigured state didn't notified the NSE when changing into this state. Related: SYS#5533 Change-Id: I4d7bbbbce26f7cde99eebe96995c50b1e812e5bd --- M src/gb/gprs_ns2_vc_fsm.c M tests/gb/gprs_ns2_test.c M tests/gb/gprs_ns2_test.ok 3 files changed, 61 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/22/24922/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24922 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4d7bbbbce26f7cde99eebe96995c50b1e812e5bd Gerrit-Change-Number: 24922 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 12 15:41:00 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 12 Jul 2021 15:41:00 +0000 Subject: Change in osmo-ci[master]: lint: ignore PREFER_DEFINED_ATTRIBUTE_MACRO In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24921 ) Change subject: lint: ignore PREFER_DEFINED_ATTRIBUTE_MACRO ...................................................................... Patch Set 1: can you explain this further? -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24921 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I2bf3b7d60e99cf91f7b619af54167a11cdfae8c6 Gerrit-Change-Number: 24921 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 12 Jul 2021 15:41:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 12 15:42:31 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 12 Jul 2021 15:42:31 +0000 Subject: Change in libosmocore[master]: gprs_ns2: ensure the NSE becomes dead when FR link went down In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24922 ) Change subject: gprs_ns2: ensure the NSE becomes dead when FR link went down ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24922 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4d7bbbbce26f7cde99eebe96995c50b1e812e5bd Gerrit-Change-Number: 24922 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 12 Jul 2021 15:42: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 Jul 12 15:44:04 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 12 Jul 2021 15:44:04 +0000 Subject: Change in osmo-msc[master]: sgs_iface.c: Improve logging when paging over SGs In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24915 ) Change subject: sgs_iface.c: Improve logging when paging over SGs ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24915 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I745d3e904583ddf170ec1a1ceac5a49b72e813e3 Gerrit-Change-Number: 24915 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 12 Jul 2021 15:44: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 Jul 12 15:44:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 12 Jul 2021 15:44:08 +0000 Subject: Change in osmo-msc[master]: sgs_iface.c: Improve logging when paging over SGs In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24915 ) Change subject: sgs_iface.c: Improve logging when paging over SGs ...................................................................... sgs_iface.c: Improve logging when paging over SGs Change-Id: I745d3e904583ddf170ec1a1ceac5a49b72e813e3 --- M src/libmsc/sgs_iface.c 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libmsc/sgs_iface.c b/src/libmsc/sgs_iface.c index 9d7b6fc..1dfbace 100644 --- a/src/libmsc/sgs_iface.c +++ b/src/libmsc/sgs_iface.c @@ -476,9 +476,6 @@ struct gsm29118_paging_req paging_params; struct sgs_mme_ctx *mme; - LOGP(DMSC, LOGL_NOTICE, "XXXXXXXXXX state == %d conf_by_radio_contact_ind == %d\n", - vsub->sgs_fsm->state, vsub->conf_by_radio_contact_ind); - /* See also: 3GPP TS 29.118, chapter 5.1.2.2 Paging Initiation */ if (vsub->sgs_fsm->state == SGS_UE_ST_NULL && vsub->conf_by_radio_contact_ind == true) { LOGPFSMSL(vsub->sgs_fsm, DPAG, LOGL_ERROR, "Will not Page (conf_by_radio_contact_ind == true)\n"); @@ -496,6 +493,9 @@ if (vlr_sgs_pag_pend(vsub)) return 0; + LOGMME(mme, LOGL_INFO, "Paging on SGs: %s for %s (conf_by_radio_contact_ind=%d)\n", + vlr_subscr_name(vsub), sgsap_service_ind_name(serv_ind), vsub->conf_by_radio_contact_ind); + memset(&paging_params, 0, sizeof(paging_params)); osmo_strlcpy(paging_params.imsi, vsub->imsi, sizeof(paging_params.imsi)); osmo_strlcpy(paging_params.vlr_name, mme->sgs->cfg.vlr_name, sizeof(paging_params.vlr_name)); -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24915 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I745d3e904583ddf170ec1a1ceac5a49b72e813e3 Gerrit-Change-Number: 24915 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 12 15:44:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 12 Jul 2021 15:44:09 +0000 Subject: Change in osmo-msc[master]: msc_a.c: Allow MSC_A_EV_CN_CLOSE in state MSC_A_ST_RELEASING In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/24916 ) Change subject: msc_a.c: Allow MSC_A_EV_CN_CLOSE in state MSC_A_ST_RELEASING ...................................................................... msc_a.c: Allow MSC_A_EV_CN_CLOSE in state MSC_A_ST_RELEASING As seen in a running osmo-msc: "vlr_access_req_fsm.c:153 msc_a(IMSI-....:MSISDN-...:TMSI-0x...:GERAN-A-8:CM_SERVICE_REQ){MSC_A_ST_RELEASING}: Event MSC_A_EV_CN_CLOSE not permitted" Also seen in several unit tests, which need update. The action event handler for that state is actually already expecting/handling the event by ignoring it, so we should allow it. Change-Id: I4d30cffab693529aab3ba736419dec116a4dd7ef --- M src/libmsc/msc_a.c M tests/msc_vlr/msc_vlr_test_hlr_timeout.err M tests/msc_vlr/msc_vlr_test_ms_timeout.err 3 files changed, 1 insertion(+), 5 deletions(-) Approvals: Jenkins Builder: Verified neels: Looks good to me, approved diff --git a/src/libmsc/msc_a.c b/src/libmsc/msc_a.c index 451220a..0bc7b26 100644 --- a/src/libmsc/msc_a.c +++ b/src/libmsc/msc_a.c @@ -1002,6 +1002,7 @@ | S(MSC_EV_CALL_LEG_TERM) | S(MSC_MNCC_EV_CALL_ENDED) | S(MSC_A_EV_HANDOVER_END) + | S(MSC_A_EV_CN_CLOSE) , .out_state_mask = 0 | S(MSC_A_ST_RELEASED) diff --git a/tests/msc_vlr/msc_vlr_test_hlr_timeout.err b/tests/msc_vlr/msc_vlr_test_hlr_timeout.err index 1587322..788c326 100644 --- a/tests/msc_vlr/msc_vlr_test_hlr_timeout.err +++ b/tests/msc_vlr/msc_vlr_test_hlr_timeout.err @@ -66,7 +66,6 @@ - sending LU Reject for IMSI-901700000004620:GERAN-A:LU, cause 22 DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: state_chg to VLR_ULA_S_DONE DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: Received Event MSC_A_EV_CN_CLOSE -DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: Event MSC_A_EV_CN_CLOSE not permitted DREF VLR subscr IMSI-901700000004620 - vlr_subscr_cancel_attach_fsm: now used by 2 (active-conn,msc_a_fsm_releasing_onenter) DREF msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: + wait-Clear-Complete: now used by 1 (wait-Clear-Complete) DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: RAN encode: CLEAR_COMMAND on GERAN-A @@ -193,7 +192,6 @@ - sending LU Reject for IMSI-901700000004620:MSISDN-46071:GERAN-A:LU, cause 22 DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){VLR_ULA_S_WAIT_HLR_UPD}: state_chg to VLR_ULA_S_DONE DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_RELEASING}: Received Event MSC_A_EV_CN_CLOSE -DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_RELEASING}: Event MSC_A_EV_CN_CLOSE not permitted DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 2 (active-conn,msc_a_fsm_releasing_onenter) DREF msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_RELEASING}: + wait-Clear-Complete: now used by 1 (wait-Clear-Complete) DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:LU){MSC_A_ST_RELEASING}: RAN encode: CLEAR_COMMAND on GERAN-A diff --git a/tests/msc_vlr/msc_vlr_test_ms_timeout.err b/tests/msc_vlr/msc_vlr_test_ms_timeout.err index 0988162..6ee2139 100644 --- a/tests/msc_vlr/msc_vlr_test_ms_timeout.err +++ b/tests/msc_vlr/msc_vlr_test_ms_timeout.err @@ -85,7 +85,6 @@ - sending LU Reject for IMSI-901700000004620:GERAN-A:LU, cause 22 DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_AUTH}: state_chg to VLR_ULA_S_DONE DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: Received Event MSC_A_EV_CN_CLOSE -DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: Event MSC_A_EV_CN_CLOSE not permitted DREF VLR subscr IMSI-901700000004620 - vlr_subscr_cancel_attach_fsm: now used by 2 (active-conn,msc_a_fsm_releasing_onenter) DREF msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: + wait-Clear-Complete: now used by 1 (wait-Clear-Complete) DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: RAN encode: CLEAR_COMMAND on GERAN-A @@ -356,7 +355,6 @@ DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Process Access Request result: CONGESTION - sending CM Service Reject (Short-Messaging-Service) for IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ, cause: CONGESTION DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_RELEASING}: Received Event MSC_A_EV_CN_CLOSE -DMSC msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_RELEASING}: Event MSC_A_EV_CN_CLOSE not permitted DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,active-conn,msc_a_fsm_releasing_onenter) DBSSAP msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_RELEASING}: Releasing: canceling still pending use: cm_service_sms (1) DREF msc_a(IMSI-901700000004620:MSISDN-46071:GERAN-A:CM_SERVICE_REQ){MSC_A_ST_RELEASING}: - cm_service_sms: now used by 0 (-) @@ -821,7 +819,6 @@ - sending LU Reject for IMSI-901700000004620:GERAN-A:LU, cause 22 DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A:LU){VLR_ULA_S_WAIT_CIPH}: state_chg to VLR_ULA_S_DONE DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: Received Event MSC_A_EV_CN_CLOSE -DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: Event MSC_A_EV_CN_CLOSE not permitted DREF VLR subscr IMSI-901700000004620 - vlr_subscr_cancel_attach_fsm: now used by 2 (active-conn,msc_a_fsm_releasing_onenter) DREF msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: + wait-Clear-Complete: now used by 1 (wait-Clear-Complete) DMSC msc_a(IMSI-901700000004620:GERAN-A:LU){MSC_A_ST_RELEASING}: RAN encode: CLEAR_COMMAND on GERAN-A -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/24916 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I4d30cffab693529aab3ba736419dec116a4dd7ef Gerrit-Change-Number: 24916 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 12 15:53:22 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 12 Jul 2021 15:53:22 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: refactor SNS failures into a function In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/24649 to look at the new patch set (#2). Change subject: gprs_ns2_sns: refactor SNS failures into a function ...................................................................... gprs_ns2_sns: refactor SNS failures into a function The SNS fsm is similar for BSS and SGSN. Terminate the SGSN failures by freeing the NSE. Change-Id: I1896f6c3ddb4f98ca261139c1cc77aa8f1558c6f --- M src/gb/gprs_ns2_sns.c 1 file changed, 27 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/49/24649/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24649 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1896f6c3ddb4f98ca261139c1cc77aa8f1558c6f Gerrit-Change-Number: 24649 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 12 15:53:22 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 12 Jul 2021 15:53:22 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: free the NSE if the SIZE PDU is not valid In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/24650 to look at the new patch set (#3). Change subject: gprs_ns2_sns: free the NSE if the SIZE PDU is not valid ...................................................................... gprs_ns2_sns: free the NSE if the SIZE PDU is not valid The SGSN fsm should be freed when becoming invalid instead of going into the unconfigured state. The unconfigured states should be only used when creating the NSE (on the SGSN side). Change-Id: Ife889091ecba4180a90743deb786767008fe863d --- M src/gb/gprs_ns2_sns.c 1 file changed, 14 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/50/24650/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24650 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ife889091ecba4180a90743deb786767008fe863d Gerrit-Change-Number: 24650 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 12 15:53:24 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 12 Jul 2021 15:53:24 +0000 Subject: Change in libosmocore[master]: WIP: gprs_ns2: start use (ref) counting References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24923 ) Change subject: WIP: gprs_ns2: start use (ref) counting ...................................................................... WIP: gprs_ns2: start use (ref) counting Also avoid recursive free() rounds within the ns2 code Change-Id: I03cb2419926c639d4bd357a33ce8008c50cd3bee --- M src/gb/gprs_ns2.c M src/gb/gprs_ns2_internal.h M src/gb/gprs_ns2_sns.c M tests/gb/gprs_ns2_test.c M tests/gb/gprs_ns2_test.ok 5 files changed, 137 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/23/24923/1 diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index 3eb59e5..09286ec 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -236,6 +236,8 @@ { 0, NULL } }; +static void ns2_free_nse(struct gprs_ns2_nse *nse); + /*! string-format a given NS-VC into a user-supplied buffer. * \param[in] buf user-allocated output buffer * \param[in] buf_len size of user-allocated output buffer in bytes @@ -631,9 +633,9 @@ * \param[in] nsvc NS-VC to destroy */ void gprs_ns2_free_nsvc(struct gprs_ns2_vc *nsvc) { - if (!nsvc) + if (!nsvc || nsvc->freed) return; - + nsvc->freed = true; ns2_prim_status_ind(nsvc->nse, nsvc, 0, GPRS_NS2_AFF_CAUSE_VC_FAILURE); llist_del(&nsvc->list); @@ -661,14 +663,18 @@ */ void gprs_ns2_free_nsvcs(struct gprs_ns2_nse *nse) { - struct gprs_ns2_vc *nsvc, *tmp; + struct gprs_ns2_vc *nsvc; - if (!nse) + if (!nse || nse->freed) return; - llist_for_each_entry_safe(nsvc, tmp, &nse->nsvc, list) { + ns2_get(nse, NSE_USE_LIST); +loop: + llist_for_each_entry(nsvc, &nse->nsvc, list) { gprs_ns2_free_nsvc(nsvc); + goto loop; } + ns2_put(nse, NSE_USE_LIST); } /*! Allocate a message buffer for use with the NS2 stack. */ @@ -778,6 +784,30 @@ return NULL; } +static int nse_use_cb(struct osmo_use_count_entry *e, int32_t old_use_count, const char *file, int line) +{ + struct gprs_ns2_nse *nse = e->use_count->talloc_object; + struct osmo_use_count_entry *e2; + + int32_t other_count = 0; + int32_t core_count = 0; + if (!e->use) + return -EINVAL; + if (e->count < 0) + return -ERANGE; + + llist_for_each_entry(e2, &nse->use_count.use_counts, entry) { + if (strcmp(e2->use, NSE_USE_CORE) == 0) + core_count += e2->count; + else + other_count += e2->count; + } + + if (other_count <= 0 && core_count <= 0) + ns2_free_nse(nse); + return 0; +} + /*! Create a NS Entity within given NS instance. * \param[in] nsi NS instance in which to create NS Entity * \param[in] nsei NS Entity Identifier of to-be-created NSE @@ -813,6 +843,11 @@ nse->mtu = 0; llist_add_tail(&nse->list, &nsi->nse); INIT_LLIST_HEAD(&nse->nsvc); + nse->use_count = (struct osmo_use_count){ + .talloc_object = nse, + .use_cb = nse_use_cb, + }; + ns2_get(nse, NSE_USE_CORE); return nse; } @@ -871,26 +906,35 @@ return nse->nsei; } -/*! Destroy given NS Entity. - * \param[in] nse NS Entity to destroy */ -void gprs_ns2_free_nse(struct gprs_ns2_nse *nse) +static void ns2_free_nse(struct gprs_ns2_nse *nse) { - if (!nse) + struct gprs_ns2_vc *nsvc, *nsvc2; + if (!nse || nse->freed) return; + nse->freed = true; nse->alive = false; if (nse->bss_sns_fi) { osmo_fsm_inst_term(nse->bss_sns_fi, OSMO_FSM_TERM_REQUEST, NULL); nse->bss_sns_fi = NULL; } - gprs_ns2_free_nsvcs(nse); - ns2_prim_status_ind(nse, NULL, 0, GPRS_NS2_AFF_CAUSE_FAILURE); + llist_for_each_entry_safe(nsvc, nsvc2, &nse->nsvc, list) { + gprs_ns2_free_nsvc(nsvc); + } + ns2_prim_status_ind(nse, NULL, 0, GPRS_NS2_AFF_CAUSE_FAILURE); llist_del(&nse->list); talloc_free(nse); } +/*! Destroy given NS Entity. + * \param[in] nse NS Entity to destroy */ +void gprs_ns2_free_nse(struct gprs_ns2_nse *nse) +{ + ns2_put(nse, NSE_USE_CORE); +} + void gprs_ns2_free_nses(struct gprs_ns2_inst *nsi) { struct gprs_ns2_nse *nse, *ntmp; @@ -1240,11 +1284,14 @@ { struct gprs_ns2_vc *nsvc, *tmp; int rc = 0; + + ns2_get(nse, NSE_USE_LIST); llist_for_each_entry_safe(nsvc, tmp, &nse->nsvc, list) { rc = cb(nsvc, cb_data); if (rc < 0) return rc; } + ns2_put(nse, NSE_USE_LIST); return 0; } @@ -1450,20 +1497,26 @@ void gprs_ns2_free_bind(struct gprs_ns2_vc_bind *bind) { struct gprs_ns2_vc *nsvc, *tmp; - struct gprs_ns2_nse *nse; - if (!bind) + struct gprs_ns2_nse *nse, *nse2; + if (!bind || bind->freed) return; - llist_for_each_entry_safe(nsvc, tmp, &bind->nsvc, blist) { - gprs_ns2_free_nsvc(nsvc); - } + bind->freed = true; if (gprs_ns2_is_ip_bind(bind)) { - llist_for_each_entry(nse, &bind->nsi->nse, list) { + llist_for_each_entry_safe(nse, nse2, &bind->nsi->nse, list) { gprs_ns2_sns_del_bind(nse, bind); } } + + /* because freeing a single nsvc might free all other nsvcs */ +loop: + llist_for_each_entry(nsvc, &bind->nsvc, blist) { + gprs_ns2_free_nsvc(nsvc); + goto loop; + } + if (bind->driver->free_bind) bind->driver->free_bind(bind); diff --git a/src/gb/gprs_ns2_internal.h b/src/gb/gprs_ns2_internal.h index 70e212a..65cfda6 100644 --- a/src/gb/gprs_ns2_internal.h +++ b/src/gb/gprs_ns2_internal.h @@ -6,6 +6,7 @@ #include #include +#include #include #include @@ -198,6 +199,11 @@ /*! are we implementing the SGSN role? */ bool ip_sns_role_sgsn; + + /*! recursive anchor */ + bool freed; + + struct osmo_use_count use_count; }; /*! Structure representing a single NS-VC */ @@ -242,6 +248,9 @@ enum gprs_ns2_vc_mode mode; struct osmo_fsm_inst *fi; + + /*! recursive anchor */ + bool freed; }; /*! Structure repesenting a bind instance. E.g. IPv4 listen port. */ @@ -286,6 +295,9 @@ uint8_t sns_data_weight; struct osmo_stat_item_group *statg; + + /*! recursive anchor */ + bool freed; }; struct gprs_ns2_vc_driver { @@ -294,6 +306,15 @@ void (*free_bind)(struct gprs_ns2_vc_bind *driver); }; +#define ns2_get(ns2_obj, use) \ + OSMO_ASSERT(osmo_use_count_get_put(&(ns2_obj)->use_count, use, 1) == 0) +#define ns2_put(ns2_obj, use) \ + OSMO_ASSERT(osmo_use_count_get_put(&(ns2_obj)->use_count, use, -1) == 0) +#define NSE_USE_CORE "ns2core" +#define NSE_USE_LIST "ns2list" +#define NSE_USE_SNS "ns2sns" + + enum ns2_cs ns2_create_vc(struct gprs_ns2_vc_bind *bind, struct msgb *msg, const struct osmo_sockaddr *remote, diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 642b47c..b4a8d7f 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -658,6 +658,7 @@ OSMO_ASSERT(false); } + ns2_get(nse, NSE_USE_LIST); llist_for_each_entry_safe(nsvc, tmp, &nse->nsvc, list) { remote = gprs_ns2_ip_vc_remote(nsvc); /* all nsvc in NSE should be IP/UDP nsvc */ @@ -668,6 +669,7 @@ LOGPFSML(fi, LOGL_INFO, "DELETE NS-VC %s\n", gprs_ns2_ll_str(nsvc)); gprs_ns2_free_nsvc(nsvc); } + ns2_put(nse, NSE_USE_LIST); return 0; } @@ -1482,6 +1484,7 @@ struct ns2_sns_bind *sbind; struct gprs_ns2_vc *nsvc, *nsvc2; + ns2_get(nse, NSE_USE_SNS); switch (event) { case GPRS_SNS_EV_REQ_ADD_BIND: sbind = data; @@ -1528,6 +1531,7 @@ talloc_free(sbind); break; } + ns2_put(nse, NSE_USE_SNS); } /* validate the bss configuration (sns endpoint and binds) diff --git a/tests/gb/gprs_ns2_test.c b/tests/gb/gprs_ns2_test.c index 515d908..2322735 100644 --- a/tests/gb/gprs_ns2_test.c +++ b/tests/gb/gprs_ns2_test.c @@ -642,6 +642,43 @@ printf("--- Finish force unconfigured test\n"); } +void test_use_count(void *ctx) +{ + struct gprs_ns2_inst *nsi; + struct gprs_ns2_vc_bind *bind[2]; + struct gprs_ns2_vc_bind *loopbind; + struct gprs_ns2_nse *nse; + struct gprs_ns2_vc *nsvc[2]; + struct gprs_ns2_vc *loop[2]; + + struct msgb *msg, *other; + char idbuf[32]; + int i; + + printf("--- Testing nse use count\n"); + osmo_wqueue_clear(unitdata); + printf("---- Create Binds\n"); + nsi = gprs_ns2_instantiate(ctx, ns_prim_cb, NULL); + bind[0] = dummy_bind(nsi, "bblock1"); + bind[1] = dummy_bind(nsi, "bblock2"); + loopbind = loopback_bind(nsi, "loopback"); + + // free SNS NSE with active NSVCs + // free SNS NSE with active NSVCs on a SNS/NSE event + // free a dynamic SNS NSE + + nse = gprs_ns2_create_nse(nsi, 1004, GPRS_NS2_LL_UDP, GPRS_NS2_DIALECT_STATIC_RESETBLOCK); + OSMO_ASSERT(nse); + for (i=0; i<2; i++) { + printf("---- Create NSVC[%d]\n", i); + snprintf(idbuf, sizeof(idbuf), "NSE%05u-dummy-%i", nse->nsei, i); + nsvc[i] = ns2_vc_alloc(bind[i], nse, false, GPRS_NS2_VC_MODE_BLOCKRESET, idbuf); + OSMO_ASSERT(nsvc[i]); + ns2_vc_fsm_start(nsvc[i]); + } + gprs_ns2_free_nse(nse); +} + int main(int argc, char **argv) { void *ctx = talloc_named_const(NULL, 0, "gprs_ns2_test"); @@ -663,6 +700,7 @@ test_unitdata_weights(ctx); test_unconfigured(ctx); test_mtu(ctx); + test_use_count(ctx); printf("===== NS2 protocol test END\n\n"); talloc_free(ctx); diff --git a/tests/gb/gprs_ns2_test.ok b/tests/gb/gprs_ns2_test.ok index 8bae5b9..f4af60c 100644 --- a/tests/gb/gprs_ns2_test.ok +++ b/tests/gb/gprs_ns2_test.ok @@ -47,5 +47,9 @@ ---- Send a small UNITDATA to NSVC[0] ---- Check if got mtu reported --- Finish unitdata test +--- Testing nse use count +---- Create Binds +---- Create NSVC[0] +---- Create NSVC[1] ===== NS2 protocol test END -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24923 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I03cb2419926c639d4bd357a33ce8008c50cd3bee Gerrit-Change-Number: 24923 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 12 16:05:13 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 12 Jul 2021 16:05:13 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: fix potential NULL-pointer dereference In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2) to the change originally created by fixeria. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24908 ) Change subject: lchan_fsm: fix potential NULL-pointer dereference ...................................................................... lchan_fsm: fix potential NULL-pointer dereference Change-Id: I373855b95f8bde0ce8f9c2ae7bf95c9135d33484 Related: SYS#5526 --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 16 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/08/24908/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24908 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I373855b95f8bde0ce8f9c2ae7bf95c9135d33484 Gerrit-Change-Number: 24908 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 12 16:05:45 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 12 Jul 2021 16:05:45 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: fix potential NULL-pointer dereference In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#3) to the change originally created by fixeria. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24908 ) Change subject: lchan_fsm: fix potential NULL-pointer dereference ...................................................................... lchan_fsm: fix potential NULL-pointer dereference Change-Id: I373855b95f8bde0ce8f9c2ae7bf95c9135d33484 Related: SYS#5526 --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 15 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/08/24908/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24908 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I373855b95f8bde0ce8f9c2ae7bf95c9135d33484 Gerrit-Change-Number: 24908 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 12 16:06:40 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 12 Jul 2021 16:06:40 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: fix potential NULL-pointer dereference In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24908 ) Change subject: lchan_fsm: fix potential NULL-pointer dereference ...................................................................... Patch Set 3: I applied the requested changed myself in order to speed up merge of this patch, since it fixes a crash and fixeria may be unavailable. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24908 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I373855b95f8bde0ce8f9c2ae7bf95c9135d33484 Gerrit-Change-Number: 24908 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 12 Jul 2021 16:06: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 Jul 12 16:06:49 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 12 Jul 2021 16:06:49 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: fix potential NULL-pointer dereference In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24908 ) Change subject: lchan_fsm: fix potential NULL-pointer dereference ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24908 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I373855b95f8bde0ce8f9c2ae7bf95c9135d33484 Gerrit-Change-Number: 24908 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 12 Jul 2021 16:06: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 Jul 12 16:22:16 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Mon, 12 Jul 2021 16:22:16 +0000 Subject: Change in libosmocore[master]: gprs_ns2: ensure the NSE becomes dead when FR link went down In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24922 ) Change subject: gprs_ns2: ensure the NSE becomes dead when FR link went down ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24922 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4d7bbbbce26f7cde99eebe96995c50b1e812e5bd Gerrit-Change-Number: 24922 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 12 Jul 2021 16:22: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 Jul 12 16:23:53 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 12 Jul 2021 16:23:53 +0000 Subject: Change in libosmocore[master]: gprs_ns2: ensure the NSE becomes dead when FR link went down In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/24922 to look at the new patch set (#3). Change subject: gprs_ns2: ensure the NSE becomes dead when FR link went down ...................................................................... gprs_ns2: ensure the NSE becomes dead when FR link went down The FR code is using force unconfigured to change the state of the NSVC when the FR link goes down. The force unconfigured state didn't notified the NSE when changing into this state. Related: SYS#5533 Change-Id: I4d7bbbbce26f7cde99eebe96995c50b1e812e5bd --- M src/gb/gprs_ns2_vc_fsm.c M tests/gb/gprs_ns2_test.c M tests/gb/gprs_ns2_test.ok 3 files changed, 61 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/22/24922/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24922 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4d7bbbbce26f7cde99eebe96995c50b1e812e5bd Gerrit-Change-Number: 24922 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 12 16:26:04 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 12 Jul 2021 16:26:04 +0000 Subject: Change in libosmocore[master]: vty: add "show uptime" References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24924 ) Change subject: vty: add "show uptime" ...................................................................... vty: add "show uptime" Related: OS#4609 Change-Id: Ic7d9d5d3c8a9abd06a7e626aed7679f68406040c --- M src/vty/command.c 1 file changed, 20 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/24/24924/1 diff --git a/src/vty/command.c b/src/vty/command.c index de89337..854c379 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -63,6 +63,9 @@ void *tall_vty_cmd_ctx; +/* When cmd_init() was called, for the "show uptime". */ +time_t uptime; + /* Command vector which includes some level of command lists. Normally each daemon maintains each own cmdvec. */ vector cmdvec; @@ -3037,6 +3040,20 @@ return CMD_SUCCESS; } +DEFUN(show_uptime, + show_uptime_cmd, "show uptime", SHOW_STR "Displays how long the program has been running\n") +{ + time_t diff = time(NULL) - uptime; + int d = diff / (3600 * 24); + int h = diff / 3600 % 24; + int m = diff / 60 % 60; + int s = diff % 60; + + vty_out(vty, "%s has been running for %id %ih %im %is%s", host.app_info->name, d, h, m, s, VTY_NEWLINE); + + return CMD_SUCCESS; +} + /* Help display function for all node. */ gDEFUN(config_help, config_help_cmd, "help", "Description of the interactive help system\n") @@ -4325,6 +4342,8 @@ /* Initialize command interface. Install basic nodes and commands. */ void cmd_init(int terminal) { + uptime = time(NULL); + /* Allocate initial top vector of commands. */ cmdvec = vector_init(VECTOR_MIN_SIZE); @@ -4346,6 +4365,7 @@ install_node(&config_node, config_write_host); /* Each node's basic commands. */ + install_lib_element(VIEW_NODE, &show_uptime_cmd); install_lib_element(VIEW_NODE, &show_version_cmd); install_lib_element(VIEW_NODE, &show_online_help_cmd); if (terminal) { -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24924 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic7d9d5d3c8a9abd06a7e626aed7679f68406040c Gerrit-Change-Number: 24924 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 Jul 12 16:26:04 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 12 Jul 2021 16:26:04 +0000 Subject: Change in libosmocore[master]: vty: add "show pid" References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24925 ) Change subject: vty: add "show pid" ...................................................................... vty: add "show pid" Related: OS#4609 Change-Id: Ib636050afc1eed134f450f2f1cdd3b51153b0160 --- M src/vty/command.c 1 file changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/25/24925/1 diff --git a/src/vty/command.c b/src/vty/command.c index 854c379..e747add 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -3040,6 +3040,13 @@ return CMD_SUCCESS; } +DEFUN(show_pid, + show_pid_cmd, "show pid", SHOW_STR "Displays the process ID\n") +{ + vty_out(vty, "%i%s", getpid(), VTY_NEWLINE); + return CMD_SUCCESS; +} + DEFUN(show_uptime, show_uptime_cmd, "show uptime", SHOW_STR "Displays how long the program has been running\n") { @@ -4365,6 +4372,7 @@ install_node(&config_node, config_write_host); /* Each node's basic commands. */ + install_lib_element(VIEW_NODE, &show_pid_cmd); install_lib_element(VIEW_NODE, &show_uptime_cmd); install_lib_element(VIEW_NODE, &show_version_cmd); install_lib_element(VIEW_NODE, &show_online_help_cmd); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24925 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib636050afc1eed134f450f2f1cdd3b51153b0160 Gerrit-Change-Number: 24925 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 Jul 12 16:26:05 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 12 Jul 2021 16:26:05 +0000 Subject: Change in libosmocore[master]: vty: add "shutdown" References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24926 ) Change subject: vty: add "shutdown" ...................................................................... vty: add "shutdown" Call osmo_select_shutdown_request() internally after user runs the new shutdown command. Lots of Osmocom applications don't use the osmo_select_shutdown_done() command in their main loop (e.g. OsmoMSC, OsmoHLR, ...) so add a code path for that case. Closes: OS#4609 Change-Id: I3596a35b0f4a24e49484ec3f24a98e4d4f583e1e --- M src/select.c M src/vty/command.c 2 files changed, 30 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/26/24926/1 diff --git a/src/select.c b/src/select.c index f7eb5ea..843bda4 100644 --- a/src/select.c +++ b/src/select.c @@ -73,6 +73,11 @@ static int _osmo_select_shutdown_requested = 0; /*! See osmo_select_shutdown_request() */ static bool _osmo_select_shutdown_done = false; +/*! For proper shutdown handling we expect osmo_select_shutdown_done() to be + * called in a program's main loop and clean up done afterwards. If the + * function never gets called, the VTY command "shutdown" needs to call exit() + * instead. */ +bool _osmo_select_shutdown_done_called = false; /*! Set up an osmo-fd. Will not register it. * \param[inout] ofd Osmo FD to be set-up @@ -661,6 +666,7 @@ /*! Return true after osmo_select_shutdown_requested() was called, and after an osmo_select poll loop found no more * pending OSMO_FD_WRITE on any registered socket. */ bool osmo_select_shutdown_done() { + _osmo_select_shutdown_done_called = true; return _osmo_select_shutdown_done; }; diff --git a/src/vty/command.c b/src/vty/command.c index e747add..fdc19ed 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -45,6 +45,8 @@ #include #include +#include +#include #include #include @@ -61,6 +63,8 @@ #define CONFIGFILE_MASK 022 +extern bool _osmo_select_shutdown_done_called; + void *tall_vty_cmd_ctx; /* When cmd_init() was called, for the "show uptime". */ @@ -3021,6 +3025,25 @@ return CMD_SUCCESS; } +DEFUN(shutdown, + shutdown_cmd, "shutdown", "Request a graceful shutdown of the program\n") +{ + LOGP(DLGLOBAL, LOGL_INFO, "Shutdown requested from telnet\n"); + vty_out(vty, "%s is shutting down. Bye!%s", host.app_info->name, VTY_NEWLINE); + osmo_select_shutdown_request(); + + /* Call exit() from here if program won't stop on its own */ + if (!_osmo_select_shutdown_done_called) { + LOGP(DLGLOBAL, LOGL_INFO, "Skipping %s main loop during shutdown\n", host.app_info->name); + + while (!osmo_select_shutdown_done()) + osmo_select_main_ctx(0); + + exit(0); + } + return CMD_SUCCESS; +} + /* Show version. */ DEFUN(show_version, show_version_cmd, "show version", SHOW_STR "Displays program version\n") @@ -4392,6 +4415,7 @@ install_lib_element(ENABLE_NODE, &config_disable_cmd); install_lib_element(ENABLE_NODE, &config_terminal_cmd); install_lib_element(ENABLE_NODE, ©_runningconfig_startupconfig_cmd); + install_lib_element(ENABLE_NODE, &shutdown_cmd); } install_lib_element(ENABLE_NODE, &show_startup_config_cmd); install_lib_element(ENABLE_NODE, &show_version_cmd); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24926 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3596a35b0f4a24e49484ec3f24a98e4d4f583e1e Gerrit-Change-Number: 24926 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 Jul 12 16:27:00 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 12 Jul 2021 16:27:00 +0000 Subject: Change in libosmocore[master]: gprs_ns2: ensure the NSE becomes dead when FR link went down In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/24922 to look at the new patch set (#4). Change subject: gprs_ns2: ensure the NSE becomes dead when FR link went down ...................................................................... gprs_ns2: ensure the NSE becomes dead when FR link went down The FR code is using force unconfigured to change the state of the NSVC when the FR link goes down. The force unconfigured state didn't notified the NSE when changing into this state. Related: SYS#5533 Change-Id: I4d7bbbbce26f7cde99eebe96995c50b1e812e5bd --- M src/gb/gprs_ns2_vc_fsm.c M tests/gb/gprs_ns2_test.c M tests/gb/gprs_ns2_test.ok 3 files changed, 61 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/22/24922/4 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24922 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4d7bbbbce26f7cde99eebe96995c50b1e812e5bd Gerrit-Change-Number: 24922 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 12 16:27:36 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Mon, 12 Jul 2021 16:27:36 +0000 Subject: Change in libosmocore[master]: gprs_ns2: ensure the NSE becomes dead when FR link went down In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24922 ) Change subject: gprs_ns2: ensure the NSE becomes dead when FR link went down ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24922 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4d7bbbbce26f7cde99eebe96995c50b1e812e5bd Gerrit-Change-Number: 24922 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 12 Jul 2021 16:27: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 Jul 12 16:37:59 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Mon, 12 Jul 2021 16:37:59 +0000 Subject: Change in libosmocore[master]: Aggregate NSVC stats inside the NSE In-Reply-To: References: Message-ID: daniel has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24907 ) Change subject: Aggregate NSVC stats inside the NSE ...................................................................... Aggregate NSVC stats inside the NSE Change-Id: Ifa3c85ec52bda14596e9d7a8705baa1fd4ee2010 Related: OS#4998 --- M src/gb/gprs_ns2.c M src/gb/gprs_ns2_internal.h M src/gb/gprs_ns2_message.c M src/gb/gprs_ns2_vc_fsm.c 4 files changed, 45 insertions(+), 13 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve lynxis lazus: Looks good to me, approved diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index 3eb59e5..fb2965a 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -159,7 +159,7 @@ { 0, NULL } }; -static const struct rate_ctr_desc nsvc_ctr_description[] = { +static const struct rate_ctr_desc ns_ctr_description[] = { [NS_CTR_PKTS_IN] = { "packets:in", "Packets at NS Level ( In)" }, [NS_CTR_PKTS_OUT] = { "packets:out", "Packets at NS Level (Out)" }, [NS_CTR_PKTS_OUT_DROP] = { "packets:out:drop", "Dropped Packets (Out)" }, @@ -177,11 +177,19 @@ [NS_CTR_LOST_RESET] = { "lost:reset", "RESET ACK missing count " }, }; +static const struct rate_ctr_group_desc nse_ctrg_desc = { + .group_name_prefix = "ns:nse", + .group_description = "NSE Peer Statistics", + .num_ctr = ARRAY_SIZE(ns_ctr_description), + .ctr_desc = ns_ctr_description, + .class_id = OSMO_STATS_CLASS_PEER, +}; + static const struct rate_ctr_group_desc nsvc_ctrg_desc = { .group_name_prefix = "ns:nsvc", .group_description = "NSVC Peer Statistics", - .num_ctr = ARRAY_SIZE(nsvc_ctr_description), - .ctr_desc = nsvc_ctr_description, + .num_ctr = ARRAY_SIZE(ns_ctr_description), + .ctr_desc = ns_ctr_description, .class_id = OSMO_STATS_CLASS_PEER, }; @@ -806,6 +814,12 @@ return NULL; } + nse->ctrg = rate_ctr_group_alloc(nse, &nse_ctrg_desc, nsei); + if (!nse->ctrg) { + talloc_free(nse); + return NULL; + } + nse->ll = linklayer; nse->nsei = nsei; nse->nsi = nsi; @@ -886,6 +900,7 @@ gprs_ns2_free_nsvcs(nse); ns2_prim_status_ind(nse, NULL, 0, GPRS_NS2_AFF_CAUSE_FAILURE); + rate_ctr_group_free(nse->ctrg); llist_del(&nse->list); talloc_free(nse); @@ -1265,8 +1280,8 @@ log_set_context(LOG_CTX_GB_NSE, nsvc->nse); log_set_context(LOG_CTX_GB_NSVC, nsvc); - rate_ctr_inc(rate_ctr_group_get_ctr(nsvc->ctrg, NS_CTR_PKTS_IN)); - rate_ctr_add(rate_ctr_group_get_ctr(nsvc->ctrg, NS_CTR_BYTES_IN), msg->len); + RATE_CTR_INC_NS(nsvc, NS_CTR_PKTS_IN); + RATE_CTR_ADD_NS(nsvc, NS_CTR_BYTES_IN, msg->len); if (msg->len < sizeof(struct gprs_ns_hdr)) { rc = -EINVAL; diff --git a/src/gb/gprs_ns2_internal.h b/src/gb/gprs_ns2_internal.h index 70e212a..db01c2e 100644 --- a/src/gb/gprs_ns2_internal.h +++ b/src/gb/gprs_ns2_internal.h @@ -38,6 +38,20 @@ #define LOG_NS_RX_SIGNAL(nsvc, pdu_type) LOG_NS_SIGNAL(nsvc, "Rx", pdu_type, LOGL_INFO, "\n") #define LOG_NS_TX_SIGNAL(nsvc, pdu_type) LOG_NS_SIGNAL(nsvc, "Tx", pdu_type, LOGL_INFO, "\n") +#define RATE_CTR_INC_NS(nsvc, ctr) \ + do { \ + struct gprs_ns2_vc *_nsvc = (nsvc); \ + rate_ctr_inc(rate_ctr_group_get_ctr(_nsvc->ctrg, ctr)); \ + rate_ctr_inc(rate_ctr_group_get_ctr(_nsvc->nse->ctrg, ctr)); \ + } while (0) + +#define RATE_CTR_ADD_NS(nsvc, ctr, val) \ + do { \ + struct gprs_ns2_vc *_nsvc = (nsvc); \ + rate_ctr_add(rate_ctr_group_get_ctr(_nsvc->ctrg, ctr), val); \ + rate_ctr_add(rate_ctr_group_get_ctr(_nsvc->nse->ctrg, ctr), val); \ + } while (0) + struct osmo_fsm_inst; struct tlv_parsed; @@ -198,6 +212,9 @@ /*! are we implementing the SGSN role? */ bool ip_sns_role_sgsn; + + /*! NSE-wide statistics */ + struct rate_ctr_group *ctrg; }; /*! Structure representing a single NS-VC */ diff --git a/src/gb/gprs_ns2_message.c b/src/gb/gprs_ns2_message.c index 03e26bd..dccf51d 100644 --- a/src/gb/gprs_ns2_message.c +++ b/src/gb/gprs_ns2_message.c @@ -174,11 +174,11 @@ rc = nsvc->bind->send_vc(nsvc, msg); if (rc < 0) { - rate_ctr_inc(rate_ctr_group_get_ctr(nsvc->ctrg, NS_CTR_PKTS_OUT_DROP)); - rate_ctr_add(rate_ctr_group_get_ctr(nsvc->ctrg, NS_CTR_BYTES_OUT_DROP), bytes); + RATE_CTR_INC_NS(nsvc, NS_CTR_PKTS_OUT_DROP); + RATE_CTR_ADD_NS(nsvc, NS_CTR_BYTES_OUT_DROP, bytes); } else { - rate_ctr_inc(rate_ctr_group_get_ctr(nsvc->ctrg, NS_CTR_PKTS_OUT)); - rate_ctr_add(rate_ctr_group_get_ctr(nsvc->ctrg, NS_CTR_BYTES_OUT), bytes); + RATE_CTR_INC_NS(nsvc, NS_CTR_PKTS_OUT); + RATE_CTR_ADD_NS(nsvc, NS_CTR_BYTES_OUT, bytes); } return rc; diff --git a/src/gb/gprs_ns2_vc_fsm.c b/src/gb/gprs_ns2_vc_fsm.c index 05118b2..4dc0536 100644 --- a/src/gb/gprs_ns2_vc_fsm.c +++ b/src/gb/gprs_ns2_vc_fsm.c @@ -230,7 +230,7 @@ osmo_timer_schedule(&priv->alive.timer, nsi->timeout[NS_TOUT_TNS_ALIVE], 0); break; case NS_TOUT_TNS_ALIVE: - rate_ctr_inc(rate_ctr_group_get_ctr(priv->nsvc->ctrg, NS_CTR_LOST_ALIVE)); + RATE_CTR_INC_NS(priv->nsvc, NS_CTR_LOST_ALIVE); priv->alive.N++; if (priv->alive.N <= nsi->timeout[NS_TOUT_TNS_ALIVE_RETRIES]) { @@ -336,7 +336,7 @@ if (old_state != GPRS_NS2_ST_BLOCKED) { priv->N = 0; - rate_ctr_inc(rate_ctr_group_get_ctr(priv->nsvc->ctrg, NS_CTR_BLOCKED)); + RATE_CTR_INC_NS(priv->nsvc, NS_CTR_BLOCKED); } ns2_nse_notify_unblocked(priv->nsvc, false); @@ -412,7 +412,7 @@ struct gprs_ns2_nse *nse = nsvc->nse; if (old_state != GPRS_NS2_ST_UNBLOCKED) - rate_ctr_inc(rate_ctr_group_get_ctr(nsvc->ctrg, NS_CTR_UNBLOCKED)); + RATE_CTR_INC_NS(nsvc, NS_CTR_UNBLOCKED); priv->accept_unitdata = true; ns2_nse_notify_unblocked(nsvc, true); @@ -527,7 +527,7 @@ switch (fi->state) { case GPRS_NS2_ST_RESET: if (priv->initiate_reset) { - rate_ctr_inc(rate_ctr_group_get_ctr(priv->nsvc->ctrg, NS_CTR_LOST_RESET)); + RATE_CTR_INC_NS(priv->nsvc, NS_CTR_LOST_RESET); priv->N++; if (priv->N <= nsi->timeout[NS_TOUT_TNS_RESET_RETRIES]) { osmo_fsm_inst_state_chg(fi, GPRS_NS2_ST_RESET, nsi->timeout[NS_TOUT_TNS_RESET], 0); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24907 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ifa3c85ec52bda14596e9d7a8705baa1fd4ee2010 Gerrit-Change-Number: 24907 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 12 18:15:50 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 12 Jul 2021 18:15:50 +0000 Subject: Change in libosmocore[master]: vty: add "show uptime" In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24924 ) Change subject: vty: add "show uptime" ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/libosmocore/+/24924/1/src/vty/command.c File src/vty/command.c: https://gerrit.osmocom.org/c/libosmocore/+/24924/1/src/vty/command.c at 67 PS1, Line 67: time_t uptime; static https://gerrit.osmocom.org/c/libosmocore/+/24924/1/src/vty/command.c at 4345 PS1, Line 4345: uptime = time(NULL); what about calling it in a lib constructor? this way we ensure it's set as soon as the process is loaded. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24924 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic7d9d5d3c8a9abd06a7e626aed7679f68406040c Gerrit-Change-Number: 24924 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 12 Jul 2021 18:15: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 Mon Jul 12 18:17:50 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 12 Jul 2021 18:17:50 +0000 Subject: Change in libosmocore[master]: vty: add "show pid" In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24925 ) Change subject: vty: add "show pid" ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24925/1/src/vty/command.c File src/vty/command.c: https://gerrit.osmocom.org/c/libosmocore/+/24925/1/src/vty/command.c at 3047 PS1, Line 3047: return CMD_SUCCESS; we usually use %d -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24925 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib636050afc1eed134f450f2f1cdd3b51153b0160 Gerrit-Change-Number: 24925 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 12 Jul 2021 18:17: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 Mon Jul 12 18:22:21 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 12 Jul 2021 18:22:21 +0000 Subject: Change in libosmocore[master]: vty: add "shutdown" In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24926 ) Change subject: vty: add "shutdown" ...................................................................... Patch Set 1: Why not simply sending some signal() to the process itself and let usual SIGINT or alike take the usual exit path? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24926 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3596a35b0f4a24e49484ec3f24a98e4d4f583e1e Gerrit-Change-Number: 24926 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 12 Jul 2021 18:22:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 12 18:23:21 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 12 Jul 2021 18:23:21 +0000 Subject: Change in libosmocore[master]: vty: add "shutdown" In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24926 ) Change subject: vty: add "shutdown" ...................................................................... Patch Set 1: > Patch Set 1: > > Why not simply sending some signal() to the process itself and let usual SIGINT or alike take the usual exit path? This has the benefit that we are not setting a variable on every loop iteration on an osmocom app. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24926 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3596a35b0f4a24e49484ec3f24a98e4d4f583e1e Gerrit-Change-Number: 24926 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 12 Jul 2021 18:23:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Tue Jul 13 00:34:23 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 13 Jul 2021 00:34:23 +0000 Subject: Build failure of network:osmocom:latest/osmo-sip-connector in openSUSE_Tumbleweed/i586 In-Reply-To: References: Message-ID: <60ecdf97163b4_625c2b1bc26145f01368877@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sip-connector/openSUSE_Tumbleweed/i586 Package network:osmocom:latest/osmo-sip-connector failed to build in openSUSE_Tumbleweed/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-sip-connector Last lines of build log: [ 4s] [23/34] preinstalling libselinux1... [ 4s] [24/34] preinstalling libreadline8... [ 4s] [25/34] preinstalling tar... [ 4s] [26/34] preinstalling bash... [ 5s] [27/34] preinstalling diffutils... [ 5s] [28/34] preinstalling grep... [ 5s] [29/34] preinstalling pam... [ 5s] [30/34] preinstalling sed... [ 5s] [31/34] preinstalling coreutils... [ 5s] [32/34] preinstalling aaa_base... [ 5s] [33/34] preinstalling rpm-config-SUSE... [ 5s] [34/34] preinstalling rpm... [ 5s] [ 5s] [1/11] preinstalling kernel-obs-build... [ 6s] [2/11] preinstalling libblkid1... [ 6s] [3/11] preinstalling libcrypt1... [ 6s] [4/11] preinstalling libdb-4_8... [ 6s] [5/11] preinstalling libmnl0... [ 6s] [6/11] preinstalling libsmartcols1... [ 6s] [7/11] preinstalling libuuid1... [ 6s] [8/11] preinstalling iproute2... [ 6s] [9/11] preinstalling libmount1... [ 6s] [10/11] preinstalling perl-base... [ 7s] [11/11] preinstalling util-linux... [ 7s] copying packages... [ 16s] cp: error reading '/var/cache/obs/worker/root_2/.mount/.init_b_cache/rpms/gcc11.rpm': Input/output error [ 16s] [ 16s] cloud103 failed "build osmo-sip-connector.spec" at Tue Jul 13 00:34:09 UTC 2021. [ 16s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue Jul 13 07:40:24 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 13 Jul 2021 07:40:24 +0000 Subject: Change in osmo-ci[master]: lint: ignore PREFER_DEFINED_ATTRIBUTE_MACRO In-Reply-To: References: Message-ID: osmith has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-ci/+/24921 ) Change subject: lint: ignore PREFER_DEFINED_ATTRIBUTE_MACRO ...................................................................... lint: ignore PREFER_DEFINED_ATTRIBUTE_MACRO Don't complain that macros such as __packed should be used, which are defined in the Linux kernel but not in libosmocore. For example: src/gsm/gsm0808.c:85: WARNING:PREFER_DEFINED_ATTRIBUTE_MACRO: Prefer __packed over __attribute__((packed)) Related: OS#5087 Change-Id: I2bf3b7d60e99cf91f7b619af54167a11cdfae8c6 --- M lint/checkpatch/checkpatch_osmo.sh 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/21/24921/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24921 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I2bf3b7d60e99cf91f7b619af54167a11cdfae8c6 Gerrit-Change-Number: 24921 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 13 07:43:06 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 13 Jul 2021 07:43:06 +0000 Subject: Change in libosmocore[master]: gprs_ns2: ensure the NSE becomes dead when FR link went down In-Reply-To: References: Message-ID: daniel has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24922 ) Change subject: gprs_ns2: ensure the NSE becomes dead when FR link went down ...................................................................... gprs_ns2: ensure the NSE becomes dead when FR link went down The FR code is using force unconfigured to change the state of the NSVC when the FR link goes down. The force unconfigured state didn't notified the NSE when changing into this state. Related: SYS#5533 Change-Id: I4d7bbbbce26f7cde99eebe96995c50b1e812e5bd --- M src/gb/gprs_ns2_vc_fsm.c M tests/gb/gprs_ns2_test.c M tests/gb/gprs_ns2_test.ok 3 files changed, 61 insertions(+), 0 deletions(-) Approvals: daniel: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gb/gprs_ns2_vc_fsm.c b/src/gb/gprs_ns2_vc_fsm.c index 4dc0536..1fcc3ad 100644 --- a/src/gb/gprs_ns2_vc_fsm.c +++ b/src/gb/gprs_ns2_vc_fsm.c @@ -254,7 +254,10 @@ static void ns2_st_unconfigured_onenter(struct osmo_fsm_inst *fi, uint32_t old_state) { + struct gprs_ns2_vc_priv *priv = fi->priv; + stop_test_procedure(fi->priv); + ns2_nse_notify_unblocked(priv->nsvc, false); } static void ns2_st_unconfigured(struct osmo_fsm_inst *fi, uint32_t event, void *data) diff --git a/tests/gb/gprs_ns2_test.c b/tests/gb/gprs_ns2_test.c index b96e739..ad78a62 100644 --- a/tests/gb/gprs_ns2_test.c +++ b/tests/gb/gprs_ns2_test.c @@ -592,6 +592,56 @@ printf("--- Finish unitdata test\n"); } +void test_unconfigured(void *ctx) +{ + struct gprs_ns2_inst *nsi; + struct gprs_ns2_vc_bind *bind[2]; + struct gprs_ns2_vc_bind *loopbind; + struct gprs_ns2_nse *nse; + struct gprs_ns2_vc *nsvc[2]; + struct gprs_ns2_vc *loop[2]; + + char idbuf[32]; + int i; + + printf("--- Testing force unconfigured\n"); + osmo_wqueue_clear(unitdata); + printf("---- Create NSE + Binds\n"); + nsi = gprs_ns2_instantiate(ctx, ns_prim_cb, NULL); + bind[0] = dummy_bind(nsi, "bblock1"); + bind[1] = dummy_bind(nsi, "bblock2"); + loopbind = loopback_bind(nsi, "loopback"); + nse = gprs_ns2_create_nse(nsi, 1004, GPRS_NS2_LL_UDP, GPRS_NS2_DIALECT_STATIC_RESETBLOCK); + OSMO_ASSERT(nse); + + for (i=0; i<2; i++) { + printf("---- Create NSVC[%d]\n", i); + snprintf(idbuf, sizeof(idbuf), "NSE%05u-dummy-%i", nse->nsei, i); + nsvc[i] = ns2_vc_alloc(bind[i], nse, false, GPRS_NS2_VC_MODE_BLOCKRESET, idbuf); + loop[i] = loopback_nsvc(loopbind, nsvc[i]); + OSMO_ASSERT(nsvc[i]); + ns2_vc_fsm_start(nsvc[i]); + OSMO_ASSERT(!ns2_vc_is_unblocked(nsvc[i])); + ns2_tx_reset(loop[i], NS_CAUSE_OM_INTERVENTION); + ns2_tx_unblock(loop[i]); + OSMO_ASSERT(ns2_vc_is_unblocked(nsvc[i])); + } + + /* both nsvcs are unblocked and alive */ + printf("---- Check if NSE is alive\n"); + OSMO_ASSERT(nse->alive); + + ns2_vc_force_unconfigured(nsvc[0]); + OSMO_ASSERT(nse->alive); + + ns2_vc_force_unconfigured(nsvc[1]); + printf("---- Check if NSE is dead\n"); + OSMO_ASSERT(!nse->alive); + + gprs_ns2_free(nsi); + printf("--- Finish force unconfigured test\n"); +} + int main(int argc, char **argv) { void *ctx = talloc_named_const(NULL, 0, "gprs_ns2_test"); @@ -611,6 +661,7 @@ test_block_unblock_nsvc2(ctx); test_unitdata(ctx); test_unitdata_weights(ctx); + test_unconfigured(ctx); test_mtu(ctx); printf("===== NS2 protocol test END\n\n"); diff --git a/tests/gb/gprs_ns2_test.ok b/tests/gb/gprs_ns2_test.ok index 148b6a4..16e66bb 100644 --- a/tests/gb/gprs_ns2_test.ok +++ b/tests/gb/gprs_ns2_test.ok @@ -33,6 +33,13 @@ ---- Send UNITDATA to all NSVCs ---- Send BSSGP data to the NSE to test unitdata over NSVC[1] --- Finish unitdata weight test +--- Testing force unconfigured +---- Create NSE + Binds +---- Create NSVC[0] +---- Create NSVC[1] +---- Check if NSE is alive +---- Check if NSE is dead +--- Finish force unconfigured test --- Testing mtu test ---- Create NSE + Binds ---- Create NSVC[0] -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24922 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4d7bbbbce26f7cde99eebe96995c50b1e812e5bd Gerrit-Change-Number: 24922 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 13 08:32:46 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 13 Jul 2021 08:32:46 +0000 Subject: Change in osmo-ci[master]: lint: ignore PREFER_DEFINED_ATTRIBUTE_MACRO In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24921 ) Change subject: lint: ignore PREFER_DEFINED_ATTRIBUTE_MACRO ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24921 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I2bf3b7d60e99cf91f7b619af54167a11cdfae8c6 Gerrit-Change-Number: 24921 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 13 Jul 2021 08: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 Tue Jul 13 09:38:32 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 13 Jul 2021 09:38:32 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: fix potential NULL-pointer dereference In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24908 ) Change subject: lchan_fsm: fix potential NULL-pointer dereference ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24908 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I373855b95f8bde0ce8f9c2ae7bf95c9135d33484 Gerrit-Change-Number: 24908 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 13 Jul 2021 09:38:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 13 09:38:37 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 13 Jul 2021 09:38:37 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: fix potential NULL-pointer dereference In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24908 ) Change subject: lchan_fsm: fix potential NULL-pointer dereference ...................................................................... lchan_fsm: fix potential NULL-pointer dereference Change-Id: I373855b95f8bde0ce8f9c2ae7bf95c9135d33484 Related: SYS#5526 --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 15 insertions(+), 3 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 7b89b2d..c9222c2 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -142,9 +142,21 @@ case ACTIVATE_FOR_ASSIGNMENT: LOG_LCHAN(lchan, LOGL_NOTICE, "Signalling Assignment FSM of error (%s)\n", lchan->last_error ? : "unknown error"); - _osmo_fsm_inst_dispatch(for_conn->assignment.fi, ASSIGNMENT_EV_LCHAN_ERROR, lchan, - file, line); - return; + if (!for_conn) { + LOG_LCHAN(lchan, LOGL_ERROR, + "lchan activation for Assignment failed, but activation request has" + " no conn\n"); + break; + } + if (!for_conn->assignment.fi) { + LOG_LCHAN(lchan, LOGL_ERROR, + "lchan activation for Assignment failed, but conn has no ongoing" + " assignment procedure\n"); + break; + } + _osmo_fsm_inst_dispatch(for_conn->assignment.fi, ASSIGNMENT_EV_LCHAN_ERROR, + lchan, file, line); + break; case ACTIVATE_FOR_HANDOVER: LOG_LCHAN(lchan, LOGL_NOTICE, "Signalling Handover FSM of error (%s)\n", -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24908 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I373855b95f8bde0ce8f9c2ae7bf95c9135d33484 Gerrit-Change-Number: 24908 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria 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 Tue Jul 13 10:41:59 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 13 Jul 2021 10:41:59 +0000 Subject: Change in osmo-bsc[master]: bsc_vty: add vty option to allow call-reestablishment In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24903 ) Change subject: bsc_vty: add vty option to allow call-reestablishment ...................................................................... bsc_vty: add vty option to allow call-reestablishment The rach control parameter value that controls the usage of call-reestablishment is currently hardcoded. Lets add a VTY option for this so that we are able to configure call-reestablishment Change-Id: Ia18c1dde4c001cb4d423f694f8bc146adfd77daf Related: SYS#5130 --- M src/osmo-bsc/bsc_vty.c 1 file changed, 23 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 9c1813d..97dd615 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -1102,6 +1102,8 @@ vty_out(vty, " cell barred 1%s", VTY_NEWLINE); if ((bts->si_common.rach_control.t2 & 0x4) == 0) vty_out(vty, " rach emergency call allowed 1%s", VTY_NEWLINE); + if (bts->si_common.rach_control.re == 0) + vty_out(vty, " rach call-reestablishment allowed 1%s", VTY_NEWLINE); if ((bts->si_common.rach_control.t3) != 0) for (i = 0; i < 8; i++) if (bts->si_common.rach_control.t3 & (0x1 << i)) @@ -3171,6 +3173,26 @@ return CMD_SUCCESS; } +DEFUN_USRATTR(cfg_bts_rach_re_allowed, + cfg_bts_rach_re_allowed_cmd, + X(BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK), + "rach call-reestablishment allowed (0|1)", + RACH_STR + "Resume calls after radio link failure\n" + "Resume calls after radio link failure\n" + "Forbid MS to reestablish calls\n" + "Allow MS to try to reestablish calls\n") +{ + struct gsm_bts *bts = vty->index; + + if (atoi(argv[0]) == 0) + bts->si_common.rach_control.re = 1; + else + bts->si_common.rach_control.re = 0; + + return CMD_SUCCESS; +} + DEFUN_USRATTR(cfg_bts_rach_ac_class, cfg_bts_rach_ac_class_cmd, X(BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK), @@ -8117,6 +8139,7 @@ install_element(BTS_NODE, &cfg_bts_rach_nm_ldavg_cmd); install_element(BTS_NODE, &cfg_bts_cell_barred_cmd); install_element(BTS_NODE, &cfg_bts_rach_ec_allowed_cmd); + install_element(BTS_NODE, &cfg_bts_rach_re_allowed_cmd); install_element(BTS_NODE, &cfg_bts_rach_ac_class_cmd); install_element(BTS_NODE, &cfg_bts_ms_max_power_cmd); install_element(BTS_NODE, &cfg_bts_cell_resel_hyst_cmd); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24903 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia18c1dde4c001cb4d423f694f8bc146adfd77daf Gerrit-Change-Number: 24903 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 13 10:59:43 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 13 Jul 2021 10:59:43 +0000 Subject: Change in libosmocore[master]: vty: add "show uptime" 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/+/24924 to look at the new patch set (#2). Change subject: vty: add "show uptime" ...................................................................... vty: add "show uptime" Related: OS#4609 Change-Id: Ic7d9d5d3c8a9abd06a7e626aed7679f68406040c --- M src/vty/command.c 1 file changed, 23 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/24/24924/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24924 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic7d9d5d3c8a9abd06a7e626aed7679f68406040c Gerrit-Change-Number: 24924 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 13 10:59:43 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 13 Jul 2021 10:59:43 +0000 Subject: Change in libosmocore[master]: vty: add "show pid" 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/+/24925 to look at the new patch set (#2). Change subject: vty: add "show pid" ...................................................................... vty: add "show pid" Related: OS#4609 Change-Id: Ib636050afc1eed134f450f2f1cdd3b51153b0160 --- M src/vty/command.c 1 file changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/25/24925/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24925 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib636050afc1eed134f450f2f1cdd3b51153b0160 Gerrit-Change-Number: 24925 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 13 10:59:43 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 13 Jul 2021 10:59:43 +0000 Subject: Change in libosmocore[master]: vty: add "shutdown" In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/24926 to look at the new patch set (#2). Change subject: vty: add "shutdown" ...................................................................... vty: add "shutdown" Lots of Osmocom applications don't use the osmo_select_shutdown_done() command in their main loop (e.g. OsmoMSC, OsmoHLR, ...) so let them take their usual exit path by killing with SIGTERM. Since that doesn't cause pending OSMO_FD_WRITE requests to get serviced (tested with OsmoMGW, OsmoBSC), run the select shutdown logic beforehand. Closes: OS#4609 Change-Id: I3596a35b0f4a24e49484ec3f24a98e4d4f583e1e --- M src/vty/command.c 1 file changed, 25 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/26/24926/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24926 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3596a35b0f4a24e49484ec3f24a98e4d4f583e1e Gerrit-Change-Number: 24926 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 13 11:00:18 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 13 Jul 2021 11:00:18 +0000 Subject: Change in libosmocore[master]: vty: add "show uptime" In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24924 ) Change subject: vty: add "show uptime" ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/c/libosmocore/+/24924/1/src/vty/command.c File src/vty/command.c: https://gerrit.osmocom.org/c/libosmocore/+/24924/1/src/vty/command.c at 67 PS1, Line 67: time_t uptime; > static Done https://gerrit.osmocom.org/c/libosmocore/+/24924/1/src/vty/command.c at 4345 PS1, Line 4345: uptime = time(NULL); > what about calling it in a lib constructor? this way we ensure it's set as soon as the process is lo [?] Done -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24924 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic7d9d5d3c8a9abd06a7e626aed7679f68406040c Gerrit-Change-Number: 24924 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 13 Jul 2021 11:00:18 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 13 11:01:14 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 13 Jul 2021 11:01:14 +0000 Subject: Change in osmo-ci[master]: lint: checkpatch.pl: complain about %i in printf References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/24927 ) Change subject: lint: checkpatch.pl: complain about %i in printf ...................................................................... lint: checkpatch.pl: complain about %i in printf Pau has to remind me often that %d is used instead of %i in Osmocom trees, so let's automate it. Complain like this: src/vty/command.c:3052: WARNING:PRINTF_I_OSMO: Use %d instead of %i Related: OS#5087 Change-Id: I1a98326f1cbf4d2e0bb948558e5cd1726b0a9868 --- M lint/checkpatch/checkpatch.pl 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/27/24927/1 diff --git a/lint/checkpatch/checkpatch.pl b/lint/checkpatch/checkpatch.pl index 834b435..7d5c043 100755 --- a/lint/checkpatch/checkpatch.pl +++ b/lint/checkpatch/checkpatch.pl @@ -6170,6 +6170,7 @@ # check for non-standard and hex prefixed decimal printf formats my $show_L = 1; #don't show the same defect twice my $show_Z = 1; + my $show_i = 1; while ($line =~ /(?:^|")([X\t]*)(?:"|$)/g) { my $string = substr($rawline, $-[1], $+[1] - $-[1]); $string =~ s/%%/__/g; @@ -6185,6 +6186,11 @@ "%Z$1 is non-standard C, use %z$1\n" . $herecurr); $show_Z = 0; } + if ($show_i && $string =~ /%[\*\d\.\$]*i/) { # Osmocom specific + WARN("PRINTF_I_OSMO", + "Use %d instead of %i\n" . $herecurr); + $show_i = 0; + } # check for 0x if ($string =~ /0x%[\*\d\.\$\Llzth]*[diou]/) { ERROR("PRINTF_0XDECIMAL", -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24927 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I1a98326f1cbf4d2e0bb948558e5cd1726b0a9868 Gerrit-Change-Number: 24927 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 Jul 13 11:01:50 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 13 Jul 2021 11:01:50 +0000 Subject: Change in libosmocore[master]: vty: add "show pid" In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24925 ) Change subject: vty: add "show pid" ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24925/1/src/vty/command.c File src/vty/command.c: https://gerrit.osmocom.org/c/libosmocore/+/24925/1/src/vty/command.c at 3047 PS1, Line 3047: return CMD_SUCCESS; > we usually use %d I keep forgetting this... added it to the linter so you don't need to remind me all the time :) https://gerrit.osmocom.org/c/osmo-ci/+/24927 (was quite easy since there's printf logic already) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24925 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib636050afc1eed134f450f2f1cdd3b51153b0160 Gerrit-Change-Number: 24925 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 13 Jul 2021 11:01:50 +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 Jul 13 11:02:48 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 13 Jul 2021 11:02:48 +0000 Subject: Change in libosmocore[master]: vty: add "shutdown" In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24926 ) Change subject: vty: add "shutdown" ...................................................................... Patch Set 2: > Patch Set 1: > > Why not simply sending some signal() to the process itself and let usual SIGINT or alike take the usual exit path? I've tried it, but found that it doesn't nicely service the pending writes before quitting, at least with the programs I've tested. So I did a combination of both that doesn't need setting the variable in every loop. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24926 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3596a35b0f4a24e49484ec3f24a98e4d4f583e1e Gerrit-Change-Number: 24926 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 13 Jul 2021 11:02: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 Jul 13 11:13:49 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 13 Jul 2021 11:13:49 +0000 Subject: Change in osmo-bts[master]: paging: prioritize CS related paging over PS related pagings. In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24658 ) Change subject: paging: prioritize CS related paging over PS related pagings. ...................................................................... Patch Set 8: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24658 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I30f97672d7a0c369c4a656e878ab8cbbd83e31ea Gerrit-Change-Number: 24658 Gerrit-PatchSet: 8 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 13 Jul 2021 11:13:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 13 11:27:37 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 13 Jul 2021 11:27:37 +0000 Subject: Change in libosmocore[master]: vty: add "show uptime" In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24924 ) Change subject: vty: add "show uptime" ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24924 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic7d9d5d3c8a9abd06a7e626aed7679f68406040c Gerrit-Change-Number: 24924 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 13 Jul 2021 11:27:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 13 11:27:49 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 13 Jul 2021 11:27:49 +0000 Subject: Change in osmo-ci[master]: lint: checkpatch.pl: complain about %i in printf In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24927 ) Change subject: lint: checkpatch.pl: complain about %i in printf ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24927 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I1a98326f1cbf4d2e0bb948558e5cd1726b0a9868 Gerrit-Change-Number: 24927 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 13 Jul 2021 11:27:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 13 11:28:21 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 13 Jul 2021 11:28:21 +0000 Subject: Change in libosmocore[master]: vty: add "show pid" In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24925 ) Change subject: vty: add "show pid" ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24925 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib636050afc1eed134f450f2f1cdd3b51153b0160 Gerrit-Change-Number: 24925 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 13 Jul 2021 11:28:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 13 11:30:40 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 13 Jul 2021 11:30:40 +0000 Subject: Change in libosmocore[master]: vty: add "shutdown" In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24926 ) Change subject: vty: add "shutdown" ...................................................................... Patch Set 2: > Patch Set 2: > > > Patch Set 1: > > > > Why not simply sending some signal() to the process itself and let usual SIGINT or alike take the usual exit path? > > I've tried it, but found that it doesn't nicely service the pending writes before quitting, at least with the programs I've tested. So I did a combination of both that doesn't need setting the variable in every loop. I would really avoid having a separate shutdown procedure/steps done when triggering by VTY. If the app doesn't support proper shutdown in usual case, I think it's dangerous doing so through VTY. So I'd vote for going the way I mentioned (sending signal SIGTERM or similar), and if specific apps don't behave as expected, then fix the usual shutdown path (SIGTERM or alike, usually sent by user or systemd). -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24926 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3596a35b0f4a24e49484ec3f24a98e4d4f583e1e Gerrit-Change-Number: 24926 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 13 Jul 2021 11:30:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 13 12:18:20 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 13 Jul 2021 12:18:20 +0000 Subject: Change in osmo-mgw[master]: mgcp_trunk: add value string for trunk type. References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24928 ) Change subject: mgcp_trunk: add value string for trunk type. ...................................................................... mgcp_trunk: add value string for trunk type. Change-Id: I634fb2a03744117e976430468ab5c57d50ab0089 --- M include/osmocom/mgcp/mgcp_trunk.h M src/libosmo-mgcp/mgcp_trunk.c 2 files changed, 10 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/28/24928/1 diff --git a/include/osmocom/mgcp/mgcp_trunk.h b/include/osmocom/mgcp/mgcp_trunk.h index c62f731..326b16a 100644 --- a/include/osmocom/mgcp/mgcp_trunk.h +++ b/include/osmocom/mgcp/mgcp_trunk.h @@ -13,6 +13,10 @@ MGCP_TRUNK_E1, }; +extern const struct value_string mgcp_trunk_type_strs[]; +static inline const char *mgcp_trunk_type_strs_str(enum mgcp_trunk_type val) +{ return get_value_string(mgcp_trunk_type_strs, val); } + struct mgcp_trunk { struct llist_head entry; diff --git a/src/libosmo-mgcp/mgcp_trunk.c b/src/libosmo-mgcp/mgcp_trunk.c index 8ff6f6a..5c9a888 100644 --- a/src/libosmo-mgcp/mgcp_trunk.c +++ b/src/libosmo-mgcp/mgcp_trunk.c @@ -28,6 +28,12 @@ #include #include +const struct value_string mgcp_trunk_type_strs[] = { + { MGCP_TRUNK_VIRTUAL, "virtual" }, + { MGCP_TRUNK_E1, "e1" }, + { 0, NULL } +}; + /*! allocate trunk and add it (if required) to the trunk list. * (called once at startup by VTY). * \param[in] cfg mgcp configuration. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24928 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I634fb2a03744117e976430468ab5c57d50ab0089 Gerrit-Change-Number: 24928 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 Jul 13 12:18:20 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 13 Jul 2021 12:18:20 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: refactor rate counter and set group name References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24929 ) Change subject: mgcp_ratectr: refactor rate counter and set group name ...................................................................... mgcp_ratectr: refactor rate counter and set group name The rate counter group is currently only referenced by an index. In a system with multiple trunks this makes it difficult to say which rate counter group belongs to which trunk sinde the index that is used does not necessarly corespond to a specific trunk. Since rate counter groups can now get a human readable name assigned, we should do that. Also E1 specific rate counters only make sense for E1-trunks, so they should not be present on the virtual trunk. Change-Id: I5e7f0e9081a06af48e284afa5c36a095b2847704 --- M include/osmocom/mgcp/mgcp_ratectr.h M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_ratectr.c M src/libosmo-mgcp/mgcp_trunk.c 4 files changed, 51 insertions(+), 27 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/29/24929/1 diff --git a/include/osmocom/mgcp/mgcp_ratectr.h b/include/osmocom/mgcp/mgcp_ratectr.h index 84315e0..78c687b 100644 --- a/include/osmocom/mgcp/mgcp_ratectr.h +++ b/include/osmocom/mgcp/mgcp_ratectr.h @@ -90,5 +90,8 @@ struct rate_ctr_group *e1_stats; }; -int mgcp_ratectr_global_alloc(void *ctx, struct mgcp_ratectr_global *ratectr); -int mgcp_ratectr_trunk_alloc(void *ctx, struct mgcp_ratectr_trunk *ratectr); +struct mgcp_config; +struct mgcp_trunk; + +int mgcp_ratectr_global_alloc(struct mgcp_config *cfg); +int mgcp_ratectr_trunk_alloc(struct mgcp_trunk *trunk); diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index 29d27d4..bab1373 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -1560,7 +1560,7 @@ return NULL; } - mgcp_ratectr_global_alloc(cfg, &cfg->ratectr); + mgcp_ratectr_global_alloc(cfg); return cfg; } diff --git a/src/libosmo-mgcp/mgcp_ratectr.c b/src/libosmo-mgcp/mgcp_ratectr.c index 8f3703f..73c2149 100644 --- a/src/libosmo-mgcp/mgcp_ratectr.c +++ b/src/libosmo-mgcp/mgcp_ratectr.c @@ -25,6 +25,7 @@ #include #include #include +#include #include static const struct rate_ctr_desc mgcp_general_ctr_desc[] = { @@ -153,75 +154,95 @@ return 0; } -/*! allocate global rate counters into a given rate counter struct - * (called once at startup) - * \param[in] ctx talloc context. - * \param[out] ratectr struct that holds the counters - * \returns 0 on success, -EINVAL on failure */ -int mgcp_ratectr_global_alloc(void *ctx, struct mgcp_ratectr_global *ratectr) +/*! allocate global rate counters + * (called once at startup). + * \param[in] cfg mgw configuration for which the rate counters are allocated. + * \returns 0 on success, -EINVAL on failure. */ +int mgcp_ratectr_global_alloc(struct mgcp_config *cfg) { - /* FIXME: Each new rate counter group requires a unique index. At the - * moment we generate an index using a counter, but perhaps there is - * a better way of assigning indices? */ + struct mgcp_ratectr_global *ratectr = &cfg->ratectr; static unsigned int general_rate_ctr_index = 0; + char ctr_name[512]; if (ratectr->mgcp_general_ctr_group == NULL) { ratectr->mgcp_general_ctr_group = - rate_ctr_group_alloc(ctx, &mgcp_general_ctr_group_desc, general_rate_ctr_index); + rate_ctr_group_alloc(cfg, &mgcp_general_ctr_group_desc, general_rate_ctr_index); if (!ratectr->mgcp_general_ctr_group) return -EINVAL; + snprintf(ctr_name, sizeof(ctr_name), "%s:general", cfg->domain); + rate_ctr_group_set_name(ratectr->mgcp_general_ctr_group, ctr_name); talloc_set_destructor(ratectr->mgcp_general_ctr_group, free_rate_counter_group); general_rate_ctr_index++; } return 0; } -/*! allocate trunk specific rate counters into a given rate counter struct - * (called once on trunk initialization) - * \param[in] ctx talloc context. - * \param[out] ratectr struct that holds the counters +/*! allocate trunk specific rate counters + * (called once on trunk initialization). + * \param[in] trunk mgw trunk for which the rate counters are allocated. * \returns 0 on success, -EINVAL on failure */ -int mgcp_ratectr_trunk_alloc(void *ctx, struct mgcp_ratectr_trunk *ratectr) +int mgcp_ratectr_trunk_alloc(struct mgcp_trunk *trunk) { - /* FIXME: see comment in mgcp_ratectr_global_alloc() */ + struct mgcp_ratectr_trunk *ratectr = &trunk->ratectr; static unsigned int crcx_rate_ctr_index = 0; static unsigned int mdcx_rate_ctr_index = 0; static unsigned int dlcx_rate_ctr_index = 0; static unsigned int all_rtp_conn_rate_ctr_index = 0; + char ctr_name[256]; if (ratectr->mgcp_crcx_ctr_group == NULL) { - ratectr->mgcp_crcx_ctr_group = rate_ctr_group_alloc(ctx, &mgcp_crcx_ctr_group_desc, crcx_rate_ctr_index); + ratectr->mgcp_crcx_ctr_group = + rate_ctr_group_alloc(trunk, &mgcp_crcx_ctr_group_desc, crcx_rate_ctr_index); if (!ratectr->mgcp_crcx_ctr_group) return -EINVAL; + snprintf(ctr_name, sizeof(ctr_name), "%s-%i:crcx", mgcp_trunk_type_strs_str(trunk->trunk_type), + trunk->trunk_nr); + rate_ctr_group_set_name(ratectr->mgcp_crcx_ctr_group, ctr_name); talloc_set_destructor(ratectr->mgcp_crcx_ctr_group, free_rate_counter_group); crcx_rate_ctr_index++; } if (ratectr->mgcp_mdcx_ctr_group == NULL) { - ratectr->mgcp_mdcx_ctr_group = rate_ctr_group_alloc(ctx, &mgcp_mdcx_ctr_group_desc, mdcx_rate_ctr_index); + ratectr->mgcp_mdcx_ctr_group = + rate_ctr_group_alloc(trunk, &mgcp_mdcx_ctr_group_desc, mdcx_rate_ctr_index); if (!ratectr->mgcp_mdcx_ctr_group) return -EINVAL; + snprintf(ctr_name, sizeof(ctr_name), "%s-%i:mdcx", mgcp_trunk_type_strs_str(trunk->trunk_type), + trunk->trunk_nr); + rate_ctr_group_set_name(ratectr->mgcp_mdcx_ctr_group, ctr_name); talloc_set_destructor(ratectr->mgcp_mdcx_ctr_group, free_rate_counter_group); mdcx_rate_ctr_index++; } if (ratectr->mgcp_dlcx_ctr_group == NULL) { - ratectr->mgcp_dlcx_ctr_group = rate_ctr_group_alloc(ctx, &mgcp_dlcx_ctr_group_desc, dlcx_rate_ctr_index); + ratectr->mgcp_dlcx_ctr_group = + rate_ctr_group_alloc(trunk, &mgcp_dlcx_ctr_group_desc, dlcx_rate_ctr_index); if (!ratectr->mgcp_dlcx_ctr_group) return -EINVAL; + snprintf(ctr_name, sizeof(ctr_name), "%s-%i:dlcx", mgcp_trunk_type_strs_str(trunk->trunk_type), + trunk->trunk_nr); + rate_ctr_group_set_name(ratectr->mgcp_dlcx_ctr_group, ctr_name); talloc_set_destructor(ratectr->mgcp_dlcx_ctr_group, free_rate_counter_group); dlcx_rate_ctr_index++; } if (ratectr->all_rtp_conn_stats == NULL) { - ratectr->all_rtp_conn_stats = rate_ctr_group_alloc(ctx, &all_rtp_conn_rate_ctr_group_desc, - all_rtp_conn_rate_ctr_index); + ratectr->all_rtp_conn_stats = rate_ctr_group_alloc(trunk, &all_rtp_conn_rate_ctr_group_desc, + all_rtp_conn_rate_ctr_index); if (!ratectr->all_rtp_conn_stats) return -EINVAL; + snprintf(ctr_name, sizeof(ctr_name), "%s-%i:rtp_conn", mgcp_trunk_type_strs_str(trunk->trunk_type), + trunk->trunk_nr); + rate_ctr_group_set_name(ratectr->all_rtp_conn_stats, ctr_name); talloc_set_destructor(ratectr->all_rtp_conn_stats, free_rate_counter_group); all_rtp_conn_rate_ctr_index++; } - if (ratectr->e1_stats == NULL) { - ratectr->e1_stats = rate_ctr_group_alloc(ctx, &e1_rate_ctr_group_desc, mdcx_rate_ctr_index); + + /* E1 specific */ + if (trunk->trunk_type == MGCP_TRUNK_E1 && ratectr->e1_stats == NULL) { + ratectr->e1_stats = rate_ctr_group_alloc(trunk, &e1_rate_ctr_group_desc, mdcx_rate_ctr_index); if (!ratectr->e1_stats) return -EINVAL; + snprintf(ctr_name, sizeof(ctr_name), "%s-%i:e1", mgcp_trunk_type_strs_str(trunk->trunk_type), + trunk->trunk_nr); + rate_ctr_group_set_name(ratectr->e1_stats, ctr_name); talloc_set_destructor(ratectr->e1_stats, free_rate_counter_group); mdcx_rate_ctr_index++; } diff --git a/src/libosmo-mgcp/mgcp_trunk.c b/src/libosmo-mgcp/mgcp_trunk.c index 5c9a888..e1629f1 100644 --- a/src/libosmo-mgcp/mgcp_trunk.c +++ b/src/libosmo-mgcp/mgcp_trunk.c @@ -63,7 +63,7 @@ llist_add_tail(&trunk->entry, &cfg->trunks); - mgcp_ratectr_trunk_alloc(cfg, &trunk->ratectr); + mgcp_ratectr_trunk_alloc(trunk); return trunk; } -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24929 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I5e7f0e9081a06af48e284afa5c36a095b2847704 Gerrit-Change-Number: 24929 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 Jul 13 12:30:58 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 13 Jul 2021 12:30:58 +0000 Subject: Change in osmo-mgw[master]: mgcp_trunk: add value string for trunk type. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24928 ) Change subject: mgcp_trunk: add value string for trunk type. ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24928 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I634fb2a03744117e976430468ab5c57d50ab0089 Gerrit-Change-Number: 24928 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 13 Jul 2021 12:30:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 13 12:34:36 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 13 Jul 2021 12:34:36 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: refactor rate counter and set group name In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24929 ) Change subject: mgcp_ratectr: refactor rate counter and set group name ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/24929/1/src/libosmo-mgcp/mgcp_ratectr.c File src/libosmo-mgcp/mgcp_ratectr.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24929/1/src/libosmo-mgcp/mgcp_ratectr.c at 198 PS1, Line 198: snprintf(ctr_name, sizeof(ctr_name), "%s-%i:crcx", mgcp_trunk_type_strs_str(trunk->trunk_type), we usually use %d in osmocom code (see below too). -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24929 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I5e7f0e9081a06af48e284afa5c36a095b2847704 Gerrit-Change-Number: 24929 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 13 Jul 2021 12:34: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 Jul 13 12:58:43 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 13 Jul 2021 12:58:43 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: refactor rate counter and set group name In-Reply-To: References: Message-ID: Hello Jenkins Builder, neels, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/24929 to look at the new patch set (#2). Change subject: mgcp_ratectr: refactor rate counter and set group name ...................................................................... mgcp_ratectr: refactor rate counter and set group name The rate counter group is currently only referenced by an index. In a system with multiple trunks this makes it difficult to say which rate counter group belongs to which trunk sinde the index that is used does not necessarly corespond to a specific trunk. Since rate counter groups can now get a human readable name assigned, we should do that. Also E1 specific rate counters only make sense for E1-trunks, so they should not be present on the virtual trunk. Change-Id: I5e7f0e9081a06af48e284afa5c36a095b2847704 --- M include/osmocom/mgcp/mgcp_ratectr.h M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_ratectr.c M src/libosmo-mgcp/mgcp_trunk.c 4 files changed, 51 insertions(+), 27 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/29/24929/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24929 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I5e7f0e9081a06af48e284afa5c36a095b2847704 Gerrit-Change-Number: 24929 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 13 12:59:17 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 13 Jul 2021 12:59:17 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: refactor rate counter and set group name In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24929 ) Change subject: mgcp_ratectr: refactor rate counter and set group name ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/24929/1/src/libosmo-mgcp/mgcp_ratectr.c File src/libosmo-mgcp/mgcp_ratectr.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24929/1/src/libosmo-mgcp/mgcp_ratectr.c at 198 PS1, Line 198: snprintf(ctr_name, sizeof(ctr_name), "%s-%i:crcx", mgcp_trunk_type_strs_str(trunk->trunk_type), > we usually use %d in osmocom code (see below too). maybe it is also time for trunk_nr to become an unsigned int - but not now... -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24929 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I5e7f0e9081a06af48e284afa5c36a095b2847704 Gerrit-Change-Number: 24929 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 13 Jul 2021 12:59:17 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 13 13:43:23 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 13 Jul 2021 13:43:23 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: refactor rate counter and set group name In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24929 ) Change subject: mgcp_ratectr: refactor rate counter and set group name ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24929 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I5e7f0e9081a06af48e284afa5c36a095b2847704 Gerrit-Change-Number: 24929 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 13 Jul 2021 13:43:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 13 14:54:45 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 13 Jul 2021 14:54:45 +0000 Subject: Change in osmo-bts[master]: paging: prioritize CS related paging over PS related pagings. In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24658 ) Change subject: paging: prioritize CS related paging over PS related pagings. ...................................................................... Patch Set 8: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24658 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I30f97672d7a0c369c4a656e878ab8cbbd83e31ea Gerrit-Change-Number: 24658 Gerrit-PatchSet: 8 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 13 Jul 2021 14:54: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 Jul 13 19:58:04 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 13 Jul 2021 19:58:04 +0000 Subject: Change in osmo-hlr[master]: db v6: determine 3G AUC IND from VLR name In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/16764 ) Change subject: db v6: determine 3G AUC IND from VLR name ...................................................................... Patch Set 13: (2 comments) https://gerrit.osmocom.org/c/osmo-hlr/+/16764/11/src/db_auc.c File src/db_auc.c: https://gerrit.osmocom.org/c/osmo-hlr/+/16764/11/src/db_auc.c at 210 PS11, Line 210: auc_3g_ind &= (1U << aud3g.u.umts.ind_bitlen) - 1; modulo that the other comment mentions is here https://gerrit.osmocom.org/c/osmo-hlr/+/16764/11/src/db_hlr.c File src/db_hlr.c: https://gerrit.osmocom.org/c/osmo-hlr/+/16764/11/src/db_hlr.c at 936 PS11, Line 936: sqlite3_column_int64 > I didn't see any change so far, or any statement claiming this is not a problem. the IND value is allowed to be arbitrary, the very first step is a modulo by the IND-bitlen. Also the IND-bitlen may vary per subscriber, so it's not just a feature, there is no other way. We use this also to round robin a subscriber's IND-bits, assuming the IND value assigned to RAN peers (MSC,SGSN) is dealt out in increments of 1. In other words: totally fine if the value is completely random, expected to grow indefinitely. -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16764 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I6f0a6bbef3a27507605c3b4a0e1a89bdfd468374 Gerrit-Change-Number: 16764 Gerrit-PatchSet: 13 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 13 Jul 2021 19:58:04 +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 Jul 13 20:01:18 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 13 Jul 2021 20:01:18 +0000 Subject: Change in osmo-hlr[master]: db v6: determine 3G AUC IND from VLR name In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-hlr/+/16764 to look at the new patch set (#14). Change subject: db v6: determine 3G AUC IND from VLR name ...................................................................... db v6: determine 3G AUC IND from VLR name Each VLR requesting auth tuples should use a distinct IND pool for 3G auth. So far we tied the IND to the GSUP peer connection; MSC and SGSN were always distinct GSUP peers, they ended up using distinct INDs. However, we have implemented a GSUP proxy, so that, in a distributed setup, a remotely roaming subscriber has only one direct GSUP peer proxying for both remote MSC and SGSN. That means as soon as a subscriber roams to a different site, we would use the GSUP proxy name to determine the IND instead of the separate MSC and SGSN. The site's MSC and SGSN appear as the same client, get the same IND bucket, waste SQNs rapidly and cause auth tuple generation load. So instead of using the local client as IND, persistently keep a list of VLR names and assign a different IND to each. Use the gsup_req->source_name as indicator, which reflects the actual remote VLR's name (remote MSC or SGSN). Persist the site <-> IND assignments in the database. Add an IND test to db_test.c There was an earlier patch version that separated the IND pools by cn_domain, but it turned out to add complex semantics, while only solving one aspect of the "adjacent VLR" problem. We need a solution not only for CS vs PS, but also for 2,3G vs 4G, and for sites that are physically adjacent to each other. This patch version does not offer any automatic solution for that -- as soon as more than 2^IND_bitlen (usually 32) VLRs show up, it is the responsibility of the admin to ensure the 'ind' table in the hlr.db does not have unfortunate IND assignments. So far no VTY commands exist for that, they may be added in the future. Related: OS#4319 Change-Id: I6f0a6bbef3a27507605c3b4a0e1a89bdfd468374 --- M configure.ac M include/osmocom/hlr/db.h M include/osmocom/hlr/gsup_server.h M sql/hlr.sql M src/db.c M src/db_hlr.c M src/gsup_server.c M src/hlr.c M src/hlr_vty.c M tests/Makefile.am M tests/db/db_test.c M tests/db/db_test.err M tests/db_upgrade/db_upgrade_test.ok D tests/gsup_server/Makefile.am D tests/gsup_server/gsup_server_test.c D tests/gsup_server/gsup_server_test.err D tests/gsup_server/gsup_server_test.ok M tests/testsuite.at 18 files changed, 296 insertions(+), 341 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/64/16764/14 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16764 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I6f0a6bbef3a27507605c3b4a0e1a89bdfd468374 Gerrit-Change-Number: 16764 Gerrit-PatchSet: 14 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 13 20:15:04 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 13 Jul 2021 20:15:04 +0000 Subject: Change in osmo-hlr[master]: db v6: determine 3G AUC IND from VLR name In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-hlr/+/16764 to look at the new patch set (#15). Change subject: db v6: determine 3G AUC IND from VLR name ...................................................................... db v6: determine 3G AUC IND from VLR name Each VLR requesting auth tuples should use a distinct IND pool for 3G auth. So far we tied the IND to the GSUP peer connection; MSC and SGSN were always distinct GSUP peers, they ended up using distinct INDs. However, we have implemented a GSUP proxy, so that, in a distributed setup, a remotely roaming subscriber has only one direct GSUP peer proxying for both remote MSC and SGSN. That means as soon as a subscriber roams to a different site, we would use the GSUP proxy name to determine the IND instead of the separate MSC and SGSN. The site's MSC and SGSN appear as the same client, get the same IND bucket, waste SQNs rapidly and cause auth tuple generation load. So instead of using the local client as IND, persistently keep a list of VLR names and assign a different IND to each. Use the gsup_req->source_name as indicator, which reflects the actual remote VLR's name (remote MSC or SGSN). Persist the site <-> IND assignments in the database. Add an IND test to db_test.c There was an earlier patch version that separated the IND pools by cn_domain, but it turned out to add complex semantics, while only solving one aspect of the "adjacent VLR" problem. We need a solution not only for CS vs PS, but also for 2,3G vs 4G, and for sites that are physically adjacent to each other. This patch version does not offer any automatic solution for that -- as soon as more than 2^IND_bitlen (usually 32) VLRs show up, it is the responsibility of the admin to ensure the 'ind' table in the hlr.db does not have unfortunate IND assignments. So far no VTY commands exist for that, they may be added in the future. Related: OS#4319 Change-Id: I6f0a6bbef3a27507605c3b4a0e1a89bdfd468374 --- M configure.ac M include/osmocom/hlr/db.h M include/osmocom/hlr/gsup_server.h M sql/hlr.sql M src/db.c M src/db_hlr.c M src/gsup_server.c M src/hlr.c M src/hlr_vty.c M tests/Makefile.am M tests/db/db_test.c M tests/db/db_test.err M tests/db_upgrade/db_upgrade_test.ok D tests/gsup_server/Makefile.am D tests/gsup_server/gsup_server_test.c D tests/gsup_server/gsup_server_test.err D tests/gsup_server/gsup_server_test.ok M tests/testsuite.at 18 files changed, 296 insertions(+), 341 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/64/16764/15 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16764 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I6f0a6bbef3a27507605c3b4a0e1a89bdfd468374 Gerrit-Change-Number: 16764 Gerrit-PatchSet: 15 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 13 23:22:23 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 13 Jul 2021 23:22:23 +0000 Subject: Change in osmo-bsc[master]: ensure trigger_ho() returns zero only when HO or AS was indeed triggered References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24930 ) Change subject: ensure trigger_ho() returns zero only when HO or AS was indeed triggered ...................................................................... ensure trigger_ho() returns zero only when HO or AS was indeed triggered In an upcoming patch, handover_decision_2.c will use this indicator to decide whether to start a penalty timer: "hodec2: add low-rxqual-assignment penalty timer (2/2)" Id00a07313fe04eec509b336c0637b59c707760e0 Related: SYS#5198 Change-Id: I5de385e0666f716184a62e6e70d656545ac5d2ee --- M include/osmocom/bsc/handover_fsm.h M src/osmo-bsc/handover_decision_2.c M src/osmo-bsc/handover_fsm.c 3 files changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/30/24930/1 diff --git a/include/osmocom/bsc/handover_fsm.h b/include/osmocom/bsc/handover_fsm.h index 1628d8f..052e09d 100644 --- a/include/osmocom/bsc/handover_fsm.h +++ b/include/osmocom/bsc/handover_fsm.h @@ -57,7 +57,7 @@ void handover_fsm_init(); -void handover_request(struct handover_out_req *req); +int handover_request(struct handover_out_req *req); void handover_start(struct handover_out_req *req); void handover_start_inter_bsc_in(struct gsm_subscriber_connection *conn, struct msgb *ho_request_msg); diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index 3fa1084..3ebce90 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -854,7 +854,7 @@ if ((requirements & REQUIREMENT_TCHF_MASK)) { if (c->current.bts == c->target.bts) { LOGPHOLCHAN(c->current.lchan, LOGL_INFO, "Not performing assignment: Already on target type\n"); - return 0; + return -EALREADY; } full_rate = true; break; @@ -899,8 +899,8 @@ LOGPHOLCHAN(c->current.lchan, LOGL_NOTICE, "Triggering assignment to %s, due to %s\n", full_rate ? "TCH/F" : "TCH/H", ho_reason_name(global_ho_reason)); - reassignment_request_to_chan_type(ASSIGN_FOR_CONGESTION_RESOLUTION, c->current.lchan, - full_rate? GSM_LCHAN_TCH_F : GSM_LCHAN_TCH_H); + return reassignment_request_to_chan_type(ASSIGN_FOR_CONGESTION_RESOLUTION, c->current.lchan, + full_rate? GSM_LCHAN_TCH_F : GSM_LCHAN_TCH_H); } else { struct handover_out_req req = { .from_hodec_id = HODEC2, diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index 5f4b892..797a336 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -219,7 +219,7 @@ } while(0) /* issue handover to a cell identified by ARFCN and BSIC */ -void handover_request(struct handover_out_req *req) +int handover_request(struct handover_out_req *req) { struct gsm_subscriber_connection *conn; OSMO_ASSERT(req->old_lchan); @@ -229,7 +229,7 @@ /* To make sure we're allowed to start a handover, go through a gscon event dispatch. If that is accepted, the * same req is passed to handover_start(). */ - osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_HANDOVER_START, req); + return osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_HANDOVER_START, req); } /* Check that ho has old_lchan and/or new_lchan and conn pointers match. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24930 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5de385e0666f716184a62e6e70d656545ac5d2ee Gerrit-Change-Number: 24930 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 Jul 13 23:22:23 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 13 Jul 2021 23:22:23 +0000 Subject: Change in osmo-bsc[master]: handover_test: also show when an lchan is busy References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24931 ) Change subject: handover_test: also show when an lchan is busy ...................................................................... handover_test: also show when an lchan is busy In expect-ts-use, indicate a busy lchan with letter '!'. The code is a bit complex because of the choice made earlier to show two TCH/H subslots as "TCH/HH", "TCH/H-" or "TCH/-H" depending on the subslot states: - show "-" as a shorthand for "all subslots UNUSED" - show a "TCH/" prefix only when there is any "H" or "F" following, i.e. when any subslot is actually established - if a subslot is busy (any other state besides ESTABLISHED and UNUSED), indicate the subslot as '!'. The spectrum of reported state strings for TCH/F is: TCH/F ! - For TCH/H: TCH/HH TCH/H- TCH/-H TCH/H! TCH/!H !- -! - The only current test affected is test_penalty_timer.ho_vty, where a failed handover leaves an lchan in LCHAN_ST_WAIT_AFTER_ERROR. Adjust that test. Rationale: I will soon add tests to verify the accurate timeout of a handover2 penalty timer. While implementing, I noticed that immediate retry of the handover ends up in timeslot 2, because timeslot 1 is still in WAIT_AFTER_ERROR. Instead of working around that, I would like to explicitly show the error state in the test -- it is an important aspect. Related: SYS#5198 Change-Id: I735ce7e2c3e0e450d3f76047d7e47691fe889cad --- M tests/handover/handover_test.c M tests/handover/test_penalty_timer.ho_vty 2 files changed, 33 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/31/24931/1 diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index 2c97f78..60a31be 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -287,6 +287,34 @@ return bts; } +char *lchans_use_str(struct gsm_bts_trx_ts *ts, const char *established_prefix, char established_char) +{ + char state_chars[8] = { 0 }; + struct gsm_lchan *lchan; + bool any_lchans_established = false; + bool any_lchans_in_use = false; + ts_for_n_lchans(lchan, ts, ts->max_primary_lchans) { + char state_char; + if (lchan_state_is(lchan, LCHAN_ST_UNUSED)) { + state_char = '-'; + } else { + any_lchans_in_use = true; + if (lchan_state_is(lchan, LCHAN_ST_ESTABLISHED)) { + any_lchans_established = true; + state_char = established_char; + } else { + state_char = '!'; + } + } + state_chars[lchan->nr] = state_char; + } + if (!any_lchans_in_use) + return "-"; + if (!any_lchans_established) + established_prefix = ""; + return talloc_asprintf(OTC_SELECT, "%s%s", established_prefix, state_chars); +} + const char *ts_use_str(struct gsm_bts_trx_ts *ts) { switch (ts->pchan_is) { @@ -297,20 +325,10 @@ return "-"; case GSM_PCHAN_TCH_F: - if (lchan_state_is(&ts->lchan[0], LCHAN_ST_ESTABLISHED)) - return "TCH/F"; - else - return "-"; + return lchans_use_str(ts, "TCH/", 'F'); case GSM_PCHAN_TCH_H: - if (lchan_state_is(&ts->lchan[0], LCHAN_ST_ESTABLISHED) - && lchan_state_is(&ts->lchan[1], LCHAN_ST_ESTABLISHED)) - return "TCH/HH"; - if (lchan_state_is(&ts->lchan[0], LCHAN_ST_ESTABLISHED)) - return "TCH/H-"; - if (lchan_state_is(&ts->lchan[1], LCHAN_ST_ESTABLISHED)) - return "TCH/-H"; - return "-"; + return lchans_use_str(ts, "TCH/", 'H'); default: return gsm_pchan_name(ts->pchan_is); diff --git a/tests/handover/test_penalty_timer.ho_vty b/tests/handover/test_penalty_timer.ho_vty index 7528a0f..22b9a95 100644 --- a/tests/handover/test_penalty_timer.ho_vty +++ b/tests/handover/test_penalty_timer.ho_vty @@ -9,7 +9,9 @@ expect-chan lchan 1 0 1 0 expect-ho-cmd lchan 0 0 1 0 ho-failed +# first BTS still services the call: expect-ts-use trx 0 0 states * TCH/F - - - - - - -expect-ts-use trx 1 0 states * - - - - - - - +# lchan 1 0 1 0 is in LCHAN_ST_WAIT_AFTER_ERROR because the handover failed: +expect-ts-use trx 1 0 states * ! - - - - - - meas-rep lchan 0 0 1 0 rxlev 20 rxqual 0 ta 0 neighbors 30 expect-no-chan -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24931 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I735ce7e2c3e0e450d3f76047d7e47691fe889cad Gerrit-Change-Number: 24931 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 Jul 13 23:22:24 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 13 Jul 2021 23:22:24 +0000 Subject: Change in osmo-bsc[master]: switch handover penalty timers to CLOCK_MONOTONIC References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24932 ) Change subject: switch handover penalty timers to CLOCK_MONOTONIC ...................................................................... switch handover penalty timers to CLOCK_MONOTONIC To be able to add a fake time to handover tests, the penalty timers need to use an osmo_* time source. There already is a fixme comment rightfully asking for a monotonic clock, so this change is overdue anyway. An upcoming patch will prove that this works: "handover tests: test passing of penalty timeout" I65e59cc7309778cf9d71612669ce84d101c8135e Related: SYS#5198 Change-Id: Ifb1ab3165db50511aed4f65aa445798367d7e19e --- M src/osmo-bsc/penalty_timers.c 1 file changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/32/24932/1 diff --git a/src/osmo-bsc/penalty_timers.c b/src/osmo-bsc/penalty_timers.c index 6890061..124a362 100644 --- a/src/osmo-bsc/penalty_timers.c +++ b/src/osmo-bsc/penalty_timers.c @@ -30,10 +30,10 @@ static unsigned int time_now(void) { - time_t now; - time(&now); - /* FIXME: use monotonic clock */ - return (unsigned int)now; + struct timespec tp; + if (osmo_clock_gettime(CLOCK_MONOTONIC, &tp)) + return 0; + return (unsigned int)tp.tv_sec; } /* Add a penalty timer for a target cell ID. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24932 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifb1ab3165db50511aed4f65aa445798367d7e19e Gerrit-Change-Number: 24932 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 Jul 13 23:22:24 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 13 Jul 2021 23:22:24 +0000 Subject: Change in osmo-bsc[master]: handover_test: add fake-time 'wait' References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24933 ) Change subject: handover_test: add fake-time 'wait' ...................................................................... handover_test: add fake-time 'wait' Add a 'wait' cmd that lets (fake) time pass. An ucoming patch will show the first use of this: "test_penalty_timer.ho_vty: show lchan recovery" I8f7668b6d08a0dac9e90d2358955f9d5099d39fa My actual original reason to add this follows in patches - "handover tests: test passing of penalty timeout" I65e59cc7309778cf9d71612669ce84d101c8135e - "hodec2: add low-rxqual-assignment penalty timer (2/2)" Id00a07313fe04eec509b336c0637b59c707760e0 Related: SYS#5198 Change-Id: Ia6b5696adef7e7bf649473b4d79b96acf3aa59e3 --- M tests/handover/handover_test.c 1 file changed, 56 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/33/24933/1 diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index 60a31be..331726a 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -94,6 +94,41 @@ uint8_t bcch_f; }; +const struct timeval fake_time_start_time = { 123, 456 }; + +void fake_time_passes(time_t secs, suseconds_t usecs) +{ + struct timeval diff; + /* Add time to osmo_fsm timers, using osmo_gettimeofday() */ + osmo_gettimeofday_override_add(secs, usecs); + /* Add time to penalty timers, using osmo_clock_gettime() */ + osmo_clock_override_add(CLOCK_MONOTONIC, secs, usecs * 1000); + + timersub(&osmo_gettimeofday_override_time, &fake_time_start_time, &diff); + fprintf(stderr, "Total time passed: %d.%06d s\n", (int)diff.tv_sec, (int)diff.tv_usec); + + osmo_timers_prepare(); + osmo_timers_update(); +} + +void fake_time_start() +{ + struct timespec *clock_override; + + /* osmo_fsm uses osmo_gettimeofday(). To affect FSM timeouts, we need osmo_gettimeofday_override. */ + osmo_gettimeofday_override_time = fake_time_start_time; + osmo_gettimeofday_override = true; + + /* Penalty timers use osmo_clock_gettime(CLOCK_MONOTONIC). To affect these timeouts, we need + * osmo_gettimeofday_override. */ + clock_override = osmo_clock_override_gettimespec(CLOCK_MONOTONIC); + OSMO_ASSERT(clock_override); + clock_override->tv_sec = fake_time_start_time.tv_sec; + clock_override->tv_nsec = fake_time_start_time.tv_usec * 1000; + osmo_clock_override_enable(CLOCK_MONOTONIC, true); + fake_time_passes(0, 0); +} + static void gen_meas_rep(struct gsm_lchan *lchan, uint8_t bs_power_db, uint8_t rxlev, uint8_t rxqual, uint8_t ta, int neighbors_count, struct neighbor_meas *neighbors) @@ -1410,6 +1445,22 @@ return CMD_SUCCESS; } +DEFUN(wait, wait_cmd, + "wait <0-999999> [<0-999>]", + "Let some fake time pass. The test continues instantaneously, but this overrides osmo_gettimeofday() to let" + " given amount of time pass virtually.\n" + "Seconds to fake-wait\n" + "Microseconds to fake-wait, in addition to the seconds waited\n") +{ + time_t seconds = atoi(argv[0]); + suseconds_t useconds = 0; + VTY_ECHO(); + if (argc > 1) + useconds = atoi(argv[1]) * 1000; + fake_time_passes(seconds, useconds); + return CMD_SUCCESS; +} + static void ho_test_vty_init() { install_element(CONFIG_NODE, &create_n_bts_cmd); @@ -1433,6 +1484,7 @@ install_element(CONFIG_NODE, &codec_f_cmd); install_element(CONFIG_NODE, &codec_h_cmd); install_element(CONFIG_NODE, &set_ts_use_cmd); + install_element(CONFIG_NODE, &wait_cmd); } static const struct log_info_cat log_categories[] = { @@ -1554,6 +1606,10 @@ log_set_print_timestamp(osmo_stderr_target, 0); osmo_fsm_log_addr(false); + /* the 'wait' command above, intended to test penalty timers, adds seconds to the monotonic clock in "fake + * time". */ + fake_time_start(); + bsc_network_alloc(); if (!bsc_gsmnet) exit(1); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24933 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia6b5696adef7e7bf649473b4d79b96acf3aa59e3 Gerrit-Change-Number: 24933 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 Jul 13 23:22:24 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 13 Jul 2021 23:22:24 +0000 Subject: Change in osmo-bsc[master]: test_penalty_timer.ho_vty: show lchan recovery References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24934 ) Change subject: test_penalty_timer.ho_vty: show lchan recovery ...................................................................... test_penalty_timer.ho_vty: show lchan recovery Use recently added fake-time 'wait' command to show how the lchan in LCHAN_ST_WAIT_AFTER_ERROR recovers as soon as timer X3111 has passed. This prepares for also waiting for the penalty timeout to pass. Related: SYS#5198 Change-Id: I8f7668b6d08a0dac9e90d2358955f9d5099d39fa --- M tests/handover/test_penalty_timer.ho_vty 1 file changed, 14 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/34/24934/1 diff --git a/tests/handover/test_penalty_timer.ho_vty b/tests/handover/test_penalty_timer.ho_vty index 22b9a95..9511b5e 100644 --- a/tests/handover/test_penalty_timer.ho_vty +++ b/tests/handover/test_penalty_timer.ho_vty @@ -3,6 +3,12 @@ # Even though the cell is still better, handover will not be performed # due to penalty timer after handover failure +network + # set the timeout for LCHAN_ST_WAIT_AFTER_ERROR + timer X3111 5 + # set penalty timeout + handover2 penalty-time failed-ho 23 + create-n-bts 2 set-ts-use trx 0 0 states * TCH/F - - - - - - meas-rep lchan 0 0 1 0 rxlev 20 rxqual 0 ta 0 neighbors 30 @@ -11,7 +17,15 @@ ho-failed # first BTS still services the call: expect-ts-use trx 0 0 states * TCH/F - - - - - - + # lchan 1 0 1 0 is in LCHAN_ST_WAIT_AFTER_ERROR because the handover failed: expect-ts-use trx 1 0 states * ! - - - - - - +wait 4 +expect-ts-use trx 1 0 states * ! - - - - - - +wait 1 +expect-ts-use trx 1 0 states * - - - - - - - +# back to UNUSED + +# No handover because the penalty timer is still running meas-rep lchan 0 0 1 0 rxlev 20 rxqual 0 ta 0 neighbors 30 expect-no-chan -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24934 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8f7668b6d08a0dac9e90d2358955f9d5099d39fa Gerrit-Change-Number: 24934 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 Jul 13 23:22:25 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 13 Jul 2021 23:22:25 +0000 Subject: Change in osmo-bsc[master]: handover tests: test passing of penalty timeout References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24935 ) Change subject: handover tests: test passing of penalty timeout ...................................................................... handover tests: test passing of penalty timeout With recent addition of fake time in handover_test ('wait cmd'), show how a penalty timeout in handover decision 2 passes and allows a handover again after due time. Related: SYS#5198 Change-Id: I65e59cc7309778cf9d71612669ce84d101c8135e --- M tests/handover/test_max_ta.ho_vty M tests/handover/test_penalty_timer.ho_vty 2 files changed, 30 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/35/24935/1 diff --git a/tests/handover/test_max_ta.ho_vty b/tests/handover/test_max_ta.ho_vty index 05c4a76..56dbb19 100644 --- a/tests/handover/test_max_ta.ho_vty +++ b/tests/handover/test_max_ta.ho_vty @@ -7,15 +7,31 @@ create-n-bts 2 set-ts-use trx 0 0 states * TCH/F - - - - - - + network bts 0 handover2 maximum distance 5 + handover2 penalty-time max-distance 17 + meas-rep lchan 0 0 1 0 rxlev 30 rxqual 0 ta 5 neighbors 20 expect-no-chan meas-rep lchan 0 0 1 0 rxlev 30 rxqual 0 ta 6 neighbors 20 expect-ho from lchan 0 0 1 0 to lchan 1 0 1 0 expect-ts-use trx 0 0 states * - - - - - - - expect-ts-use trx 1 0 states * TCH/F - - - - - - + +# Penalty timer after TA was exceeded is running, so no handover back to the better cell: meas-rep lchan 1 0 1 0 rxlev 20 rxqual 0 ta 6 neighbors 30 expect-no-chan +wait 16 +# Penalty timer still running +meas-rep lchan 1 0 1 0 rxlev 20 rxqual 0 ta 6 neighbors 30 +expect-no-chan + +wait 1 +# Now 17 seconds have passed, timeout is done, and a handover is performed again. +meas-rep lchan 1 0 1 0 rxlev 20 rxqual 0 ta 6 neighbors 30 +expect-ho from lchan 1 0 1 0 to lchan 0 0 1 0 +expect-ts-use trx 0 0 states * TCH/F - - - - - - +expect-ts-use trx 1 0 states * - - - - - - - diff --git a/tests/handover/test_penalty_timer.ho_vty b/tests/handover/test_penalty_timer.ho_vty index 9511b5e..8d864a2 100644 --- a/tests/handover/test_penalty_timer.ho_vty +++ b/tests/handover/test_penalty_timer.ho_vty @@ -29,3 +29,17 @@ # No handover because the penalty timer is still running meas-rep lchan 0 0 1 0 rxlev 20 rxqual 0 ta 0 neighbors 30 expect-no-chan + +wait 17 +# at this point, the penalty timer has not yet expired. (4+1+17 = 22 < 23) +meas-rep lchan 0 0 1 0 rxlev 20 rxqual 0 ta 0 neighbors 30 +expect-no-chan +expect-ts-use trx 0 0 states * TCH/F - - - - - - +expect-ts-use trx 1 0 states * - - - - - - - + +wait 1 +# now the penalty timer of 23 seconds has passed and the handover is attempted again. +meas-rep lchan 0 0 1 0 rxlev 20 rxqual 0 ta 0 neighbors 30 +expect-ho from lchan 0 0 1 0 to lchan 1 0 1 0 +expect-ts-use trx 0 0 states * - - - - - - - +expect-ts-use trx 1 0 states * TCH/F - - - - - - -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24935 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I65e59cc7309778cf9d71612669ce84d101c8135e Gerrit-Change-Number: 24935 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 Jul 13 23:22:25 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 13 Jul 2021 23:22:25 +0000 Subject: Change in osmo-bsc[master]: hodec2: add low-rxqual-assignment penalty timer (1/2) References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24936 ) Change subject: hodec2: add low-rxqual-assignment penalty timer (1/2) ...................................................................... hodec2: add low-rxqual-assignment penalty timer (1/2) First add a handover test script that shows the behavior without the low-rxqual-assignment penalty timer implemented. When implemented, the changes to this test script will show the change in behavior. Related: SYS#5198 Change-Id: I799fce709c86401546ccfe41b9f57fd579bcd987 --- M tests/handover/test_amr_tch_h_to_f_rxqual.ho_vty 1 file changed, 26 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/36/24936/1 diff --git a/tests/handover/test_amr_tch_h_to_f_rxqual.ho_vty b/tests/handover/test_amr_tch_h_to_f_rxqual.ho_vty index 10db404..32a95e1 100644 --- a/tests/handover/test_amr_tch_h_to_f_rxqual.ho_vty +++ b/tests/handover/test_amr_tch_h_to_f_rxqual.ho_vty @@ -14,3 +14,29 @@ # average rxqual now at 6 which is worse than 5, reassign to TCH/F due to bad rxqual. expect-as from lchan 0 0 4 0 to lchan 0 0 1 0 expect-ts-use trx 0 0 states * TCH/F - - - - - * +meas-rep repeat 2 lchan 0 0 1 0 rxlev 30 rxqual 5 ta 0 + +# After the upgrade to TCH/F, there should be a penalty timer against re-assgnment within this cell. +# Configure congestion resolution so that it would normally want to do a re-assignment: +network + handover2 min-free-slots tch/f 3 + handover2 window rxlev averaging 1 + handover2 min rxlev -90 + +# The penalty timer is still active, no re-assignment from congestion of TCH/H +congestion-check +# "FAIL": the penalty timer is not yet implemented +#expect-no-chan +#expect-ts-use trx 0 0 states * TCH/F - - - - - * +expect-as from lchan 0 0 1 0 to lchan 0 0 4 0 +expect-ts-use trx 0 0 states * - - - TCH/H- - - * + +# But handover to another cell is not held off +create-bts trx-count 1 timeslots c+s4 TCH/F TCH/F TCH/F TCH/H TCH/H TCH/H PDCH +set-ts-use trx 0 0 states * TCH/F - - - - - * +expect-ts-use trx 1 0 states * - - - - - - * + +meas-rep lchan 0 0 1 0 rxlev 30 rxqual 5 ta 0 neighbors 35 +expect-ho from lchan 0 0 1 0 to lchan 1 0 4 0 +expect-ts-use trx 0 0 states * - - - - - - * +expect-ts-use trx 1 0 states * - - - TCH/H- - - * -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24936 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I799fce709c86401546ccfe41b9f57fd579bcd987 Gerrit-Change-Number: 24936 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 Jul 13 23:22:25 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 13 Jul 2021 23:22:25 +0000 Subject: Change in osmo-bsc[master]: hodec2: add low-rxqual-assignment penalty timer (2/2) References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24937 ) Change subject: hodec2: add low-rxqual-assignment penalty timer (2/2) ...................................................................... hodec2: add low-rxqual-assignment penalty timer (2/2) Hold off re-assignment after an intra-cell re-assignment due to low rxqual. Adjust test_amr_tch_h_to_f_rxqual.ho_vty to show the changed behaviour. Related: SYS#5198 Change-Id: Id00a07313fe04eec509b336c0637b59c707760e0 --- M include/osmocom/bsc/handover_cfg.h M src/osmo-bsc/handover_decision_2.c M tests/handover/test_amr_tch_h_to_f_rxqual.ho_vty M tests/handover_cfg.vty 4 files changed, 38 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/37/24937/1 diff --git a/include/osmocom/bsc/handover_cfg.h b/include/osmocom/bsc/handover_cfg.h index 551ce8d..2bd2681 100644 --- a/include/osmocom/bsc/handover_cfg.h +++ b/include/osmocom/bsc/handover_cfg.h @@ -261,6 +261,13 @@ " see also 'handover2 retries'\n" \ "Seconds\n") \ \ + HO_CFG_ONE_MEMBER(int, hodec2_penalty_low_rxqual_as, 60, \ + "handover2 ", "penalty-time low-rxqual-assignment", "<0-99999>", atoi, "%d", as_is, \ + HO_CFG_STR_HANDOVER2 \ + HO_CFG_STR_PENALTY_TIME \ + "Time to suspend re-assignment after an lchan was re-assigned because of low RxQual\n" \ + "Seconds\n") \ + \ HO_CFG_ONE_MEMBER(int, hodec2_retries, 0, \ "handover2 ", "retries", "<0-9>", atoi, "%d", as_is, \ HO_CFG_STR_HANDOVER2 \ diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index 3ebce90..452e524 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -1410,10 +1410,20 @@ /* perform handover, if there is a candidate */ if (best_cand) { + int rc; LOGPHOCAND(best_cand, LOGL_INFO, "Best candidate: RX level %d%s\n", rxlev2dbm(best_cand->target.rxlev), best_applied_afs_bias ? " (applied AHS -> AFS rxlev bias)" : ""); - return trigger_ho(best_cand, best_cand->requirements & REQUIREMENT_A_MASK); + rc = trigger_ho(best_cand, best_cand->requirements & REQUIREMENT_A_MASK); + + /* After upgrading TCH/H to TCH/F due to bad RxQual, start penalty timer to avoid re-assignment within + * the same cell again, to avoid oscillation from RxQual noise combined with congestion resolution. */ + if (!rc && is_upgrade_to_tchf(best_cand, REQUIREMENT_A_MASK)) { + struct gsm0808_cell_id bts_id; + gsm_bts_cell_id(&bts_id, best_cand->target.bts); + penalty_timers_add(lchan->conn, &lchan->conn->hodec2.penalty_timers, &bts_id, + ho_get_hodec2_penalty_low_rxqual_as(bts->ho)); + } } /* Damn, all is congested, has too low RXLEV or cannot service the voice call due to codec diff --git a/tests/handover/test_amr_tch_h_to_f_rxqual.ho_vty b/tests/handover/test_amr_tch_h_to_f_rxqual.ho_vty index 32a95e1..f3a2a90 100644 --- a/tests/handover/test_amr_tch_h_to_f_rxqual.ho_vty +++ b/tests/handover/test_amr_tch_h_to_f_rxqual.ho_vty @@ -25,15 +25,12 @@ # The penalty timer is still active, no re-assignment from congestion of TCH/H congestion-check -# "FAIL": the penalty timer is not yet implemented -#expect-no-chan -#expect-ts-use trx 0 0 states * TCH/F - - - - - * -expect-as from lchan 0 0 1 0 to lchan 0 0 4 0 -expect-ts-use trx 0 0 states * - - - TCH/H- - - * +expect-no-chan +expect-ts-use trx 0 0 states * TCH/F - - - - - * # But handover to another cell is not held off create-bts trx-count 1 timeslots c+s4 TCH/F TCH/F TCH/F TCH/H TCH/H TCH/H PDCH -set-ts-use trx 0 0 states * TCH/F - - - - - * +expect-ts-use trx 0 0 states * TCH/F - - - - - * expect-ts-use trx 1 0 states * - - - - - - * meas-rep lchan 0 0 1 0 rxlev 30 rxqual 5 ta 0 neighbors 35 diff --git a/tests/handover_cfg.vty b/tests/handover_cfg.vty index ccb1a6b..eb3ec3e 100644 --- a/tests/handover_cfg.vty +++ b/tests/handover_cfg.vty @@ -189,6 +189,7 @@ handover2 penalty-time max-distance (<0-99999>|default) handover2 penalty-time failed-ho (<0-99999>|default) handover2 penalty-time failed-assignment (<0-99999>|default) + handover2 penalty-time low-rxqual-assignment (<0-99999>|default) handover2 retries (<0-9>|default) handover2 congestion-check (disabled|<1-999>|now) ... @@ -384,9 +385,10 @@ default Use default (9999), remove explicit setting on this node OsmoBSC(config-net)# handover2 penalty-time ? - max-distance Time to suspend handover for a subscriber after leaving this cell due to exceeding max distance; see also 'handover2 retries' - failed-ho Time to suspend handover for a subscriber after a failed handover into this cell; see also 'handover2 retries' - failed-assignment Time to suspend handover for a subscriber after a failed re-assignment within this cell; see also 'handover2 retries' + max-distance Time to suspend handover for a subscriber after leaving this cell due to exceeding max distance; see also 'handover2 retries' + failed-ho Time to suspend handover for a subscriber after a failed handover into this cell; see also 'handover2 retries' + failed-assignment Time to suspend handover for a subscriber after a failed re-assignment within this cell; see also 'handover2 retries' + low-rxqual-assignment Time to suspend re-assignment after an lchan was re-assigned because of low RxQual OsmoBSC(config-net)# handover2 penalty-time max-distance ? <0-99999> Seconds @@ -400,6 +402,10 @@ <0-99999> Seconds default Use default (60), remove explicit setting on this node +OsmoBSC(config-net)# handover2 penalty-time low-rxqual-assignment ? + <0-99999> Seconds + default Use default (60), remove explicit setting on this node + OsmoBSC(config-net)# handover2 retries ? <0-9> Number of retries default Use default (0), remove explicit setting on this node @@ -603,9 +609,10 @@ default Use default (9999), remove explicit setting on this node OsmoBSC(config-net-bts)# handover2 penalty-time ? - max-distance Time to suspend handover for a subscriber after leaving this cell due to exceeding max distance; see also 'handover2 retries' - failed-ho Time to suspend handover for a subscriber after a failed handover into this cell; see also 'handover2 retries' - failed-assignment Time to suspend handover for a subscriber after a failed re-assignment within this cell; see also 'handover2 retries' + max-distance Time to suspend handover for a subscriber after leaving this cell due to exceeding max distance; see also 'handover2 retries' + failed-ho Time to suspend handover for a subscriber after a failed handover into this cell; see also 'handover2 retries' + failed-assignment Time to suspend handover for a subscriber after a failed re-assignment within this cell; see also 'handover2 retries' + low-rxqual-assignment Time to suspend re-assignment after an lchan was re-assigned because of low RxQual OsmoBSC(config-net-bts)# handover2 penalty-time max-distance ? <0-99999> Seconds @@ -619,6 +626,10 @@ <0-99999> Seconds default Use default (60), remove explicit setting on this node +OsmoBSC(config-net-bts)# handover2 penalty-time low-rxqual-assignment ? + <0-99999> Seconds + default Use default (60), remove explicit setting on this node + OsmoBSC(config-net-bts)# handover2 retries ? <0-9> Number of retries default Use default (0), remove explicit setting on this node -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24937 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id00a07313fe04eec509b336c0637b59c707760e0 Gerrit-Change-Number: 24937 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 Jul 14 05:25:18 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 14 Jul 2021 05:25:18 +0000 Subject: Change in libosmocore[master]: vty: add "show uptime" In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24924 ) Change subject: vty: add "show uptime" ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24924 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic7d9d5d3c8a9abd06a7e626aed7679f68406040c Gerrit-Change-Number: 24924 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 05:25: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 Jul 14 05:27:09 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 14 Jul 2021 05:27:09 +0000 Subject: Change in libosmocore[master]: vty: add "show pid" In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24925 ) Change subject: vty: add "show pid" ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24925 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib636050afc1eed134f450f2f1cdd3b51153b0160 Gerrit-Change-Number: 24925 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 05:27: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 Jul 14 09:20:27 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 14 Jul 2021 09:20:27 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: refactor SNS failures into a function In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24649 ) Change subject: gprs_ns2_sns: refactor SNS failures into a function ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24649/1/src/gb/gprs_ns2_sns.c File src/gb/gprs_ns2_sns.c: https://gerrit.osmocom.org/c/libosmocore/+/24649/1/src/gb/gprs_ns2_sns.c at 184 PS1, Line 184: gprs_ns2_free_nse(gss->nse); > As mentioned on call we have ROLE_SGSN NSE which are persistent and configured with specific binds ( [?] Done -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24649 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1896f6c3ddb4f98ca261139c1cc77aa8f1558c6f Gerrit-Change-Number: 24649 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Wed, 14 Jul 2021 09:20:27 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: daniel Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 14 09:23:13 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 14 Jul 2021 09:23:13 +0000 Subject: Change in osmo-mgw[master]: mgcp_trunk: add value string for trunk type. In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24928 ) Change subject: mgcp_trunk: add value string for trunk type. ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/24928/1/include/osmocom/mgcp/mgcp_trunk.h File include/osmocom/mgcp/mgcp_trunk.h: https://gerrit.osmocom.org/c/osmo-mgw/+/24928/1/include/osmocom/mgcp/mgcp_trunk.h at 18 PS1, Line 18: { return get_value_string(mgcp_trunk_type_strs, val); } I don't really like this formatting - even if the function is just a one-liner. Not going to argue about it, though. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24928 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I634fb2a03744117e976430468ab5c57d50ab0089 Gerrit-Change-Number: 24928 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 09:23: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 Wed Jul 14 09:31:01 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 14 Jul 2021 09:31:01 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: refactor rate counter and set group name In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24929 ) Change subject: mgcp_ratectr: refactor rate counter and set group name ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24929 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I5e7f0e9081a06af48e284afa5c36a095b2847704 Gerrit-Change-Number: 24929 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 09: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 Wed Jul 14 09:34:37 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 14 Jul 2021 09:34:37 +0000 Subject: Change in osmo-hlr[master]: db v6: determine 3G AUC IND from VLR name In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/16764 ) Change subject: db v6: determine 3G AUC IND from VLR name ...................................................................... Patch Set 15: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16764 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I6f0a6bbef3a27507605c3b4a0e1a89bdfd468374 Gerrit-Change-Number: 16764 Gerrit-PatchSet: 15 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 09:34: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 Jul 14 09:36:55 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 14 Jul 2021 09:36:55 +0000 Subject: Change in osmo-bsc[master]: ensure trigger_ho() returns zero only when HO or AS was indeed triggered In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24930 ) Change subject: ensure trigger_ho() returns zero only when HO or AS was indeed triggered ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24930 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5de385e0666f716184a62e6e70d656545ac5d2ee Gerrit-Change-Number: 24930 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 09:36: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 Jul 14 09:38:04 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 14 Jul 2021 09:38:04 +0000 Subject: Change in osmo-bsc[master]: handover_test: also show when an lchan is busy In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24931 ) Change subject: handover_test: also show when an lchan is busy ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24931 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I735ce7e2c3e0e450d3f76047d7e47691fe889cad Gerrit-Change-Number: 24931 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 09:38:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 14 09:38:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 14 Jul 2021 09:38:42 +0000 Subject: Change in osmo-bsc[master]: switch handover penalty timers to CLOCK_MONOTONIC In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24932 ) Change subject: switch handover penalty timers to CLOCK_MONOTONIC ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24932 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifb1ab3165db50511aed4f65aa445798367d7e19e Gerrit-Change-Number: 24932 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 09:38: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 Jul 14 09:38:56 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 14 Jul 2021 09:38:56 +0000 Subject: Change in osmo-bts[master]: paging: prioritize CS related paging over PS related pagings. In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24658 ) Change subject: paging: prioritize CS related paging over PS related pagings. ...................................................................... Patch Set 8: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24658 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I30f97672d7a0c369c4a656e878ab8cbbd83e31ea Gerrit-Change-Number: 24658 Gerrit-PatchSet: 8 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 09:38:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 14 09:44:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 14 Jul 2021 09:44:17 +0000 Subject: Change in osmo-bsc[master]: handover_test: add fake-time 'wait' In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24933 ) Change subject: handover_test: add fake-time 'wait' ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24933 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia6b5696adef7e7bf649473b4d79b96acf3aa59e3 Gerrit-Change-Number: 24933 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 09:44: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 Jul 14 09:44:46 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 14 Jul 2021 09:44:46 +0000 Subject: Change in osmo-bsc[master]: switch handover penalty timers to CLOCK_MONOTONIC In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24932 ) Change subject: switch handover penalty timers to CLOCK_MONOTONIC ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24932 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifb1ab3165db50511aed4f65aa445798367d7e19e Gerrit-Change-Number: 24932 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 09:44:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 14 09:45:44 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 14 Jul 2021 09:45:44 +0000 Subject: Change in osmo-bsc[master]: test_penalty_timer.ho_vty: show lchan recovery In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24934 ) Change subject: test_penalty_timer.ho_vty: show lchan recovery ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24934 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8f7668b6d08a0dac9e90d2358955f9d5099d39fa Gerrit-Change-Number: 24934 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 09: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 Wed Jul 14 09:46:15 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 14 Jul 2021 09:46:15 +0000 Subject: Change in osmo-bsc[master]: handover tests: test passing of penalty timeout In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24935 ) Change subject: handover tests: test passing of penalty timeout ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24935 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I65e59cc7309778cf9d71612669ce84d101c8135e Gerrit-Change-Number: 24935 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 09:46: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 Jul 14 09:47:00 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 14 Jul 2021 09:47:00 +0000 Subject: Change in osmo-bsc[master]: hodec2: add low-rxqual-assignment penalty timer (1/2) In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24936 ) Change subject: hodec2: add low-rxqual-assignment penalty timer (1/2) ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24936 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I799fce709c86401546ccfe41b9f57fd579bcd987 Gerrit-Change-Number: 24936 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 09:47: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 Jul 14 09:49:14 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 14 Jul 2021 09:49:14 +0000 Subject: Change in osmo-bsc[master]: hodec2: add low-rxqual-assignment penalty timer (2/2) In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24937 ) Change subject: hodec2: add low-rxqual-assignment penalty timer (2/2) ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24937 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id00a07313fe04eec509b336c0637b59c707760e0 Gerrit-Change-Number: 24937 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 09:49:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 14 09:51:16 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 14 Jul 2021 09:51:16 +0000 Subject: Change in osmo-bsc[master]: Avoid switching dyn ts to sdcch8 if it starves later TCH In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24876 ) Change subject: Avoid switching dyn ts to sdcch8 if it starves later TCH ...................................................................... Patch Set 3: ping? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24876 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3b32968949a7bdcbebf5a823359295bac51d8e08 Gerrit-Change-Number: 24876 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Wed, 14 Jul 2021 09:51: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 Wed Jul 14 09:52:12 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 14 Jul 2021 09:52:12 +0000 Subject: Change in osmo-bsc[master]: ensure trigger_ho() returns zero only when HO or AS was indeed triggered In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24930 ) Change subject: ensure trigger_ho() returns zero only when HO or AS was indeed triggered ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24930/1/src/osmo-bsc/handover_decision_2.c File src/osmo-bsc/handover_decision_2.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24930/1/src/osmo-bsc/handover_decision_2.c at 889 PS1, Line 889: return 0; I think you missed this case? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24930 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5de385e0666f716184a62e6e70d656545ac5d2ee Gerrit-Change-Number: 24930 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 09:52: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 Wed Jul 14 09:55:15 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 14 Jul 2021 09:55:15 +0000 Subject: Change in osmo-bsc[master]: handover_test: also show when an lchan is busy In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24931 ) Change subject: handover_test: also show when an lchan is busy ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24931 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I735ce7e2c3e0e450d3f76047d7e47691fe889cad Gerrit-Change-Number: 24931 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 09: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 Jul 14 09:56:53 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 14 Jul 2021 09:56:53 +0000 Subject: Change in osmo-bsc[master]: handover_test: add fake-time 'wait' In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24933 ) Change subject: handover_test: add fake-time 'wait' ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24933 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia6b5696adef7e7bf649473b4d79b96acf3aa59e3 Gerrit-Change-Number: 24933 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 09: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 Wed Jul 14 09:57:45 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 14 Jul 2021 09:57:45 +0000 Subject: Change in osmo-bsc[master]: test_penalty_timer.ho_vty: show lchan recovery In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24934 ) Change subject: test_penalty_timer.ho_vty: show lchan recovery ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24934 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8f7668b6d08a0dac9e90d2358955f9d5099d39fa Gerrit-Change-Number: 24934 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 09:57:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 14 10:01:08 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 14 Jul 2021 10:01:08 +0000 Subject: Change in osmo-bsc[master]: handover tests: test passing of penalty timeout In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24935 ) Change subject: handover tests: test passing of penalty timeout ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24935 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I65e59cc7309778cf9d71612669ce84d101c8135e Gerrit-Change-Number: 24935 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 10:01:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 14 10:03:08 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 14 Jul 2021 10:03:08 +0000 Subject: Change in osmo-bsc[master]: hodec2: add low-rxqual-assignment penalty timer (1/2) In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24936 ) Change subject: hodec2: add low-rxqual-assignment penalty timer (1/2) ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24936 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I799fce709c86401546ccfe41b9f57fd579bcd987 Gerrit-Change-Number: 24936 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 10:03: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 Jul 14 10:06:11 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 14 Jul 2021 10:06:11 +0000 Subject: Change in osmo-bsc[master]: hodec2: add low-rxqual-assignment penalty timer (2/2) In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24937 ) Change subject: hodec2: add low-rxqual-assignment penalty timer (2/2) ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24937/1/src/osmo-bsc/handover_decision_2.c File src/osmo-bsc/handover_decision_2.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24937/1/src/osmo-bsc/handover_decision_2.c at 1426 PS1, Line 1426: } Should you return rc here? Right now this will always fall-through to the log line below which seems unintentional. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24937 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id00a07313fe04eec509b336c0637b59c707760e0 Gerrit-Change-Number: 24937 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 10:06: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 Wed Jul 14 10:12:48 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 14 Jul 2021 10:12:48 +0000 Subject: Change in osmo-bsc[master]: Avoid switching dyn ts to sdcch8 if it starves later TCH In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24876 ) Change subject: Avoid switching dyn ts to sdcch8 if it starves later TCH ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24876 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3b32968949a7bdcbebf5a823359295bac51d8e08 Gerrit-Change-Number: 24876 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Wed, 14 Jul 2021 10:12:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 14 12:37:32 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 14 Jul 2021 12:37:32 +0000 Subject: Change in osmo-bsc[master]: hodec2: add low-rxqual-assignment penalty timer (2/2) In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24937 ) Change subject: hodec2: add low-rxqual-assignment penalty timer (2/2) ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24937/1/src/osmo-bsc/handover_decision_2.c File src/osmo-bsc/handover_decision_2.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24937/1/src/osmo-bsc/handover_decision_2.c at 1426 PS1, Line 1426: } > Should you return rc here? Right now this will always fall-through to the log line below which seems [?] ah, nice catch, thx! -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24937 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id00a07313fe04eec509b336c0637b59c707760e0 Gerrit-Change-Number: 24937 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 12:37:32 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: daniel Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 14 12:39:36 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 14 Jul 2021 12:39:36 +0000 Subject: Change in osmo-bsc[master]: hodec2: add low-rxqual-assignment penalty timer (2/2) In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24937 to look at the new patch set (#2). Change subject: hodec2: add low-rxqual-assignment penalty timer (2/2) ...................................................................... hodec2: add low-rxqual-assignment penalty timer (2/2) Hold off re-assignment after an intra-cell re-assignment due to low rxqual. Adjust test_amr_tch_h_to_f_rxqual.ho_vty to show the changed behaviour. Related: SYS#5198 Change-Id: Id00a07313fe04eec509b336c0637b59c707760e0 --- M include/osmocom/bsc/handover_cfg.h M src/osmo-bsc/handover_decision_2.c M tests/handover/test_amr_tch_h_to_f_rxqual.ho_vty M tests/handover_cfg.vty 4 files changed, 39 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/37/24937/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24937 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id00a07313fe04eec509b336c0637b59c707760e0 Gerrit-Change-Number: 24937 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 14 12:43:17 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 14 Jul 2021 12:43:17 +0000 Subject: Change in osmo-bsc[master]: handover_test: also show when an lchan is busy In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24931 ) Change subject: handover_test: also show when an lchan is busy ...................................................................... Patch Set 1: Code-Review+2 combine votes -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24931 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I735ce7e2c3e0e450d3f76047d7e47691fe889cad Gerrit-Change-Number: 24931 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 12:43:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 14 12:45:28 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 14 Jul 2021 12:45:28 +0000 Subject: Change in osmo-bsc[master]: ensure trigger_ho() returns zero only when HO or AS was indeed triggered In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24930 ) Change subject: ensure trigger_ho() returns zero only when HO or AS was indeed triggered ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24930/1/src/osmo-bsc/handover_decision_2.c File src/osmo-bsc/handover_decision_2.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24930/1/src/osmo-bsc/handover_decision_2.c at 889 PS1, Line 889: return 0; > I think you missed this case? excellent, thanks for spotting -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24930 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5de385e0666f716184a62e6e70d656545ac5d2ee Gerrit-Change-Number: 24930 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 12:45:28 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: daniel Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 14 12:45:39 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 14 Jul 2021 12:45:39 +0000 Subject: Change in osmo-bsc[master]: ensure trigger_ho() returns zero only when HO or AS was indeed triggered In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24930 to look at the new patch set (#2). Change subject: ensure trigger_ho() returns zero only when HO or AS was indeed triggered ...................................................................... ensure trigger_ho() returns zero only when HO or AS was indeed triggered In an upcoming patch, handover_decision_2.c will use this indicator to decide whether to start a penalty timer: "hodec2: add low-rxqual-assignment penalty timer (2/2)" Id00a07313fe04eec509b336c0637b59c707760e0 Related: SYS#5198 Change-Id: I5de385e0666f716184a62e6e70d656545ac5d2ee --- M include/osmocom/bsc/handover_fsm.h M src/osmo-bsc/handover_decision_2.c M src/osmo-bsc/handover_fsm.c 3 files changed, 7 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/30/24930/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24930 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5de385e0666f716184a62e6e70d656545ac5d2ee Gerrit-Change-Number: 24930 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 14 13:08:01 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 14 Jul 2021 13:08:01 +0000 Subject: Change in osmo-mgw[master]: mgcp_trunk: add value string for trunk type. In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24928 ) Change subject: mgcp_trunk: add value string for trunk type. ...................................................................... Patch Set 1: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/24928/1/include/osmocom/mgcp/mgcp_trunk.h File include/osmocom/mgcp/mgcp_trunk.h: https://gerrit.osmocom.org/c/osmo-mgw/+/24928/1/include/osmocom/mgcp/mgcp_trunk.h at 18 PS1, Line 18: { return get_value_string(mgcp_trunk_type_strs, val); } > I don't really like this formatting - even if the function is just a one-liner. [?] Done -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24928 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I634fb2a03744117e976430468ab5c57d50ab0089 Gerrit-Change-Number: 24928 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 13:08:01 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: daniel Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 14 13:08:09 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 14 Jul 2021 13:08:09 +0000 Subject: Change in osmo-mgw[master]: mgcp_trunk: add value string for trunk type. In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24928 ) Change subject: mgcp_trunk: add value string for trunk type. ...................................................................... mgcp_trunk: add value string for trunk type. Change-Id: I634fb2a03744117e976430468ab5c57d50ab0089 --- M include/osmocom/mgcp/mgcp_trunk.h M src/libosmo-mgcp/mgcp_trunk.c 2 files changed, 10 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve daniel: Looks good to me, but someone else must approve dexter: Looks good to me, approved diff --git a/include/osmocom/mgcp/mgcp_trunk.h b/include/osmocom/mgcp/mgcp_trunk.h index c62f731..326b16a 100644 --- a/include/osmocom/mgcp/mgcp_trunk.h +++ b/include/osmocom/mgcp/mgcp_trunk.h @@ -13,6 +13,10 @@ MGCP_TRUNK_E1, }; +extern const struct value_string mgcp_trunk_type_strs[]; +static inline const char *mgcp_trunk_type_strs_str(enum mgcp_trunk_type val) +{ return get_value_string(mgcp_trunk_type_strs, val); } + struct mgcp_trunk { struct llist_head entry; diff --git a/src/libosmo-mgcp/mgcp_trunk.c b/src/libosmo-mgcp/mgcp_trunk.c index 8ff6f6a..5c9a888 100644 --- a/src/libosmo-mgcp/mgcp_trunk.c +++ b/src/libosmo-mgcp/mgcp_trunk.c @@ -28,6 +28,12 @@ #include #include +const struct value_string mgcp_trunk_type_strs[] = { + { MGCP_TRUNK_VIRTUAL, "virtual" }, + { MGCP_TRUNK_E1, "e1" }, + { 0, NULL } +}; + /*! allocate trunk and add it (if required) to the trunk list. * (called once at startup by VTY). * \param[in] cfg mgcp configuration. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24928 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I634fb2a03744117e976430468ab5c57d50ab0089 Gerrit-Change-Number: 24928 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 14 13:13:55 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 14 Jul 2021 13:13:55 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: refactor rate counter and set group name In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24929 ) Change subject: mgcp_ratectr: refactor rate counter and set group name ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/24929/1/src/libosmo-mgcp/mgcp_ratectr.c File src/libosmo-mgcp/mgcp_ratectr.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24929/1/src/libosmo-mgcp/mgcp_ratectr.c at 198 PS1, Line 198: snprintf(ctr_name, sizeof(ctr_name), "%s-%i:crcx", mgcp_trunk_type_strs_str(trunk->trunk_type), > maybe it is also time for trunk_nr to become an unsigned int - but not now... Done -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24929 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I5e7f0e9081a06af48e284afa5c36a095b2847704 Gerrit-Change-Number: 24929 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 13:13:55 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: dexter Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 14 13:14:01 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 14 Jul 2021 13:14:01 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: refactor rate counter and set group name In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24929 ) Change subject: mgcp_ratectr: refactor rate counter and set group name ...................................................................... mgcp_ratectr: refactor rate counter and set group name The rate counter group is currently only referenced by an index. In a system with multiple trunks this makes it difficult to say which rate counter group belongs to which trunk sinde the index that is used does not necessarly corespond to a specific trunk. Since rate counter groups can now get a human readable name assigned, we should do that. Also E1 specific rate counters only make sense for E1-trunks, so they should not be present on the virtual trunk. Change-Id: I5e7f0e9081a06af48e284afa5c36a095b2847704 --- M include/osmocom/mgcp/mgcp_ratectr.h M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_ratectr.c M src/libosmo-mgcp/mgcp_trunk.c 4 files changed, 51 insertions(+), 27 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve daniel: Looks good to me, approved diff --git a/include/osmocom/mgcp/mgcp_ratectr.h b/include/osmocom/mgcp/mgcp_ratectr.h index 84315e0..78c687b 100644 --- a/include/osmocom/mgcp/mgcp_ratectr.h +++ b/include/osmocom/mgcp/mgcp_ratectr.h @@ -90,5 +90,8 @@ struct rate_ctr_group *e1_stats; }; -int mgcp_ratectr_global_alloc(void *ctx, struct mgcp_ratectr_global *ratectr); -int mgcp_ratectr_trunk_alloc(void *ctx, struct mgcp_ratectr_trunk *ratectr); +struct mgcp_config; +struct mgcp_trunk; + +int mgcp_ratectr_global_alloc(struct mgcp_config *cfg); +int mgcp_ratectr_trunk_alloc(struct mgcp_trunk *trunk); diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index 29d27d4..895dd9e 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -1560,7 +1560,7 @@ return NULL; } - mgcp_ratectr_global_alloc(cfg, &cfg->ratectr); + mgcp_ratectr_global_alloc(cfg); return cfg; } diff --git a/src/libosmo-mgcp/mgcp_ratectr.c b/src/libosmo-mgcp/mgcp_ratectr.c index 8f3703f..af1526a 100644 --- a/src/libosmo-mgcp/mgcp_ratectr.c +++ b/src/libosmo-mgcp/mgcp_ratectr.c @@ -25,6 +25,7 @@ #include #include #include +#include #include static const struct rate_ctr_desc mgcp_general_ctr_desc[] = { @@ -153,75 +154,95 @@ return 0; } -/*! allocate global rate counters into a given rate counter struct - * (called once at startup) - * \param[in] ctx talloc context. - * \param[out] ratectr struct that holds the counters - * \returns 0 on success, -EINVAL on failure */ -int mgcp_ratectr_global_alloc(void *ctx, struct mgcp_ratectr_global *ratectr) +/*! allocate global rate counters + * (called once at startup). + * \param[in] cfg mgw configuration for which the rate counters are allocated. + * \returns 0 on success, -EINVAL on failure. */ +int mgcp_ratectr_global_alloc(struct mgcp_config *cfg) { - /* FIXME: Each new rate counter group requires a unique index. At the - * moment we generate an index using a counter, but perhaps there is - * a better way of assigning indices? */ + struct mgcp_ratectr_global *ratectr = &cfg->ratectr; static unsigned int general_rate_ctr_index = 0; + char ctr_name[512]; if (ratectr->mgcp_general_ctr_group == NULL) { ratectr->mgcp_general_ctr_group = - rate_ctr_group_alloc(ctx, &mgcp_general_ctr_group_desc, general_rate_ctr_index); + rate_ctr_group_alloc(cfg, &mgcp_general_ctr_group_desc, general_rate_ctr_index); if (!ratectr->mgcp_general_ctr_group) return -EINVAL; + snprintf(ctr_name, sizeof(ctr_name), "%s:general", cfg->domain); + rate_ctr_group_set_name(ratectr->mgcp_general_ctr_group, ctr_name); talloc_set_destructor(ratectr->mgcp_general_ctr_group, free_rate_counter_group); general_rate_ctr_index++; } return 0; } -/*! allocate trunk specific rate counters into a given rate counter struct - * (called once on trunk initialization) - * \param[in] ctx talloc context. - * \param[out] ratectr struct that holds the counters +/*! allocate trunk specific rate counters + * (called once on trunk initialization). + * \param[in] trunk mgw trunk for which the rate counters are allocated. * \returns 0 on success, -EINVAL on failure */ -int mgcp_ratectr_trunk_alloc(void *ctx, struct mgcp_ratectr_trunk *ratectr) +int mgcp_ratectr_trunk_alloc(struct mgcp_trunk *trunk) { - /* FIXME: see comment in mgcp_ratectr_global_alloc() */ + struct mgcp_ratectr_trunk *ratectr = &trunk->ratectr; static unsigned int crcx_rate_ctr_index = 0; static unsigned int mdcx_rate_ctr_index = 0; static unsigned int dlcx_rate_ctr_index = 0; static unsigned int all_rtp_conn_rate_ctr_index = 0; + char ctr_name[256]; if (ratectr->mgcp_crcx_ctr_group == NULL) { - ratectr->mgcp_crcx_ctr_group = rate_ctr_group_alloc(ctx, &mgcp_crcx_ctr_group_desc, crcx_rate_ctr_index); + ratectr->mgcp_crcx_ctr_group = + rate_ctr_group_alloc(trunk, &mgcp_crcx_ctr_group_desc, crcx_rate_ctr_index); if (!ratectr->mgcp_crcx_ctr_group) return -EINVAL; + snprintf(ctr_name, sizeof(ctr_name), "%s-%d:crcx", mgcp_trunk_type_strs_str(trunk->trunk_type), + trunk->trunk_nr); + rate_ctr_group_set_name(ratectr->mgcp_crcx_ctr_group, ctr_name); talloc_set_destructor(ratectr->mgcp_crcx_ctr_group, free_rate_counter_group); crcx_rate_ctr_index++; } if (ratectr->mgcp_mdcx_ctr_group == NULL) { - ratectr->mgcp_mdcx_ctr_group = rate_ctr_group_alloc(ctx, &mgcp_mdcx_ctr_group_desc, mdcx_rate_ctr_index); + ratectr->mgcp_mdcx_ctr_group = + rate_ctr_group_alloc(trunk, &mgcp_mdcx_ctr_group_desc, mdcx_rate_ctr_index); if (!ratectr->mgcp_mdcx_ctr_group) return -EINVAL; + snprintf(ctr_name, sizeof(ctr_name), "%s-%d:mdcx", mgcp_trunk_type_strs_str(trunk->trunk_type), + trunk->trunk_nr); + rate_ctr_group_set_name(ratectr->mgcp_mdcx_ctr_group, ctr_name); talloc_set_destructor(ratectr->mgcp_mdcx_ctr_group, free_rate_counter_group); mdcx_rate_ctr_index++; } if (ratectr->mgcp_dlcx_ctr_group == NULL) { - ratectr->mgcp_dlcx_ctr_group = rate_ctr_group_alloc(ctx, &mgcp_dlcx_ctr_group_desc, dlcx_rate_ctr_index); + ratectr->mgcp_dlcx_ctr_group = + rate_ctr_group_alloc(trunk, &mgcp_dlcx_ctr_group_desc, dlcx_rate_ctr_index); if (!ratectr->mgcp_dlcx_ctr_group) return -EINVAL; + snprintf(ctr_name, sizeof(ctr_name), "%s-%d:dlcx", mgcp_trunk_type_strs_str(trunk->trunk_type), + trunk->trunk_nr); + rate_ctr_group_set_name(ratectr->mgcp_dlcx_ctr_group, ctr_name); talloc_set_destructor(ratectr->mgcp_dlcx_ctr_group, free_rate_counter_group); dlcx_rate_ctr_index++; } if (ratectr->all_rtp_conn_stats == NULL) { - ratectr->all_rtp_conn_stats = rate_ctr_group_alloc(ctx, &all_rtp_conn_rate_ctr_group_desc, - all_rtp_conn_rate_ctr_index); + ratectr->all_rtp_conn_stats = rate_ctr_group_alloc(trunk, &all_rtp_conn_rate_ctr_group_desc, + all_rtp_conn_rate_ctr_index); if (!ratectr->all_rtp_conn_stats) return -EINVAL; + snprintf(ctr_name, sizeof(ctr_name), "%s-%d:rtp_conn", mgcp_trunk_type_strs_str(trunk->trunk_type), + trunk->trunk_nr); + rate_ctr_group_set_name(ratectr->all_rtp_conn_stats, ctr_name); talloc_set_destructor(ratectr->all_rtp_conn_stats, free_rate_counter_group); all_rtp_conn_rate_ctr_index++; } - if (ratectr->e1_stats == NULL) { - ratectr->e1_stats = rate_ctr_group_alloc(ctx, &e1_rate_ctr_group_desc, mdcx_rate_ctr_index); + + /* E1 specific */ + if (trunk->trunk_type == MGCP_TRUNK_E1 && ratectr->e1_stats == NULL) { + ratectr->e1_stats = rate_ctr_group_alloc(trunk, &e1_rate_ctr_group_desc, mdcx_rate_ctr_index); if (!ratectr->e1_stats) return -EINVAL; + snprintf(ctr_name, sizeof(ctr_name), "%s-%d:e1", mgcp_trunk_type_strs_str(trunk->trunk_type), + trunk->trunk_nr); + rate_ctr_group_set_name(ratectr->e1_stats, ctr_name); talloc_set_destructor(ratectr->e1_stats, free_rate_counter_group); mdcx_rate_ctr_index++; } diff --git a/src/libosmo-mgcp/mgcp_trunk.c b/src/libosmo-mgcp/mgcp_trunk.c index 5c9a888..08f99b3 100644 --- a/src/libosmo-mgcp/mgcp_trunk.c +++ b/src/libosmo-mgcp/mgcp_trunk.c @@ -63,7 +63,7 @@ llist_add_tail(&trunk->entry, &cfg->trunks); - mgcp_ratectr_trunk_alloc(cfg, &trunk->ratectr); + mgcp_ratectr_trunk_alloc(trunk); return trunk; } -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24929 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I5e7f0e9081a06af48e284afa5c36a095b2847704 Gerrit-Change-Number: 24929 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 14 13:22:36 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 14 Jul 2021 13:22:36 +0000 Subject: Change in osmo-bsc[master]: ensure trigger_ho() returns zero only when HO or AS was indeed triggered In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24930 ) Change subject: ensure trigger_ho() returns zero only when HO or AS was indeed triggered ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24930/1/src/osmo-bsc/handover_decision_2.c File src/osmo-bsc/handover_decision_2.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24930/1/src/osmo-bsc/handover_decision_2.c at 889 PS1, Line 889: return 0; > excellent, thanks for spotting Done -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24930 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5de385e0666f716184a62e6e70d656545ac5d2ee Gerrit-Change-Number: 24930 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 13:22:36 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: neels Comment-In-Reply-To: daniel Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 14 13:23:11 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 14 Jul 2021 13:23:11 +0000 Subject: Change in osmo-bsc[master]: hodec2: add low-rxqual-assignment penalty timer (2/2) In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24937 ) Change subject: hodec2: add low-rxqual-assignment penalty timer (2/2) ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24937/1/src/osmo-bsc/handover_decision_2.c File src/osmo-bsc/handover_decision_2.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24937/1/src/osmo-bsc/handover_decision_2.c at 1426 PS1, Line 1426: } > ah, nice catch, thx! Done -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24937 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id00a07313fe04eec509b336c0637b59c707760e0 Gerrit-Change-Number: 24937 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 13:23:11 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: neels Comment-In-Reply-To: daniel Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 14 13:30:45 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 14 Jul 2021 13:30:45 +0000 Subject: Change in osmo-hlr[master]: db v6: determine 3G AUC IND from VLR name In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/16764 ) Change subject: db v6: determine 3G AUC IND from VLR name ...................................................................... Patch Set 15: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16764 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I6f0a6bbef3a27507605c3b4a0e1a89bdfd468374 Gerrit-Change-Number: 16764 Gerrit-PatchSet: 15 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 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 Wed Jul 14 13:48:51 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 14 Jul 2021 13:48:51 +0000 Subject: Change in osmo-bsc[master]: ensure trigger_ho() returns zero only when HO or AS was indeed triggered In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24930 ) Change subject: ensure trigger_ho() returns zero only when HO or AS was indeed triggered ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24930 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5de385e0666f716184a62e6e70d656545ac5d2ee Gerrit-Change-Number: 24930 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 13:48: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 Jul 14 13:49:15 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 14 Jul 2021 13:49:15 +0000 Subject: Change in osmo-bsc[master]: Avoid switching dyn ts to sdcch8 if it starves later TCH In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24876 ) Change subject: Avoid switching dyn ts to sdcch8 if it starves later TCH ...................................................................... Avoid switching dyn ts to sdcch8 if it starves later TCH In case an MS requests a channel to establish a voice call, we usuually try to assign an SDCCH to negotiate the call and finally make the MS switch to a TCH. However, it doesn't make much sense to provoke a switch of a dynamic TS into SDCCH8 if that would mean we end up with no TS available for TCH at the next step close in time. In that case, we are better assigning the TCH directly so that the full call can be established successfully. Related: SYS#5309 Change-Id: I3b32968949a7bdcbebf5a823359295bac51d8e08 --- M src/osmo-bsc/abis_rsl.c 1 file changed, 63 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve daniel: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index f941d7e..b41fe79 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1912,6 +1912,62 @@ return true; } +struct gsm_lchan *_select_sdcch_for_call(struct gsm_bts *bts, const struct chan_rqd *rqd, enum gsm_chan_t lctype) +{ + struct gsm_lchan *lchan = NULL; + int free_tchf, free_tcch; + bool needs_dyn_switch; + + + lchan = lchan_avail_by_type(bts, GSM_LCHAN_SDCCH, false); + if (!lchan) + return NULL; + + needs_dyn_switch = lchan->ts->pchan_on_init == GSM_PCHAN_OSMO_DYN && + lchan->ts->pchan_is != GSM_PCHAN_SDCCH8_SACCH8C; + + free_tchf = bts_count_free_ts(bts, GSM_PCHAN_TCH_F); + free_tcch = bts_count_free_ts(bts, GSM_PCHAN_TCH_H); + if (free_tchf == 0 && free_tcch == 0) { + LOG_BTS(bts, DRSL, LOGL_INFO, + "CHAN RQD: 0x%x Requesting %s reason=call but no TCH available\n", + rqd->ref.ra, gsm_lchant_name(lctype)); + return NULL; + } + + /* There's a TCH available and we'll not switch any of them, so we are fine */ + if (!needs_dyn_switch) + goto select_lchan; + + /* We need to switch, but there's at least 2 TCH TS available so we are fine: */ + if (free_tchf > 1 || free_tcch > 2) + goto select_lchan; + + /* At this point (needs_dyn_switch==true), following cases are possible: + * [A] H=0, F=1 + * [B] H=1, F=0 + * [B] H=1, F=1 + * [C] H=2, F=1 + * If condition [C] is met, it means there's 1 dynamic TS and it's the + * same as the dynamic TS available for SDCCH requiring switch, so selecting + * it would basically leave us without free TCH, so avoid selecting it. + * Regarding the other conditions, it basically results in them being + * different TS than the one we want to switch, so we are fine selecting + * the TS for SDCCH */ + if (free_tchf == 1 && free_tcch == 2) { + LOG_BTS(bts, DRSL, LOGL_INFO, + "CHAN RQD: 0x%x Requesting %s reason=call but dyn TS switch to " + "SDCCH would starve the single available TCH timeslot\n", + rqd->ref.ra, gsm_lchant_name(lctype)); + return NULL; + } + +select_lchan: + /* FIXME: we already have lchan, simply do lchan->type = GSM_LCHAN_SDCCH? Split lchan_select_by_type in 2 functions? */ + lchan = lchan_select_by_type(bts, GSM_LCHAN_SDCCH); + return lchan; +} + void abis_rsl_chan_rqd_queue_poll(struct gsm_bts *bts) { struct lchan_activate_info info; @@ -1948,10 +2004,14 @@ * */ - /* Emergency calls will be put on a free TCH/H or TCH/F directly in the code below, all other channel requests - * will get an SDCCH first (if possible). */ - if (rqd->reason != GSM_CHREQ_REASON_EMERG) + if (GSM_CHREQ_REASON_CALL) { + lchan = _select_sdcch_for_call(bts, rqd, lctype); + } else if (rqd->reason != GSM_CHREQ_REASON_EMERG) { lchan = lchan_select_by_type(bts, GSM_LCHAN_SDCCH); + } + /* else: Emergency calls will be put on a free TCH/H or TCH/F directly + * in the code below, all other channel requests will get an SDCCH first + * (if possible). */ if (!lchan) { LOG_BTS(bts, DRSL, LOGL_NOTICE, "CHAN RQD: no resources for %s 0x%x, retrying with %s\n", -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24876 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3b32968949a7bdcbebf5a823359295bac51d8e08 Gerrit-Change-Number: 24876 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 14 13:50:14 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 14 Jul 2021 13:50:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: upgrade expected behavior for TC_dlcx_wildcarded In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24821 ) Change subject: MGCP_Test: upgrade expected behavior for TC_dlcx_wildcarded ...................................................................... Patch Set 2: I think this and previous patch are not needed (as such) if we all agree that https://gerrit.osmocom.org/c/osmo-mgw/+/24822 should rather use statsd/osmo_stat_items. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24821 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I61e23e264bc85eb36d07431c7839fb445c110947 Gerrit-Change-Number: 24821 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: daniel Gerrit-Comment-Date: Wed, 14 Jul 2021 13:50:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 14 13:53:51 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 14 Jul 2021 13:53:51 +0000 Subject: Change in docker-playground[master]: gbproxy-fr: Wait for interface to be _up_ not just its existance In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/22674 ) Change subject: gbproxy-fr: Wait for interface to be _up_ not just its existance ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/22674 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I1bfb6eb925bca4e4e1901e06eed831152cddbbe2 Gerrit-Change-Number: 22674 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 13:53:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 14 15:37:55 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 14 Jul 2021 15:37:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Introduce test TC_dyn_ts_sdcch8_tch_call_act_deact In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24906 ) Change subject: bsc: Introduce test TC_dyn_ts_sdcch8_tch_call_act_deact ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24906 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6110fe0bf56f4dbf67265f0d4c97cdea0b410af4 Gerrit-Change-Number: 24906 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 14 Jul 2021 15:37: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 Jul 14 15:38:39 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 14 Jul 2021 15:38:39 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Introduce test TC_dyn_ts_sdcch8_tch_call_act_deact In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24906 ) Change subject: bsc: Introduce test TC_dyn_ts_sdcch8_tch_call_act_deact ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24906 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6110fe0bf56f4dbf67265f0d4c97cdea0b410af4 Gerrit-Change-Number: 24906 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 15:38:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 14 15:38:41 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 14 Jul 2021 15:38:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Introduce test TC_dyn_ts_sdcch8_tch_call_act_deact In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24906 ) Change subject: bsc: Introduce test TC_dyn_ts_sdcch8_tch_call_act_deact ...................................................................... bsc: Introduce test TC_dyn_ts_sdcch8_tch_call_act_deact Related: SYS#24876 Change-Id: I6110fe0bf56f4dbf67265f0d4c97cdea0b410af4 --- M bsc/BSC_Tests.ttcn 1 file changed, 99 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve daniel: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 97ec4c6..64f4b43 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -605,6 +605,7 @@ var SystemInformationConfig_list g_system_information := {}; } +type record of charstring phys_chan_configs; modulepar { /* IP address at which the BSC can be reached */ charstring mp_bsc_ip := "127.0.0.1"; @@ -655,6 +656,18 @@ } }; + /* Must match per BTS config in osmo-bsc.cfg */ + phys_chan_configs phys_chan_config := { + "CCCH+SDCCH4+CBCH", + "TCH/F", + "TCH/F", + "TCH/F", + "TCH/F", + "TCH/F", + "PDCH", + "PDCH" + }; + BSSAP_LE_Configuration mp_bssap_le_cfg := { sccp_service_type := "mtp3_itu", sctp_addr := { 23908, "127.0.0.1", 2905, "127.0.0.1" }, @@ -6619,6 +6632,14 @@ f_vty_transceive(BSCVTY, "end"); } + +private function f_ts_reset_chcomb(integer bts_nr) runs on test_CT { + var integer i; + for (i := 0; i < 8; i := i + 1) { + f_ts_set_chcomb(bts_nr, 0, i, phys_chan_config[i]); + } +} + private const charstring TCHF_MODE := "TCH/F mode"; private const charstring TCHH_MODE := "TCH/H mode"; private const charstring PDCH_MODE := "PDCH mode"; @@ -6875,6 +6896,83 @@ f_shutdown_helper(); } +/* Test Osmocom dyn TS SDCCH8 activation / deactivation: If activating dyn TS as + SDCCH8 would end up in having no free TCH, then BSC should decide to activate + it as TCH directly instead. SYS#5309. */ +testcase TC_dyn_ts_sdcch8_tch_call_act_deact() runs on test_CT { + var RSL_Message rsl_unused, rsl_msg; + var DchanTuple dt; + var BSSAP_N_CONNECT_ind rx_c_ind; + var integer i; + + /* change Timeslot 6 before f_init() starts RSL */ + f_init_vty(); + for (i := 1; i < 8; i := i + 1) { + if (i == 6) { + f_ts_set_chcomb(0, 0, i, "TCH/F_TCH/H_SDCCH8_PDCH"); + } else { + f_ts_set_chcomb(0, 0, i, "PDCH"); + } + } + f_vty_transceive(BSCVTY, "drop bts connection 0 oml"); + + f_init(1, false); + f_sleep(1.0); + + var RslChannelNr pdch_chan_nr := valueof(t_RslChanNr_PDCH(6)); + + log("TCH/F_TCH/H_SDCCH8_PDCH pchan starts out in disabled mode:"); + f_ts_dyn_mode_assert(0, 0, pdch_chan_nr.tn, NONE_MODE); + /* The BSC will activate the dynamic PDCH by default, so confirm that */ + rsl_unused := f_exp_ipa_rx(0, tr_RSL_CHAN_ACT_PDCH(pdch_chan_nr, ?)); + + f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(pdch_chan_nr, 2342)); + f_sleep(1.0); + log("TCH/F_TCH/H_SDCCH8_PDC requested to PDCH ACT on startup, which was ACKed, so now in PDCH:"); + f_ts_dyn_mode_assert(0, 0, pdch_chan_nr.tn, PDCH_MODE); + + /* Fill TS0 SDCCH channels (NOTE: only 3 SDCCH/4 channels are available + * on CCCH+SDCCH4+CBCH) */ + for (i := 0; i < 3; i := i + 1) { + dt := f_est_dchan('23'O, i, '00010203040506'O); + } + + /* Now the dyn ts is selected. First PDCH is released, then TCH chan is activated */ + f_ipa_tx(0, ts_RSL_CHAN_RQD(int2oct(oct2int('23'O) + i, 1), 2342)); + rsl_unused := f_exp_ipa_rx(0, tr_RSL_RF_CHAN_REL(pdch_chan_nr)); + f_ipa_tx(0, ts_RSL_RF_CHAN_REL_ACK(pdch_chan_nr)); + + rsl_msg := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV)); + dt.rsl_chan_nr := rsl_msg.ies[0].body.chan_nr; + + f_ts_dyn_mode_assert(0, 0, dt.rsl_chan_nr.tn, TCHH_MODE); + f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(dt.rsl_chan_nr, 2342)); + rsl_msg := f_exp_ipa_rx(0, tr_RSL_IMM_ASSIGN(0)); + f_ts_dyn_mode_assert(0, 0, dt.rsl_chan_nr.tn, TCHH_MODE); + + f_ipa_tx(0, ts_RSL_EST_IND(dt.rsl_chan_nr, valueof(ts_RslLinkID_DCCH(0)), '1234'O)); + BSSAP.receive(tr_BSSAP_CONNECT_ind(?, ?, tr_BSSMAP_ComplL3('1234'O))) -> value rx_c_ind; + dt.sccp_conn_id := rx_c_ind.connectionId; + BSSAP.send(ts_BSSAP_CONNECT_res(dt.sccp_conn_id)); + + /* Instruct BSC to clear channel */ + var BssmapCause cause := 0; + BSSAP.send(ts_BSSAP_DATA_req(dt.sccp_conn_id, ts_BSSMAP_ClearCommand(cause))); + f_exp_chan_rel_and_clear(dt, 0); + + /* The BSC will switch the TS back to PDCH once the only lchan using it is released: */ + rsl_unused := f_exp_ipa_rx(0, tr_RSL_CHAN_ACT_PDCH(pdch_chan_nr, ?)); + f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(pdch_chan_nr, 2342)); + f_sleep(1.0); + f_ts_dyn_mode_assert(0, 0, pdch_chan_nr.tn, PDCH_MODE); + + /* clean up config */ + f_ts_reset_chcomb(0); + /* TODO: clean up other channels? */ + + f_shutdown_helper(); +} + /* Test Osmocom dyn TS SDCCH8 activation / deactivation when SDCCH fails at BTS */ testcase TC_dyn_ts_sdcch8_act_nack() runs on test_CT { var RSL_Message rsl_unused, rsl_msg; @@ -9413,6 +9511,7 @@ execute( TC_dyn_pdch_osmo_act_deact() ); execute( TC_dyn_pdch_osmo_act_nack() ); execute( TC_dyn_ts_sdcch8_act_deact() ); + execute (TC_dyn_ts_sdcch8_tch_call_act_deact() ); execute( TC_dyn_ts_sdcch8_act_nack() ); execute( TC_chopped_ipa_ping() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24906 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6110fe0bf56f4dbf67265f0d4c97cdea0b410af4 Gerrit-Change-Number: 24906 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 14 15:49:25 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 14 Jul 2021 15:49:25 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: forward declare mgcp_endpoint References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24938 ) Change subject: mgcp_protocol: forward declare mgcp_endpoint ...................................................................... mgcp_protocol: forward declare mgcp_endpoint The function mgcp_rtp_end_config() takes an mgcp_endpoint as parameter. The header file does not declare the mgcp_endp struct and it also does not include mgcp_endp.h because that also would cause problems. Since the endp parameter in mgcp_rtp_end_config() is only a pointer we can simply forward declare it. This patch will currently not change anythig, but it will prevent compiler warnings when we remove the endp pointer from struct mgcp_parse_data in a follow up patch Related: SYS#5535 Change-Id: I07a4d6f9d5334b1f4cf4b262482b8a67b1384398 --- M include/osmocom/mgcp/mgcp_protocol.h 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/38/24938/1 diff --git a/include/osmocom/mgcp/mgcp_protocol.h b/include/osmocom/mgcp/mgcp_protocol.h index edd0554..cdce02d 100644 --- a/include/osmocom/mgcp/mgcp_protocol.h +++ b/include/osmocom/mgcp/mgcp_protocol.h @@ -20,6 +20,7 @@ int check_local_cx_options(void *ctx, const char *options); struct mgcp_rtp_end; +struct mgcp_endpoint; void mgcp_rtp_end_config(struct mgcp_endpoint *endp, int expect_ssrc_change, struct mgcp_rtp_end *rtp); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24938 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I07a4d6f9d5334b1f4cf4b262482b8a67b1384398 Gerrit-Change-Number: 24938 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 Jul 14 15:49:26 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 14 Jul 2021 15:49:26 +0000 Subject: Change in osmo-mgw[master]: mgcp_endp: make wildcarded detection separate References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24939 ) Change subject: mgcp_endp: make wildcarded detection separate ...................................................................... mgcp_endp: make wildcarded detection separate osmo-mgw currently does only a very simple detection method for wildcarded requests, but it makes sense to split this detection off into a separate function so that it can be used from different code locations and we still have it at one place only. Change-Id: I27018c01afb8acabfcf5d435c996cc9806e52d6b Related: SYS#5535 --- M include/osmocom/mgcp/mgcp_endp.h M src/libosmo-mgcp/mgcp_endp.c 2 files changed, 14 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/39/24939/1 diff --git a/include/osmocom/mgcp/mgcp_endp.h b/include/osmocom/mgcp/mgcp_endp.h index 8d19b44..db1a897 100644 --- a/include/osmocom/mgcp/mgcp_endp.h +++ b/include/osmocom/mgcp/mgcp_endp.h @@ -134,6 +134,7 @@ void mgcp_endp_release(struct mgcp_endpoint *endp); int mgcp_endp_claim(struct mgcp_endpoint *endp, const char *callid); void mgcp_endp_update(struct mgcp_endpoint *endp); +bool mgcp_endp_is_wildcarded(const char *epname); struct mgcp_endpoint *mgcp_endp_by_name_trunk(int *cause, const char *epname, const struct mgcp_trunk *trunk); struct mgcp_endpoint *mgcp_endp_by_name(int *cause, const char *epname, diff --git a/src/libosmo-mgcp/mgcp_endp.c b/src/libosmo-mgcp/mgcp_endp.c index 9ebdd8e..ddfd6cf 100644 --- a/src/libosmo-mgcp/mgcp_endp.c +++ b/src/libosmo-mgcp/mgcp_endp.c @@ -237,6 +237,18 @@ return NULL; } +/*! Check if the given epname refers to a wildcarded request or to a specific + * endpoint. + * \param[in] epname endpoint name to check + * \returns true if epname refers to wildcarded request, else false. */ +bool mgcp_endp_is_wildcarded(const char *epname) +{ + if (strstr(epname, "*")) + return true; + + return false; +} + /*! Find an endpoint by its name on a specified trunk. * \param[out] cause pointer to store cause code, can be NULL. * \param[in] epname endpoint name to lookup. @@ -253,7 +265,7 @@ /* At the moment we only support a primitive ('*'-only) method of * wildcarded endpoint searches that picks the next free endpoint on * a trunk. */ - if (strstr(epname, "*")) { + if (mgcp_endp_is_wildcarded(epname)) { endp = find_free_endpoint(trunk); if (endp) { LOGPENDP(endp, DLMGCP, LOGL_DEBUG, -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24939 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I27018c01afb8acabfcf5d435c996cc9806e52d6b Gerrit-Change-Number: 24939 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 Jul 14 15:49:26 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 14 Jul 2021 15:49:26 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: refactor request handler array References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24940 ) Change subject: mgcp_protocol: refactor request handler array ...................................................................... mgcp_protocol: refactor request handler array the various types of MGCP requests are implemented in request handlers functions. The function pointers to those functions are held in an array that is used to find the right handler and call it then. The struct used to model the array is defined somewhat away from the array definition and there is also a macro in between that does not help to make the code more understandable. Lets refactor this a bit to have it more distinct. Change-Id: I2ef167b2ac179d2b0683a27a095f9662fda460bf Related: SYS#5535 --- M src/libosmo-mgcp/mgcp_protocol.c 1 file changed, 34 insertions(+), 23 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/40/24940/1 diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index 895dd9e..dbbf308 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -46,22 +46,47 @@ #include #include +/* Request handler specification, here we specify an array with function + * pointers to the various MGCP requests implemented below */ struct mgcp_request { + /* request name (e.g. "MDCX") */ char *name; + + /* function pointer to the request handler */ struct msgb *(*handle_request) (struct mgcp_parse_data * data); + + /* a humen readable name that describes the request */ char *debug_name; }; -#define MGCP_REQUEST(NAME, REQ, DEBUG_NAME) \ - { .name = NAME, .handle_request = REQ, .debug_name = DEBUG_NAME }, +static struct msgb *handle_audit_endpoint(struct mgcp_request_data *data); +static struct msgb *handle_create_con(struct mgcp_request_data *data); +static struct msgb *handle_delete_con(struct mgcp_request_data *data); +static struct msgb *handle_modify_con(struct mgcp_request_data *data); +static struct msgb *handle_rsip(struct mgcp_request_data *data); +static struct msgb *handle_noti_req(struct mgcp_request_data *data); +static const struct mgcp_request mgcp_requests[] = { + { .name = "AUEP", + .handle_request = handle_audit_endpoint, + .debug_name = "AuditEndpoint" }, + { .name = "CRCX", + .handle_request = handle_create_con, + .debug_name = "CreateConnection" }, + { .name = "DLCX", + .handle_request = handle_delete_con, + .debug_name = "DeleteConnection" }, + { .name = "MDCX", + .handle_request = handle_modify_con, + .debug_name = "ModifiyConnection" }, + { .name = "RQNT", + .handle_request = handle_noti_req, + .debug_name = "NotificationRequest" }, - -static struct msgb *handle_audit_endpoint(struct mgcp_parse_data *data); -static struct msgb *handle_create_con(struct mgcp_parse_data *data); -static struct msgb *handle_delete_con(struct mgcp_parse_data *data); -static struct msgb *handle_modify_con(struct mgcp_parse_data *data); -static struct msgb *handle_rsip(struct mgcp_parse_data *data); -static struct msgb *handle_noti_req(struct mgcp_parse_data *data); + /* SPEC extension */ + { .name = "RSIP", + .handle_request = handle_rsip, + .debug_name = "ReSetInProgress" }, +}; /* Initalize transcoder */ static int setup_rtp_processing(struct mgcp_endpoint *endp, @@ -95,20 +120,6 @@ return cfg->setup_rtp_processing_cb(endp, conn_dst, conn_src); } -/* array of function pointers for handling various - * messages. In the future this might be binary sorted - * for performance reasons. */ -static const struct mgcp_request mgcp_requests[] = { - MGCP_REQUEST("AUEP", handle_audit_endpoint, "AuditEndpoint") - MGCP_REQUEST("CRCX", handle_create_con, "CreateConnection") - MGCP_REQUEST("DLCX", handle_delete_con, "DeleteConnection") - MGCP_REQUEST("MDCX", handle_modify_con, "ModifiyConnection") - MGCP_REQUEST("RQNT", handle_noti_req, "NotificationRequest") - - /* SPEC extension */ - MGCP_REQUEST("RSIP", handle_rsip, "ReSetInProgress") -}; - /* Helper function to allocate some memory for responses and retransmissions */ static struct msgb *mgcp_msgb_alloc(void) { -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24940 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I2ef167b2ac179d2b0683a27a095f9662fda460bf Gerrit-Change-Number: 24940 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 Jul 14 15:49:27 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 14 Jul 2021 15:49:27 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: refactor MGCP request handling References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24941 ) Change subject: mgcp_protocol: refactor MGCP request handling ...................................................................... mgcp_protocol: refactor MGCP request handling At the moment the MGCP request handling and message parsing is not clearly separated. The function mgcp_parse_header() in mgcp_msg.c is also responsible for resolving an endpoint. This leads to unclear layer separation. We eventually end up in a situation where we can not execute any request handler without beeing able to resolve an endpoint, however this is necessary if we want to implement wildcarded DLCX resquests. In the current situation a wildcarded DLCX is not possible to implement as we always have to resolve a an to get to the trunk which we need to iterate. However, we just can't resolve a free endpoint in a situation where all endpoints on te trunk are in use. We have to refactor the request handler so that the parsing in mgcp_msg only extracts us the endpoint name. The resolving is then done in mgcp_handle_message() in mgcp_protocol.c. Then we are able to decide what to do if we are unable to resolve an endpoint but still be able to resolve the trunk. This patch does not change the behaviour of osmo-mgw yet, but it lays the foundation for request handler implementations that can still perform useful actions if no endpoint but a trunk has been resolved. A wilcarded DLCX is such a case. It does not need an endpoint, just the trunk. Change-Id: I9f519d8a0ee8a513fa1e74acf3ee7dbc0991cdde Related: SYS#5535 --- M include/osmocom/mgcp/mgcp_protocol.h M src/libosmo-mgcp/mgcp_msg.c M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_sdp.c 4 files changed, 190 insertions(+), 126 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/41/24941/1 diff --git a/include/osmocom/mgcp/mgcp_protocol.h b/include/osmocom/mgcp/mgcp_protocol.h index cdce02d..7ab283d 100644 --- a/include/osmocom/mgcp/mgcp_protocol.h +++ b/include/osmocom/mgcp/mgcp_protocol.h @@ -3,7 +3,7 @@ /* Internal structure while parsing a request */ struct mgcp_parse_data { struct mgcp_config *cfg; - struct mgcp_endpoint *endp; + char *epname; char *trans; char *save; }; diff --git a/src/libosmo-mgcp/mgcp_msg.c b/src/libosmo-mgcp/mgcp_msg.c index 8783e20..fdd2e0d 100644 --- a/src/libosmo-mgcp/mgcp_msg.c +++ b/src/libosmo-mgcp/mgcp_msg.c @@ -132,10 +132,10 @@ } /*! Analyze and parse the the hader of an MGCP messeage string. - * \param[out] pdata caller provided memory to store the parsing results - * \param[in] data mgcp message string - * \returns when the status line was complete and transaction_id and - * endp out parameters are set, -1 on error */ + * \param[out] pdata caller provided memory to store the parsing results. + * \param[in] data mgcp message string. + * \returns 0 when the status line was complete and parseable, negative (MGCP + * cause code) on error. */ int mgcp_parse_header(struct mgcp_parse_data *pdata, char *data) { int i = 0; @@ -143,10 +143,7 @@ int cause; /*! This function will parse the header part of the received - * MGCP message. The parsing results are stored in pdata. - * The function will also automatically search the pool with - * available endpoints in order to find an endpoint that matches - * the endpoint string in in the header */ + * MGCP message. The parsing results are stored in pdata. */ OSMO_ASSERT(data); pdata->trans = "000000"; @@ -158,26 +155,20 @@ pdata->trans = elem; break; case 1: - pdata->endp = mgcp_endp_by_name(&cause, elem, pdata->cfg); - if (!pdata->endp) { - LOGP(DLMGCP, LOGL_ERROR, - "Unable to find Endpoint `%s'\n", elem); - OSMO_ASSERT(cause < 0); - return cause; - } + pdata->epname = elem; break; case 2: if (strcasecmp("MGCP", elem)) { LOGP(DLMGCP, LOGL_ERROR, "MGCP header parsing error\n"); - return -510; + cause = -510; + goto error; } break; case 3: if (strcmp("1.0", elem)) { - LOGP(DLMGCP, LOGL_ERROR, "MGCP version `%s' " - "not supported\n", elem); - return -528; + cause = -528; + goto error; } break; } @@ -186,12 +177,15 @@ if (i != 4) { LOGP(DLMGCP, LOGL_ERROR, "MGCP status line too short.\n"); - pdata->trans = "000000"; - pdata->endp = NULL; - return -510; + cause = -510; + goto error; } return 0; +error: + pdata->trans = "000000"; + pdata->epname = NULL; + return cause; } /*! Extract OSMUX CID from an MGCP parameter line (string). diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index dbbf308..7f6fa69 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -46,6 +46,24 @@ #include #include +/* Request data passed to the request handler */ +struct mgcp_request_data { + /* request name (e.g. "MDCX") */ + const char *name; + + /* parsing results from the MGCP header (trans id, endpoint name ...) */ + struct mgcp_parse_data *pdata; + + /* pointer to endpoint resource (may be NULL, handler must check!) */ + struct mgcp_endpoint *endp; + + /* pointer to trunk resource (may be NULL, handler must check!) */ + struct mgcp_trunk *trunk; + + /* contains cause code in case of problems during endp/trunk resolution */ + int mgcp_cause; +}; + /* Request handler specification, here we specify an array with function * pointers to the various MGCP requests implemented below */ struct mgcp_request { @@ -53,7 +71,11 @@ char *name; /* function pointer to the request handler */ - struct msgb *(*handle_request) (struct mgcp_parse_data * data); + struct msgb *(*handle_request) (struct mgcp_request_data * data); + + /* true if the request requires an endpoint, false if only a trunk + * is sufficient. (corner cases, e.g. wildcarded DLCX) */ + bool require_endp; /* a humen readable name that describes the request */ char *debug_name; @@ -68,24 +90,30 @@ static const struct mgcp_request mgcp_requests[] = { { .name = "AUEP", .handle_request = handle_audit_endpoint, - .debug_name = "AuditEndpoint" }, + .debug_name = "AuditEndpoint", + .require_endp = true }, { .name = "CRCX", .handle_request = handle_create_con, - .debug_name = "CreateConnection" }, + .debug_name = "CreateConnection", + .require_endp = true }, { .name = "DLCX", .handle_request = handle_delete_con, - .debug_name = "DeleteConnection" }, + .debug_name = "DeleteConnection", + .require_endp = true }, { .name = "MDCX", .handle_request = handle_modify_con, - .debug_name = "ModifiyConnection" }, + .debug_name = "ModifiyConnection", + .require_endp = true }, { .name = "RQNT", .handle_request = handle_noti_req, - .debug_name = "NotificationRequest" }, + .debug_name = "NotificationRequest", + .require_endp = true }, /* SPEC extension */ { .name = "RSIP", .handle_request = handle_rsip, - .debug_name = "ReSetInProgress" }, + .debug_name = "ReSetInProgress", + .require_endp = true }, }; /* Initalize transcoder */ @@ -295,6 +323,7 @@ { struct rate_ctr_group *rate_ctrs = cfg->ratectr.mgcp_general_ctr_group; struct mgcp_parse_data pdata; + struct mgcp_request_data rq; int rc, i, code, handled = 0; struct msgb *resp = NULL; char *data; @@ -324,53 +353,91 @@ msg->l3h = &msg->l2h[4]; - /* - * Check for a duplicate message and respond. - */ + /* Parse message, extract endpoint name and transaction identifier */ memset(&pdata, 0, sizeof(pdata)); pdata.cfg = cfg; data = mgcp_strline((char *)msg->l3h, &pdata.save); + rq.name = (const char *)&msg->l2h[0]; rc = mgcp_parse_header(&pdata, data); - if (pdata.endp && pdata.trans - && pdata.endp->last_trans - && strcmp(pdata.endp->last_trans, pdata.trans) == 0) { - rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_GENERAL_RX_MSGS_RETRANSMITTED)); - return do_retransmission(pdata.endp); - } - - /* check for general parser failure */ if (rc < 0) { - LOGP(DLMGCP, LOGL_NOTICE, "%s: failed to find the endpoint\n", msg->l2h); - rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_GENERAL_RX_FAIL_NO_ENDPOINT)); - return create_err_response(NULL, -rc, (const char *) msg->l2h, pdata.trans); + LOGP(DLMGCP, LOGL_ERROR, "%s: failed to parse MCGP message\n", rq.name); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_GENERAL_RX_FAIL_MSG_PARSE)); + return create_err_response(NULL, -rc, rq.name, pdata.trans); } - for (i = 0; i < ARRAY_SIZE(mgcp_requests); ++i) { - if (strncmp - (mgcp_requests[i].name, (const char *)&msg->l2h[0], - 4) == 0) { + /* Locate endpoint and trunk, if no endpoint can be located try at least to identify the trunk. */ + rq.pdata = &pdata; + rq.endp = mgcp_endp_by_name(&rc, pdata.epname, pdata.cfg); + if (!rq.endp) { + LOGP(DLMGCP, LOGL_ERROR, + "%s: failed to find endpoint \"%s\", cause=%d -- trying to identify trunk...\n", rq.name, + pdata.epname, -rc); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_GENERAL_RX_FAIL_NO_ENDPOINT)); + + /* If we are unable to find the endpoint we still may be able to identify the trunk. Some request + * handler will still be able to perform a useful action if the request refers to the whole trunk + * (wildcarded) */ + rq.trunk = mgcp_trunk_by_name(pdata.cfg, pdata.epname); + if (!rq.trunk) { + LOGP(DLMGCP, LOGL_ERROR, "%s: failed to identify trunk for endpoint \"%s\" -- abort\n", + rq.name, pdata.epname); + return create_err_response(NULL, -rc, rq.name, pdata.trans); + } + rq.mgcp_cause = rc; + } else { + rq.trunk = rq.endp->trunk; + rq.mgcp_cause = 0; + + /* Check if we have to retransmit a response from a previous transaction */ + if (pdata.trans && rq.endp->last_trans && strcmp(rq.endp->last_trans, pdata.trans) == 0) { + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_GENERAL_RX_MSGS_RETRANSMITTED)); + return do_retransmission(rq.endp); + } + } + + /* Find an approriate handler for the current request and execute it */ + for (i = 0; i < ARRAY_SIZE(mgcp_requests); i++) { + if (strncmp(mgcp_requests[i].name, rq.name, 4) == 0) { + /* Check if the request requires and endpoint, if yes, check if we have it, otherwise don't + * execute the request handler. */ + if (mgcp_requests[i].require_endp && !rq.endp) { + LOGP(DLMGCP, LOGL_ERROR, + "%s: the request handler \"%s\" requires an endpoint resource for \"%s\", which is not available -- abort\n", + rq.name, mgcp_requests[i].debug_name, pdata.epname); + return create_err_response(NULL, -rq.mgcp_cause, rq.name, pdata.trans); + } + + /* Execute request handler */ + if (rq.endp) + LOGP(DLMGCP, LOGL_NOTICE, + "%s: executing request handler \"%s\" for endpoint resource \"%s\"\n", rq.name, + mgcp_requests[i].debug_name, rq.endp->name); + else + LOGP(DLMGCP, LOGL_NOTICE, + "%s: executing request handler \"%s\" for trunk resource of endpoint \"%s\"\n", + rq.name, mgcp_requests[i].debug_name, pdata.epname); + resp = mgcp_requests[i].handle_request(&rq); handled = 1; - resp = mgcp_requests[i].handle_request(&pdata); break; } } + /* Check if the MGCP request was handled and increment rate counters accordingly. */ if (handled) { rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_GENERAL_RX_MSGS_HANDLED)); } else { rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_GENERAL_RX_MSGS_UNHANDLED)); - LOGP(DLMGCP, LOGL_NOTICE, "MSG with type: '%.4s' not handled\n", - &msg->l2h[0]); + LOGP(DLMGCP, LOGL_ERROR, "MSG with type: '%.4s' not handled\n", &msg->l2h[0]); } return resp; } /* AUEP command handler, processes the received command */ -static struct msgb *handle_audit_endpoint(struct mgcp_parse_data *p) +static struct msgb *handle_audit_endpoint(struct mgcp_request_data *rq) { - LOGPENDP(p->endp, DLMGCP, LOGL_NOTICE, "AUEP: auditing endpoint ...\n"); - return create_ok_response(p->endp, 200, "AUEP", p->trans); + LOGPENDP(rq->endp, DLMGCP, LOGL_NOTICE, "AUEP: auditing endpoint ...\n"); + return create_ok_response(rq->endp, 200, "AUEP", rq->pdata->trans); } /* Try to find a free port by attempting to bind on it. Also handle the @@ -661,9 +728,9 @@ /* Process codec information contained in CRCX/MDCX */ static int handle_codec_info(struct mgcp_conn_rtp *conn, - struct mgcp_parse_data *p, int have_sdp, bool crcx) + struct mgcp_request_data *rq, int have_sdp, bool crcx) { - struct mgcp_endpoint *endp = p->endp; + struct mgcp_endpoint *endp = rq->endp; int rc; char *cmd; @@ -677,7 +744,7 @@ /* If we have SDP, we ignore the local connection options and * use only the SDP information. */ mgcp_codec_reset_all(conn); - rc = mgcp_parse_sdp_data(endp, conn, p); + rc = mgcp_parse_sdp_data(endp, conn, rq->pdata); if (rc != 0) { LOGPCONN(conn->conn, DLMGCP, LOGL_ERROR, "%s: sdp not parseable\n", cmd); @@ -743,10 +810,11 @@ } /* CRCX command handler, processes the received command */ -static struct msgb *handle_create_con(struct mgcp_parse_data *p) +static struct msgb *handle_create_con(struct mgcp_request_data *rq) { - struct mgcp_trunk *trunk = p->endp->trunk; - struct mgcp_endpoint *endp = p->endp; + struct mgcp_parse_data *pdata = rq->pdata; + struct mgcp_trunk *trunk = rq->trunk; + struct mgcp_endpoint *endp = rq->endp; struct rate_ctr_group *rate_ctrs = trunk->ratectr.mgcp_crcx_ctr_group; int error_code = 400; const char *local_options = NULL; @@ -765,11 +833,11 @@ rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_AVAIL)); LOGPENDP(endp, DLMGCP, LOGL_ERROR, "CRCX: selected endpoint not available!\n"); - return create_err_response(NULL, 501, "CRCX", p->trans); + return create_err_response(NULL, 501, "CRCX", pdata->trans); } /* parse CallID C: and LocalParameters L: */ - for_each_line(line, p->save) { + for_each_line(line, pdata->save) { if (!mgcp_check_param(endp, line)) continue; @@ -785,7 +853,7 @@ * together with a CRCX, the MGW will assign the * connection identifier by itself on CRCX */ rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_BAD_ACTION)); - return create_err_response(NULL, 523, "CRCX", p->trans); + return create_err_response(NULL, 523, "CRCX", pdata->trans); break; case 'M': mode = (const char *)line + 3; @@ -793,7 +861,7 @@ case 'X': if (strncasecmp("Osmux: ", line + 2, strlen("Osmux: ")) == 0) { /* If osmux is disabled, just skip setting it up */ - if (!p->endp->cfg->osmux) + if (!rq->endp->cfg->osmux) break; osmux_cid = mgcp_osmux_setup(endp, line); break; @@ -811,7 +879,7 @@ LOGPENDP(endp, DLMGCP, LOGL_NOTICE, "CRCX: unhandled option: '%c'/%d\n", *line, *line); rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_UNHANDLED_PARAM)); - return create_err_response(NULL, 539, "CRCX", p->trans); + return create_err_response(NULL, 539, "CRCX", pdata->trans); break; } } @@ -822,14 +890,14 @@ LOGPENDP(endp, DLMGCP, LOGL_ERROR, "CRCX: insufficient parameters, missing callid\n"); rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_MISSING_CALLID)); - return create_err_response(endp, 516, "CRCX", p->trans); + return create_err_response(endp, 516, "CRCX", pdata->trans); } if (!mode) { LOGPENDP(endp, DLMGCP, LOGL_ERROR, "CRCX: insufficient parameters, missing mode\n"); rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_INVALID_MODE)); - return create_err_response(endp, 517, "CRCX", p->trans); + return create_err_response(endp, 517, "CRCX", pdata->trans); } /* Check if we are able to accept the creation of another connection */ @@ -846,7 +914,7 @@ /* There is no more room for a connection, leave * everything as it is and return with an error */ rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_LIMIT_EXCEEDED)); - return create_err_response(endp, 540, "CRCX", p->trans); + return create_err_response(endp, 540, "CRCX", pdata->trans); } } @@ -864,7 +932,7 @@ /* This is not our call, leave everything as it is and * return with an error. */ rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_UNKNOWN_CALLID)); - return create_err_response(endp, 400, "CRCX", p->trans); + return create_err_response(endp, 400, "CRCX", pdata->trans); } } @@ -875,7 +943,7 @@ rc = mgcp_endp_claim(endp, callid); if (rc != 0) { rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_CLAIM)); - return create_err_response(endp, 502, "CRCX", p->trans); + return create_err_response(endp, 502, "CRCX", pdata->trans); } } @@ -928,7 +996,7 @@ } /* Handle codec information and decide for a suitable codec */ - rc = handle_codec_info(conn, p, have_sdp, true); + rc = handle_codec_info(conn, rq, have_sdp, true); mgcp_codec_summary(conn); if (rc) { error_code = rc; @@ -939,8 +1007,8 @@ conn->end.fmtp_extra = talloc_strdup(trunk->endpoints, trunk->audio_fmtp_extra); - if (p->cfg->force_ptime) { - conn->end.packet_duration_ms = p->cfg->force_ptime; + if (pdata->cfg->force_ptime) { + conn->end.packet_duration_ms = pdata->cfg->force_ptime; conn->end.force_output_ptime = 1; } @@ -973,16 +1041,16 @@ } /* policy CB */ - if (p->cfg->policy_cb) { + if (pdata->cfg->policy_cb) { int rc; - rc = p->cfg->policy_cb(endp, MGCP_ENDP_CRCX, p->trans); + rc = pdata->cfg->policy_cb(endp, MGCP_ENDP_CRCX, pdata->trans); switch (rc) { case MGCP_POLICY_REJECT: LOGPCONN(_conn, DLMGCP, LOGL_NOTICE, "CRCX: CRCX rejected by policy\n"); mgcp_endp_release(endp); rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_REJECTED_BY_POLICY)); - return create_err_response(endp, 400, "CRCX", p->trans); + return create_err_response(endp, 400, "CRCX", pdata->trans); break; case MGCP_POLICY_DEFER: /* stop processing */ @@ -996,8 +1064,8 @@ LOGPCONN(conn->conn, DLMGCP, LOGL_DEBUG, "CRCX: Creating connection: port: %u\n", conn->end.local_port); - if (p->cfg->change_cb) - p->cfg->change_cb(endp, MGCP_ENDP_CRCX); + if (pdata->cfg->change_cb) + pdata->cfg->change_cb(endp, MGCP_ENDP_CRCX); /* Send dummy packet, see also comments in mgcp_keepalive_timer_cb() */ OSMO_ASSERT(trunk->keepalive_interval >= MGCP_KEEPALIVE_ONCE); @@ -1010,19 +1078,20 @@ "CRCX: connection successfully created\n"); rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_SUCCESS)); mgcp_endp_update(endp); - return create_response_with_sdp(endp, conn, "CRCX", p->trans, true); + return create_response_with_sdp(endp, conn, "CRCX", pdata->trans, true); error2: mgcp_endp_release(endp); LOGPENDP(endp, DLMGCP, LOGL_NOTICE, "CRCX: unable to create connection\n"); - return create_err_response(endp, error_code, "CRCX", p->trans); + return create_err_response(endp, error_code, "CRCX", pdata->trans); } /* MDCX command handler, processes the received command */ -static struct msgb *handle_modify_con(struct mgcp_parse_data *p) +static struct msgb *handle_modify_con(struct mgcp_request_data *rq) { - struct mgcp_endpoint *endp = p->endp; - struct rate_ctr_group *rate_ctrs = endp->trunk->ratectr.mgcp_mdcx_ctr_group; + struct mgcp_parse_data *pdata = rq->pdata; + struct mgcp_endpoint *endp = rq->endp; + struct rate_ctr_group *rate_ctrs = endp->trunk->ratectr.mgcp_mdcx_ctr_group;; char new_local_addr[INET6_ADDRSTRLEN]; int error_code = 500; int silent = 0; @@ -1041,7 +1110,7 @@ rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_FAIL_AVAIL)); LOGPENDP(endp, DLMGCP, LOGL_ERROR, "MDCX: selected endpoint not available!\n"); - return create_err_response(NULL, 501, "MDCX", p->trans); + return create_err_response(NULL, 501, "MDCX", pdata->trans); } /* Prohibit wildcarded requests */ @@ -1049,17 +1118,17 @@ LOGPENDP(endp, DLMGCP, LOGL_ERROR, "MDCX: wildcarded endpoint names not supported.\n"); rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_FAIL_WILDCARD)); - return create_err_response(endp, 507, "MDCX", p->trans); + return create_err_response(endp, 507, "MDCX", pdata->trans); } if (llist_count(&endp->conns) <= 0) { LOGPENDP(endp, DLMGCP, LOGL_ERROR, "MDCX: endpoint is not holding a connection.\n"); rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_FAIL_NO_CONN)); - return create_err_response(endp, 400, "MDCX", p->trans); + return create_err_response(endp, 400, "MDCX", pdata->trans); } - for_each_line(line, p->save) { + for_each_line(line, pdata->save) { if (!mgcp_check_param(endp, line)) continue; @@ -1090,7 +1159,7 @@ case 'X': if (strncasecmp("Osmux: ", line + 2, strlen("Osmux: ")) == 0) { /* If osmux is disabled, just skip setting it up */ - if (!p->endp->cfg->osmux) + if (!endp->cfg->osmux) break; osmux_cid = mgcp_osmux_setup(endp, line); break; @@ -1106,7 +1175,7 @@ "MDCX: Unhandled MGCP option: '%c'/%d\n", line[0], line[0]); rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_FAIL_UNHANDLED_PARAM)); - return create_err_response(NULL, 539, "MDCX", p->trans); + return create_err_response(NULL, 539, "MDCX", pdata->trans); break; } } @@ -1116,13 +1185,13 @@ LOGPENDP(endp, DLMGCP, LOGL_ERROR, "MDCX: insufficient parameters, missing ci (connectionIdentifier)\n"); rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_FAIL_NO_CONNID)); - return create_err_response(endp, 515, "MDCX", p->trans); + return create_err_response(endp, 515, "MDCX", pdata->trans); } conn = mgcp_conn_get_rtp(endp, conn_id); if (!conn) { rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_FAIL_CONN_NOT_FOUND)); - return create_err_response(endp, 400, "MDCX", p->trans); + return create_err_response(endp, 400, "MDCX", pdata->trans); } mgcp_conn_watchdog_kick(conn->conn); @@ -1150,7 +1219,7 @@ } /* Handle codec information and decide for a suitable codec */ - rc = handle_codec_info(conn, p, have_sdp, false); + rc = handle_codec_info(conn, rq, have_sdp, false); mgcp_codec_summary(conn); if (rc) { error_code = rc; @@ -1209,9 +1278,9 @@ /* policy CB */ - if (p->cfg->policy_cb) { + if (pdata->cfg->policy_cb) { int rc; - rc = p->cfg->policy_cb(endp, MGCP_ENDP_MDCX, p->trans); + rc = pdata->cfg->policy_cb(endp, MGCP_ENDP_MDCX, pdata->trans); switch (rc) { case MGCP_POLICY_REJECT: LOGPCONN(conn->conn, DLMGCP, LOGL_NOTICE, @@ -1219,7 +1288,7 @@ rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_FAIL_REJECTED_BY_POLICY)); if (silent) goto out_silent; - return create_err_response(endp, 400, "MDCX", p->trans); + return create_err_response(endp, 400, "MDCX", pdata->trans); break; case MGCP_POLICY_DEFER: /* stop processing */ @@ -1239,8 +1308,8 @@ /* modify */ LOGPCONN(conn->conn, DLMGCP, LOGL_DEBUG, "MDCX: modified conn:%s\n", mgcp_conn_dump(conn->conn)); - if (p->cfg->change_cb) - p->cfg->change_cb(endp, MGCP_ENDP_MDCX); + if (pdata->cfg->change_cb) + pdata->cfg->change_cb(endp, MGCP_ENDP_MDCX); /* Send dummy packet, see also comments in mgcp_keepalive_timer_cb() */ OSMO_ASSERT(endp->trunk->keepalive_interval >= MGCP_KEEPALIVE_ONCE); @@ -1256,9 +1325,9 @@ LOGPCONN(conn->conn, DLMGCP, LOGL_NOTICE, "MDCX: connection successfully modified\n"); mgcp_endp_update(endp); - return create_response_with_sdp(endp, conn, "MDCX", p->trans, false); + return create_response_with_sdp(endp, conn, "MDCX", pdata->trans, false); error3: - return create_err_response(endp, error_code, "MDCX", p->trans); + return create_err_response(endp, error_code, "MDCX", pdata->trans); out_silent: LOGPENDP(endp, DLMGCP, LOGL_DEBUG, "MDCX: silent exit\n"); @@ -1266,10 +1335,11 @@ } /* DLCX command handler, processes the received command */ -static struct msgb *handle_delete_con(struct mgcp_parse_data *p) +static struct msgb *handle_delete_con(struct mgcp_request_data *rq) { - struct mgcp_endpoint *endp = p->endp; - struct rate_ctr_group *rate_ctrs = endp->trunk->ratectr.mgcp_dlcx_ctr_group; + struct mgcp_parse_data *pdata = rq->pdata; + struct mgcp_endpoint *endp = rq->endp;; + struct rate_ctr_group *rate_ctrs = endp->trunk->ratectr.mgcp_dlcx_ctr_group;; int error_code = 400; int silent = 0; char *line; @@ -1284,7 +1354,7 @@ rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_FAIL_AVAIL)); LOGPENDP(endp, DLMGCP, LOGL_ERROR, "DLCX: selected endpoint not available!\n"); - return create_err_response(NULL, 501, "DLCX", p->trans); + return create_err_response(NULL, 501, "DLCX", pdata->trans); } /* Prohibit wildcarded requests */ @@ -1292,17 +1362,17 @@ LOGPENDP(endp, DLMGCP, LOGL_ERROR, "DLCX: wildcarded endpoint names not supported.\n"); rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_FAIL_WILDCARD)); - return create_err_response(endp, 507, "DLCX", p->trans); + return create_err_response(endp, 507, "DLCX", pdata->trans); } if (llist_count(&endp->conns) <= 0) { LOGPENDP(endp, DLMGCP, LOGL_ERROR, "DLCX: endpoint is not holding a connection.\n"); rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_FAIL_NO_CONN)); - return create_err_response(endp, 515, "DLCX", p->trans); + return create_err_response(endp, 515, "DLCX", pdata->trans); } - for_each_line(line, p->save) { + for_each_line(line, pdata->save) { if (!mgcp_check_param(endp, line)) continue; @@ -1329,22 +1399,22 @@ "DLCX: Unhandled MGCP option: '%c'/%d\n", line[0], line[0]); rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_FAIL_UNHANDLED_PARAM)); - return create_err_response(NULL, 539, "DLCX", p->trans); + return create_err_response(NULL, 539, "DLCX", pdata->trans); break; } } /* policy CB */ - if (p->cfg->policy_cb) { + if (pdata->cfg->policy_cb) { int rc; - rc = p->cfg->policy_cb(endp, MGCP_ENDP_DLCX, p->trans); + rc = pdata->cfg->policy_cb(endp, MGCP_ENDP_DLCX, pdata->trans); switch (rc) { case MGCP_POLICY_REJECT: LOGPENDP(endp, DLMGCP, LOGL_NOTICE, "DLCX: rejected by policy\n"); rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_FAIL_REJECTED_BY_POLICY)); if (silent) goto out_silent; - return create_err_response(endp, 400, "DLCX", p->trans); + return create_err_response(endp, 400, "DLCX", pdata->trans); break; case MGCP_POLICY_DEFER: /* stop processing */ @@ -1374,7 +1444,7 @@ /* Note: In this case we do not return any statistics, * as we assume that the client is not interested in * this case. */ - return create_ok_response(endp, 200, "DLCX", p->trans); + return create_ok_response(endp, 200, "DLCX", pdata->trans); } /* Find the connection */ @@ -1400,16 +1470,16 @@ LOGPENDP(endp, DLMGCP, LOGL_DEBUG, "DLCX: endpoint released\n"); } - if (p->cfg->change_cb) - p->cfg->change_cb(endp, MGCP_ENDP_DLCX); + if (pdata->cfg->change_cb) + pdata->cfg->change_cb(endp, MGCP_ENDP_DLCX); rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_SUCCESS)); if (silent) goto out_silent; - return create_ok_resp_with_param(endp, 250, "DLCX", p->trans, stats); + return create_ok_resp_with_param(endp, 250, "DLCX", pdata->trans, stats); error3: - return create_err_response(endp, error_code, "DLCX", p->trans); + return create_err_response(endp, error_code, "DLCX", pdata->trans); out_silent: LOGPENDP(endp, DLMGCP, LOGL_DEBUG, "DLCX: silent exit\n"); @@ -1417,7 +1487,7 @@ } /* RSIP command handler, processes the received command */ -static struct msgb *handle_rsip(struct mgcp_parse_data *p) +static struct msgb *handle_rsip(struct mgcp_request_data *rq) { /* TODO: Also implement the resetting of a specific endpoint * to make mgcp_send_reset_ep() work. Currently this will call @@ -1429,8 +1499,8 @@ LOGP(DLMGCP, LOGL_NOTICE, "RSIP: resetting all endpoints ...\n"); - if (p->cfg->reset_cb) - p->cfg->reset_cb(p->endp->trunk); + if (rq->pdata->cfg->reset_cb) + rq->pdata->cfg->reset_cb(rq->endp->trunk); return NULL; } @@ -1446,7 +1516,7 @@ /* This can request like DTMF detection and forward, fax detection... it * can also request when the notification should be send and such. We don't * do this right now. */ -static struct msgb *handle_noti_req(struct mgcp_parse_data *p) +static struct msgb *handle_noti_req(struct mgcp_request_data *rq) { int res = 0; char *line; @@ -1454,7 +1524,7 @@ LOGP(DLMGCP, LOGL_NOTICE, "RQNT: processing request for notification ...\n"); - for_each_line(line, p->save) { + for_each_line(line, rq->pdata->save) { switch (toupper(line[0])) { case 'S': tone = extract_tone(line); @@ -1464,14 +1534,14 @@ /* we didn't see a signal request with a tone */ if (tone == CHAR_MAX) - return create_ok_response(p->endp, 200, "RQNT", p->trans); + return create_ok_response(rq->endp, 200, "RQNT", rq->pdata->trans); - if (p->cfg->rqnt_cb) - res = p->cfg->rqnt_cb(p->endp, tone); + if (rq->pdata->cfg->rqnt_cb) + res = rq->pdata->cfg->rqnt_cb(rq->endp, tone); return res == 0 ? - create_ok_response(p->endp, 200, "RQNT", p->trans) : - create_err_response(p->endp, res, "RQNT", p->trans); + create_ok_response(rq->endp, 200, "RQNT", rq->pdata->trans) : + create_err_response(rq->endp, res, "RQNT", rq->pdata->trans); } /* Connection keepalive timer, will take care that dummy packets are send diff --git a/src/libosmo-mgcp/mgcp_sdp.c b/src/libosmo-mgcp/mgcp_sdp.c index e98ca94..0759c96 100644 --- a/src/libosmo-mgcp/mgcp_sdp.c +++ b/src/libosmo-mgcp/mgcp_sdp.c @@ -398,7 +398,7 @@ return -1; break; default: - if (p->endp) + if (endp) /* TODO: Check spec: We used the bare endpoint number before, * now we use the endpoint name as a whole? Is this allowed? */ LOGP(DLMGCP, LOGL_NOTICE, -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24941 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I9f519d8a0ee8a513fa1e74acf3ee7dbc0991cdde Gerrit-Change-Number: 24941 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 Jul 14 15:49:27 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 14 Jul 2021 15:49:27 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: add stats items to monitor trunk usage References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24942 ) Change subject: mgcp_ratectr: add stats items to monitor trunk usage ...................................................................... mgcp_ratectr: add stats items to monitor trunk usage We are currently counting events in rate counters, but there is currently no way to get a sample of the current situation of the trunk usage. In particular how many endpoints are currently in use. Change-Id: Ib7b654168dc3512f55e45cc4755dc1f6f423d023 Related: SYS#5535 --- M include/osmocom/mgcp/mgcp_ratectr.h M include/osmocom/mgcp/mgcp_trunk.h M src/libosmo-mgcp/mgcp_endp.c M src/libosmo-mgcp/mgcp_ratectr.c M src/libosmo-mgcp/mgcp_trunk.c 5 files changed, 87 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/42/24942/1 diff --git a/include/osmocom/mgcp/mgcp_ratectr.h b/include/osmocom/mgcp/mgcp_ratectr.h index 78c687b..70c3e6c 100644 --- a/include/osmocom/mgcp/mgcp_ratectr.h +++ b/include/osmocom/mgcp/mgcp_ratectr.h @@ -95,3 +95,17 @@ int mgcp_ratectr_global_alloc(struct mgcp_config *cfg); int mgcp_ratectr_trunk_alloc(struct mgcp_trunk *trunk); + +/* Trunk-global common stat items */ +enum { + TRUNK_STAT_ENDPOINTS_TOTAL, + TRUNK_STAT_ENDPOINTS_USED, +}; + +struct mgcp_stat_trunk { + /* Stat item group which contains general status values of the trunk. */ + struct osmo_stat_item_group *common; +}; + +int mgcp_stat_trunk_alloc(struct mgcp_trunk *trunk); +void mgcp_stat_trunk_update(struct mgcp_trunk *trunk); diff --git a/include/osmocom/mgcp/mgcp_trunk.h b/include/osmocom/mgcp/mgcp_trunk.h index 326b16a..c0e06cb 100644 --- a/include/osmocom/mgcp/mgcp_trunk.h +++ b/include/osmocom/mgcp/mgcp_trunk.h @@ -52,8 +52,9 @@ unsigned int number_endpoints; struct mgcp_endpoint **endpoints; - /* global rate counters to measure the trunks overall performance and health */ + /* rate counters and stat items to measure the trunks overall performance and health */ struct mgcp_ratectr_trunk ratectr; + struct mgcp_stat_trunk stats; union { /* Virtual trunk specific */ diff --git a/src/libosmo-mgcp/mgcp_endp.c b/src/libosmo-mgcp/mgcp_endp.c index ddfd6cf..95709a5 100644 --- a/src/libosmo-mgcp/mgcp_endp.c +++ b/src/libosmo-mgcp/mgcp_endp.c @@ -133,6 +133,9 @@ if (endp->trunk->trunk_type == MGCP_TRUNK_E1) mgcp_e1_endp_release(endp); + + /* Make sure trunk related stats items are updated */ + mgcp_stat_trunk_update(endp->trunk); } /* Check if the endpoint name contains the prefix (e.g. "rtpbridge/" or @@ -653,6 +656,9 @@ OSMO_ASSERT(false); } + /* Make sure trunk related stats items are updated */ + mgcp_stat_trunk_update(endp->trunk); + /* Make sure the endpoint is released when claiming the endpoint fails. */ if (rc < 0) mgcp_endp_release(endp); diff --git a/src/libosmo-mgcp/mgcp_ratectr.c b/src/libosmo-mgcp/mgcp_ratectr.c index af1526a..fdecc7c 100644 --- a/src/libosmo-mgcp/mgcp_ratectr.c +++ b/src/libosmo-mgcp/mgcp_ratectr.c @@ -24,8 +24,11 @@ #include #include +#include #include #include +#include +#include #include static const struct rate_ctr_desc mgcp_general_ctr_desc[] = { @@ -248,3 +251,62 @@ } return 0; } + +const struct osmo_stat_item_desc trunk_stat_desc[] = { + [TRUNK_STAT_ENDPOINTS_TOTAL] = { "endpoints:total", + "Number of endpoints that exist on the trunk", + "", 60, 0 }, + [TRUNK_STAT_ENDPOINTS_USED] = { "endpoints:used", + "Number of endpoints in use", + "", 60, 0 }, +}; + +const struct osmo_stat_item_group_desc trunk_statg_desc = { + .group_name_prefix = "trunk", + .group_description = "mgw trunk", + .class_id = OSMO_STATS_CLASS_GLOBAL, + .num_items = ARRAY_SIZE(trunk_stat_desc), + .item_desc = trunk_stat_desc, +}; + +/*! allocate trunk specific stat items + * (called once on trunk initialization). + * \param[in] trunk for which the stat items are allocated. + * \returns 0 on success, -EINVAL on failure. */ +int mgcp_stat_trunk_alloc(struct mgcp_trunk *trunk) +{ + struct mgcp_stat_trunk *stats = &trunk->stats; + static unsigned int common_stat_index = 0; + char stat_name[256]; + + stats->common = osmo_stat_item_group_alloc(trunk, &trunk_statg_desc, common_stat_index); + if (!stats->common) + return -EINVAL; + snprintf(stat_name, sizeof(stat_name), "%s-%d:common", mgcp_trunk_type_strs_str(trunk->trunk_type), + trunk->trunk_nr); + osmo_stat_item_group_set_name(stats->common, stat_name); + common_stat_index++; + + return 0; +} + + +/*! update trunk specific stat items for a given trunk + * (called after every request that might change the trunk state). + * \param[in] trunk to update. + * \returns 0 on success, -EINVAL on failure. */ +void mgcp_stat_trunk_update(struct mgcp_trunk *trunk) +{ + struct mgcp_stat_trunk *stats = &trunk->stats; + unsigned int endpoints_in_use = 0; + unsigned int i; + + osmo_stat_item_set(osmo_stat_item_group_get_item(stats->common, TRUNK_STAT_ENDPOINTS_TOTAL), + trunk->number_endpoints); + + for (i = 0; i < trunk->number_endpoints; i++) { + if (trunk->endpoints[i]->callid) + endpoints_in_use++; + } + osmo_stat_item_set(osmo_stat_item_group_get_item(stats->common, TRUNK_STAT_ENDPOINTS_USED), endpoints_in_use); +} diff --git a/src/libosmo-mgcp/mgcp_trunk.c b/src/libosmo-mgcp/mgcp_trunk.c index 08f99b3..b6d93a9 100644 --- a/src/libosmo-mgcp/mgcp_trunk.c +++ b/src/libosmo-mgcp/mgcp_trunk.c @@ -64,6 +64,7 @@ llist_add_tail(&trunk->entry, &cfg->trunks); mgcp_ratectr_trunk_alloc(trunk); + mgcp_stat_trunk_alloc(trunk); return trunk; } @@ -128,6 +129,8 @@ /* make the endpoints we just created available to the MGW code */ trunk->number_endpoints = number_endpoints; + /* inital update of the stats items */ + mgcp_stat_trunk_update(trunk); return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24942 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib7b654168dc3512f55e45cc4755dc1f6f423d023 Gerrit-Change-Number: 24942 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 Jul 14 16:09:05 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 14 Jul 2021 16:09:05 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: forward declare mgcp_endpoint In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24938 ) Change subject: mgcp_protocol: forward declare mgcp_endpoint ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24938 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I07a4d6f9d5334b1f4cf4b262482b8a67b1384398 Gerrit-Change-Number: 24938 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 16:09: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 Jul 14 16:09:32 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 14 Jul 2021 16:09:32 +0000 Subject: Change in osmo-mgw[master]: mgcp_endp: make wildcarded detection separate In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24939 ) Change subject: mgcp_endp: make wildcarded detection separate ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24939 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I27018c01afb8acabfcf5d435c996cc9806e52d6b Gerrit-Change-Number: 24939 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 16:09: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 Jul 14 16:14:59 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 14 Jul 2021 16:14:59 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: refactor request handler array In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24940 ) Change subject: mgcp_protocol: refactor request handler array ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/24940/1/src/libosmo-mgcp/mgcp_protocol.c File src/libosmo-mgcp/mgcp_protocol.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24940/1/src/libosmo-mgcp/mgcp_protocol.c at 58 PS1, Line 58: /* a humen readable name that describes the request */ human -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24940 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I2ef167b2ac179d2b0683a27a095f9662fda460bf Gerrit-Change-Number: 24940 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 16:14: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 Wed Jul 14 16:37:05 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 14 Jul 2021 16:37:05 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: refactor MGCP request handling In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24941 ) Change subject: mgcp_protocol: refactor MGCP request handling ...................................................................... Patch Set 1: (7 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/24941/1/src/libosmo-mgcp/mgcp_msg.c File src/libosmo-mgcp/mgcp_msg.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24941/1/src/libosmo-mgcp/mgcp_msg.c at 186 PS1, Line 186: pdata->trans = "000000"; why doing this? it could be that trans was parsed correctly? or we don't use it anyway? https://gerrit.osmocom.org/c/osmo-mgw/+/24941/1/src/libosmo-mgcp/mgcp_protocol.c File src/libosmo-mgcp/mgcp_protocol.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24941/1/src/libosmo-mgcp/mgcp_protocol.c at 372 PS1, Line 372: LOGP(DLMGCP, LOGL_ERROR, ERROR? that's expected depending on message type right? print this conditionally based on req.require_endp? EDIT: I see this is already checked further below, so this shouldn't be here afaiu. https://gerrit.osmocom.org/c/osmo-mgw/+/24941/1/src/libosmo-mgcp/mgcp_protocol.c at 375 PS1, Line 375: rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_GENERAL_RX_FAIL_NO_ENDPOINT)); Same, this is not necessarily a failure right? https://gerrit.osmocom.org/c/osmo-mgw/+/24941/1/src/libosmo-mgcp/mgcp_protocol.c at 386 PS1, Line 386: rq.mgcp_cause = rc; rc is always 0 here? https://gerrit.osmocom.org/c/osmo-mgw/+/24941/1/src/libosmo-mgcp/mgcp_protocol.c at 392 PS1, Line 392: if (pdata.trans && rq.endp->last_trans && strcmp(rq.endp->last_trans, pdata.trans) == 0) { so transactions without endpoint cannot be repeated? because they are under the "rq.endp" condition only. https://gerrit.osmocom.org/c/osmo-mgw/+/24941/1/src/libosmo-mgcp/mgcp_protocol.c at 400 PS1, Line 400: if (strncmp(mgcp_requests[i].name, rq.name, 4) == 0) { what about having "name" field be a char[4+1] and copy the first bytes of msgb in there? Looks more safe since you are also passing the pointer in several places and printing it and may be non-null terminated? https://gerrit.osmocom.org/c/osmo-mgw/+/24941/1/src/libosmo-mgcp/mgcp_protocol.c at 413 PS1, Line 413: "%s: executing request handler \"%s\" for endpoint resource \"%s\"\n", rq.name, NOTICE here looks a level too high. INFO? -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24941 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I9f519d8a0ee8a513fa1e74acf3ee7dbc0991cdde Gerrit-Change-Number: 24941 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 16:37: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 Wed Jul 14 16:41:01 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 14 Jul 2021 16:41:01 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: add stats items to monitor trunk usage In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24942 ) Change subject: mgcp_ratectr: add stats items to monitor trunk usage ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/24942/1/src/libosmo-mgcp/mgcp_ratectr.c File src/libosmo-mgcp/mgcp_ratectr.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24942/1/src/libosmo-mgcp/mgcp_ratectr.c at 308 PS1, Line 308: if (trunk->endpoints[i]->callid) I'm pretty sure it should be easy to know when a endpooint becomes used or becomes unused, so simply do +1 and -1 there, let's avoid iterating over hundreds of endpoints every time. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24942 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib7b654168dc3512f55e45cc4755dc1f6f423d023 Gerrit-Change-Number: 24942 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 16:41: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 Wed Jul 14 19:14:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 14 Jul 2021 19:14:59 +0000 Subject: Change in docker-playground[master]: gbproxy-fr: Wait for interface to be _up_ not just its existance In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/22674 ) Change subject: gbproxy-fr: Wait for interface to be _up_ not just its existance ...................................................................... Patch Set 2: daniel, pleas take over and manually rebase to resolve the merge conflict -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/22674 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I1bfb6eb925bca4e4e1901e06eed831152cddbbe2 Gerrit-Change-Number: 22674 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Assignee: daniel Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 19:14:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 14 19:15:47 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 14 Jul 2021 19:15:47 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: forward declare mgcp_endpoint In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24938 ) Change subject: mgcp_protocol: forward declare mgcp_endpoint ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24938 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I07a4d6f9d5334b1f4cf4b262482b8a67b1384398 Gerrit-Change-Number: 24938 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 19:15: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 Jul 14 19:16:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 14 Jul 2021 19:16:17 +0000 Subject: Change in osmo-mgw[master]: mgcp_endp: make wildcarded detection separate In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24939 ) Change subject: mgcp_endp: make wildcarded detection separate ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24939 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I27018c01afb8acabfcf5d435c996cc9806e52d6b Gerrit-Change-Number: 24939 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 19:16: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 Jul 14 19:17:00 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 14 Jul 2021 19:17:00 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: forward declare mgcp_endpoint In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24938 ) Change subject: mgcp_protocol: forward declare mgcp_endpoint ...................................................................... mgcp_protocol: forward declare mgcp_endpoint The function mgcp_rtp_end_config() takes an mgcp_endpoint as parameter. The header file does not declare the mgcp_endp struct and it also does not include mgcp_endp.h because that also would cause problems. Since the endp parameter in mgcp_rtp_end_config() is only a pointer we can simply forward declare it. This patch will currently not change anythig, but it will prevent compiler warnings when we remove the endp pointer from struct mgcp_parse_data in a follow up patch Related: SYS#5535 Change-Id: I07a4d6f9d5334b1f4cf4b262482b8a67b1384398 --- M include/osmocom/mgcp/mgcp_protocol.h 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved laforge: Looks good to me, approved diff --git a/include/osmocom/mgcp/mgcp_protocol.h b/include/osmocom/mgcp/mgcp_protocol.h index edd0554..cdce02d 100644 --- a/include/osmocom/mgcp/mgcp_protocol.h +++ b/include/osmocom/mgcp/mgcp_protocol.h @@ -20,6 +20,7 @@ int check_local_cx_options(void *ctx, const char *options); struct mgcp_rtp_end; +struct mgcp_endpoint; void mgcp_rtp_end_config(struct mgcp_endpoint *endp, int expect_ssrc_change, struct mgcp_rtp_end *rtp); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24938 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I07a4d6f9d5334b1f4cf4b262482b8a67b1384398 Gerrit-Change-Number: 24938 Gerrit-PatchSet: 1 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 Jul 14 19:17:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 14 Jul 2021 19:17:01 +0000 Subject: Change in osmo-mgw[master]: mgcp_endp: make wildcarded detection separate In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24939 ) Change subject: mgcp_endp: make wildcarded detection separate ...................................................................... mgcp_endp: make wildcarded detection separate osmo-mgw currently does only a very simple detection method for wildcarded requests, but it makes sense to split this detection off into a separate function so that it can be used from different code locations and we still have it at one place only. Change-Id: I27018c01afb8acabfcf5d435c996cc9806e52d6b Related: SYS#5535 --- M include/osmocom/mgcp/mgcp_endp.h M src/libosmo-mgcp/mgcp_endp.c 2 files changed, 14 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/include/osmocom/mgcp/mgcp_endp.h b/include/osmocom/mgcp/mgcp_endp.h index 8d19b44..db1a897 100644 --- a/include/osmocom/mgcp/mgcp_endp.h +++ b/include/osmocom/mgcp/mgcp_endp.h @@ -134,6 +134,7 @@ void mgcp_endp_release(struct mgcp_endpoint *endp); int mgcp_endp_claim(struct mgcp_endpoint *endp, const char *callid); void mgcp_endp_update(struct mgcp_endpoint *endp); +bool mgcp_endp_is_wildcarded(const char *epname); struct mgcp_endpoint *mgcp_endp_by_name_trunk(int *cause, const char *epname, const struct mgcp_trunk *trunk); struct mgcp_endpoint *mgcp_endp_by_name(int *cause, const char *epname, diff --git a/src/libosmo-mgcp/mgcp_endp.c b/src/libosmo-mgcp/mgcp_endp.c index 9ebdd8e..ddfd6cf 100644 --- a/src/libosmo-mgcp/mgcp_endp.c +++ b/src/libosmo-mgcp/mgcp_endp.c @@ -237,6 +237,18 @@ return NULL; } +/*! Check if the given epname refers to a wildcarded request or to a specific + * endpoint. + * \param[in] epname endpoint name to check + * \returns true if epname refers to wildcarded request, else false. */ +bool mgcp_endp_is_wildcarded(const char *epname) +{ + if (strstr(epname, "*")) + return true; + + return false; +} + /*! Find an endpoint by its name on a specified trunk. * \param[out] cause pointer to store cause code, can be NULL. * \param[in] epname endpoint name to lookup. @@ -253,7 +265,7 @@ /* At the moment we only support a primitive ('*'-only) method of * wildcarded endpoint searches that picks the next free endpoint on * a trunk. */ - if (strstr(epname, "*")) { + if (mgcp_endp_is_wildcarded(epname)) { endp = find_free_endpoint(trunk); if (endp) { LOGPENDP(endp, DLMGCP, LOGL_DEBUG, -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24939 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I27018c01afb8acabfcf5d435c996cc9806e52d6b Gerrit-Change-Number: 24939 Gerrit-PatchSet: 1 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 Jul 14 19:18:40 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 14 Jul 2021 19:18:40 +0000 Subject: Change in osmo-ci[master]: lint: checkpatch.pl: allow spaces below DEFUN In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24918 ) Change subject: lint: checkpatch.pl: allow spaces below DEFUN ...................................................................... Patch Set 1: there are different variants of DEFUN such as DEFUN_ATTR and gDEFUN, ... - are they covreed? -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24918 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0934b63a62500e7a3e09c753cc63aa331e580cc6 Gerrit-Change-Number: 24918 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 14 Jul 2021 19:18: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 Wed Jul 14 19:18:50 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 14 Jul 2021 19:18:50 +0000 Subject: Change in osmo-ci[master]: lint: ignore PREFER_FALLTHROUGH In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24919 ) Change subject: lint: ignore PREFER_FALLTHROUGH ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24919 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I373a231cf08fd23312ad9a85d8e2855a736e331a Gerrit-Change-Number: 24919 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 14 Jul 2021 19:18: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 Jul 14 19:18:54 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 14 Jul 2021 19:18:54 +0000 Subject: Change in osmo-ci[master]: lint: ignore DEEP_INDENTATION In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24920 ) Change subject: lint: ignore DEEP_INDENTATION ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24920 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Iff29f0a97dbfed904705f543541441f761370602 Gerrit-Change-Number: 24920 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 14 Jul 2021 19:18: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 Jul 14 19:19:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 14 Jul 2021 19:19:04 +0000 Subject: Change in osmo-ci[master]: lint: ignore PREFER_DEFINED_ATTRIBUTE_MACRO In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24921 ) Change subject: lint: ignore PREFER_DEFINED_ATTRIBUTE_MACRO ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24921 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I2bf3b7d60e99cf91f7b619af54167a11cdfae8c6 Gerrit-Change-Number: 24921 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 19:19: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 Jul 14 19:19:23 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 14 Jul 2021 19:19:23 +0000 Subject: Change in osmo-ci[master]: lint: checkpatch.pl: complain about %i in printf In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24927 ) Change subject: lint: checkpatch.pl: complain about %i in printf ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24927 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I1a98326f1cbf4d2e0bb948558e5cd1726b0a9868 Gerrit-Change-Number: 24927 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 19:19:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 14 19:21:24 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 14 Jul 2021 19:21:24 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: free the NSE if the SIZE PDU is not valid In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24650 ) Change subject: gprs_ns2_sns: free the NSE if the SIZE PDU is not valid ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24650 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ife889091ecba4180a90743deb786767008fe863d Gerrit-Change-Number: 24650 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 19:21:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 14 19:21:39 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 14 Jul 2021 19:21:39 +0000 Subject: Change in osmo-bts[master]: paging: prioritize CS related paging over PS related pagings. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24658 ) Change subject: paging: prioritize CS related paging over PS related pagings. ...................................................................... paging: prioritize CS related paging over PS related pagings. When the paging queue is filled up to a critical level, pagings from the PCU should be dropped as each immediate assignment paging from the PCU is worth 4 normal CS pagings. Also the PCU may still issue pagings if the paginging queue is already full and CS pagings are dropped. In a congestion situation it is more important to get the CS rather than PS pagings through. Change-Id: I30f97672d7a0c369c4a656e878ab8cbbd83e31ea Related: SYS#5306 --- M include/osmo-bts/bts.h M include/osmo-bts/paging.h M src/common/bts.c M src/common/paging.c M src/common/pcu_sock.c 5 files changed, 52 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve daniel: Looks good to me, approved laforge: Looks good to me, but someone else must approve diff --git a/include/osmo-bts/bts.h b/include/osmo-bts/bts.h index e116618..6a61d01 100644 --- a/include/osmo-bts/bts.h +++ b/include/osmo-bts/bts.h @@ -18,7 +18,9 @@ enum { BTS_CTR_PAGING_RCVD, BTS_CTR_PAGING_DROP, + BTS_CTR_PAGING_DROP_PS, BTS_CTR_PAGING_SENT, + BTS_CTR_PAGING_CONG, BTS_CTR_RACH_RCVD, BTS_CTR_RACH_DROP, BTS_CTR_RACH_HO, diff --git a/include/osmo-bts/paging.h b/include/osmo-bts/paging.h index 7fc0bf0..ef1fc93 100644 --- a/include/osmo-bts/paging.h +++ b/include/osmo-bts/paging.h @@ -37,7 +37,7 @@ /* Add an IMM.ASS message to the paging queue */ int paging_add_imm_ass(struct paging_state *ps, const uint8_t *data, - uint8_t len); + uint8_t len, bool from_pcu); /* generate paging message for given gsm time */ int paging_gen_msg(struct paging_state *ps, uint8_t *out_buf, struct gsm_time *gt, diff --git a/src/common/bts.c b/src/common/bts.c index d222699..27c7f74 100644 --- a/src/common/bts.c +++ b/src/common/bts.c @@ -90,6 +90,8 @@ static const struct rate_ctr_desc bts_ctr_desc[] = { [BTS_CTR_PAGING_RCVD] = {"paging:rcvd", "Received paging requests (Abis)"}, [BTS_CTR_PAGING_DROP] = {"paging:drop", "Dropped paging requests (Abis)"}, + [BTS_CTR_PAGING_DROP_PS] = {"paging:drop-ps", "Dropped paging requests (PS/PCU)"}, + [BTS_CTR_PAGING_CONG] = {"paging:cong", "Paging congestion detected (Abis)"}, [BTS_CTR_PAGING_SENT] = {"paging:sent", "Sent paging requests (Um)"}, [BTS_CTR_RACH_RCVD] = {"rach:rcvd", "Received RACH requests (Um)"}, diff --git a/src/common/paging.c b/src/common/paging.c index 2973141..54d7263 100644 --- a/src/common/paging.c +++ b/src/common/paging.c @@ -80,8 +80,37 @@ /* total number of currently active paging records in queue */ unsigned int num_paging; struct llist_head paging_queue[MAX_PAGING_BLOCKS_CCCH*MAX_BS_PA_MFRMS]; + + /* prioritization of cs pagings will automatically become + * active on congestions (queue almost full) */ + bool cs_priority_active; }; +/* The prioritization of cs pagings is controlled by a hysteresis. When the + * fill state of the paging queue exceeds the upper fill level + * THRESHOLD_CONGESTED [%], then PS pagings (immediate assignments) will be + * dropped until fill state of the paging queue drops under the lower fill + * level THRESHOLD_CLEAR [%]. */ +#define THRESHOLD_CONGESTED 66 /* (percent of num_paging_max) */ +#define THRESHOLD_CLEAR 50 /* (percent of num_paging_max) */ + +/* Check the queue fill status and decide if prioritization of CS pagings + * must be turned on to flatten the negative effects of the congestion + * situation on the CS domain. */ +static void check_congestion(struct paging_state *ps) +{ + int pag_queue_len = paging_queue_length(ps); + int pag_queue_max = paging_get_queue_max(ps); + unsigned int treshold_upper = pag_queue_max * THRESHOLD_CONGESTED / 100; + unsigned int treshold_lower = pag_queue_max * THRESHOLD_CLEAR / 100; + + if (pag_queue_len > treshold_upper && ps->cs_priority_active == false) { + ps->cs_priority_active = true; + rate_ctr_inc2(ps->bts->ctrs, BTS_CTR_PAGING_CONG); + } else if (pag_queue_len < treshold_lower) + ps->cs_priority_active = false; +} + unsigned int paging_get_lifetime(struct paging_state *ps) { return ps->paging_lifetime; @@ -181,6 +210,8 @@ int blocks = gsm48_number_of_paging_subchannels(&ps->chan_desc); struct paging_record *pr; + check_congestion(ps); + rate_ctr_inc2(ps->bts->ctrs, BTS_CTR_PAGING_RCVD); if (paging_group >= blocks) { @@ -238,12 +269,21 @@ /* Add an IMM.ASS message to the paging queue */ int paging_add_imm_ass(struct paging_state *ps, const uint8_t *data, - uint8_t len) + uint8_t len, bool from_pcu) { struct llist_head *group_q; struct paging_record *pr; uint16_t imsi, paging_group; + check_congestion(ps); + + if (ps->cs_priority_active && from_pcu) { + LOGP(DPAG, LOGL_NOTICE, "Dropping paging for PS, queue congested (%u)\n", + ps->num_paging); + rate_ctr_inc2(ps->bts->ctrs, BTS_CTR_PAGING_DROP_PS); + return -ENOSPC; + } + if (len != GSM_MACBLOCK_LEN + 3) { LOGP(DPAG, LOGL_ERROR, "IMM.ASS invalid length %d\n", len); return -EINVAL; @@ -530,6 +570,10 @@ int group; int len; + /* This will have no effect on behavior of this function, we just need + * need to check the congestion status of the queue from time to time. */ + check_congestion(ps); + *is_empty = 0; bts->load.ccch.pch_total += 1; @@ -711,6 +755,7 @@ ps->bts = bts; ps->paging_lifetime = paging_lifetime; ps->num_paging_max = num_paging_max; + ps->cs_priority_active = false; for (i = 0; i < ARRAY_SIZE(ps->paging_queue); i++) INIT_LLIST_HEAD(&ps->paging_queue[i]); diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index 41a5ffc..03f1a05 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -673,7 +673,7 @@ switch (data_req->sapi) { case PCU_IF_SAPI_PCH: - paging_add_imm_ass(bts->paging_state, data_req->data, data_req->len); + paging_add_imm_ass(bts->paging_state, data_req->data, data_req->len, true); break; case PCU_IF_SAPI_AGCH: msg = msgb_alloc(data_req->len, "pcu_agch"); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24658 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I30f97672d7a0c369c4a656e878ab8cbbd83e31ea Gerrit-Change-Number: 24658 Gerrit-PatchSet: 8 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 14 19:25:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 14 Jul 2021 19:25:33 +0000 Subject: Change in libosmocore[master]: vty: add "show uptime" In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24924 ) Change subject: vty: add "show uptime" ...................................................................... Patch Set 2: Code-Review-1 why are we using time() here when everywhere else we (rightfully) use clock_gettime()? We don't care about the system RTC time (whcih may be wrong at boot and later corrected manually or via ntp). What we care about is the delta. Using time() will produce completely random results if the RTC changes at any time during the application execution. clock_gettime with CLOCK_MONOTONIC should be doing a much better job. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24924 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic7d9d5d3c8a9abd06a7e626aed7679f68406040c Gerrit-Change-Number: 24924 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 19:25:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 14 19:26:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 14 Jul 2021 19:26:33 +0000 Subject: Change in libosmocore[master]: vty: add "show pid" In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24925 ) Change subject: vty: add "show pid" ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24925 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib636050afc1eed134f450f2f1cdd3b51153b0160 Gerrit-Change-Number: 24925 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 19:26: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 Jul 14 19:27:22 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 14 Jul 2021 19:27:22 +0000 Subject: Change in libosmocore[master]: vty: add "shutdown" In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24926 ) Change subject: vty: add "shutdown" ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24926 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3596a35b0f4a24e49484ec3f24a98e4d4f583e1e Gerrit-Change-Number: 24926 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 19:27:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 14 19:27:54 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 14 Jul 2021 19:27:54 +0000 Subject: Change in osmo-bsc[master]: ensure trigger_ho() returns zero only when HO or AS was indeed triggered In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24930 ) Change subject: ensure trigger_ho() returns zero only when HO or AS was indeed triggered ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24930 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5de385e0666f716184a62e6e70d656545ac5d2ee Gerrit-Change-Number: 24930 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 19:27: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 Jul 14 19:28:58 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 14 Jul 2021 19:28:58 +0000 Subject: Change in osmo-trx[master]: lms: init band In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/24910 ) Change subject: lms: init band ...................................................................... lms: init band Gain setting without a band was apparently led to a very low output level, thanks to defog for pointing this out. Change-Id: I8b59d38dd7b0781776c9e61226185879541fdc53 Related: OS#3342 --- M Transceiver52M/device/lms/LMSDevice.cpp 1 file changed, 3 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/Transceiver52M/device/lms/LMSDevice.cpp b/Transceiver52M/device/lms/LMSDevice.cpp index 9dc3ab2..9b6c792 100644 --- a/Transceiver52M/device/lms/LMSDevice.cpp +++ b/Transceiver52M/device/lms/LMSDevice.cpp @@ -1019,12 +1019,14 @@ return false; } + if (!set_band(req_band)) + return false; + if (LMS_SetLOFrequency(m_lms_dev, LMS_CH_TX, chan, wFreq) < 0) { LOGCHAN(chan, DDEV, ERROR) << "Error setting Tx Freq to " << wFreq << " Hz"; return false; } - band = req_band; return true; } -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/24910 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I8b59d38dd7b0781776c9e61226185879541fdc53 Gerrit-Change-Number: 24910 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen 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 Jul 14 21:15:29 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 14 Jul 2021 21:15:29 +0000 Subject: Change in osmo-bsc[master]: Avoid switching dyn ts to sdcch8 if it starves later TCH In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24876 ) Change subject: Avoid switching dyn ts to sdcch8 if it starves later TCH ...................................................................... Patch Set 4: (8 comments) I know this patch is already merged, sorry for being late here. Maybe some of my comments could warrant a follow-up patch? https://gerrit.osmocom.org/c/osmo-bsc/+/24876/4/src/osmo-bsc/abis_rsl.c File src/osmo-bsc/abis_rsl.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24876/4/src/osmo-bsc/abis_rsl.c at 1921 PS4, Line 1921: (2 blank lines) https://gerrit.osmocom.org/c/osmo-bsc/+/24876/4/src/osmo-bsc/abis_rsl.c at 1927 PS4, Line 1927: lchan->ts->pchan_is != GSM_PCHAN_SDCCH8_SACCH8C; i'd favor a bunch of braces https://gerrit.osmocom.org/c/osmo-bsc/+/24876/4/src/osmo-bsc/abis_rsl.c at 1930 PS4, Line 1930: free_tcch = bts_count_free_ts(bts, GSM_PCHAN_TCH_H); "tchh" https://gerrit.osmocom.org/c/osmo-bsc/+/24876/4/src/osmo-bsc/abis_rsl.c at 1938 PS4, Line 1938: /* There's a TCH available and we'll not switch any of them, so we are fine */ "switch any dyn ts" https://gerrit.osmocom.org/c/osmo-bsc/+/24876/4/src/osmo-bsc/abis_rsl.c at 1942 PS4, Line 1942: /* We need to switch, but there's at least 2 TCH TS available so we are fine: */ "so we can switch one of them to SDCCH8 and still have one left" https://gerrit.osmocom.org/c/osmo-bsc/+/24876/4/src/osmo-bsc/abis_rsl.c at 1951 PS4, Line 1951: * If condition [C] is met, it means there's 1 dynamic TS and it's the "because a dyn TS is counted both as 1 free TCH/F and 2 free TCH/H at the same time" https://gerrit.osmocom.org/c/osmo-bsc/+/24876/4/src/osmo-bsc/abis_rsl.c at 1955 PS4, Line 1955: * different TS than the one we want to switch, so we are fine selecting "A: the free TCH/F must be a static timeslot; B1: half occupied TCH/H TS; B2: half occupied TCH/H TS plus one static TCH/F; C: exactly one dyn TS available" But for C, what if there are two half occupied TCH/H plus one static TCH/F? Wouldn't you make the wrong assumption that it is a dyn TS based on the counts? In the end I think your logic is correct, but the explanation becomes a lot simpler if you do if (needs_dyn_switch) { free_tchf--; free_tchh -= 2; } and see if any tch are left after that. https://gerrit.osmocom.org/c/osmo-bsc/+/24876/4/src/osmo-bsc/abis_rsl.c at 1967 PS4, Line 1967: lchan = lchan_select_by_type(bts, GSM_LCHAN_SDCCH); doing 'type = SDCCH' would be all that's needed indeed, and add a logging 'LOG_LCHAN(lchan, LOGL_INFO, "Selected\n");' -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24876 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3b32968949a7bdcbebf5a823359295bac51d8e08 Gerrit-Change-Number: 24876 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 14 Jul 2021 21:15:29 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 15 00:16:07 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 15 Jul 2021 00:16:07 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_endpoint_fsm: on term, still let conns wait for DLCX OK References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24943 ) Change subject: mgcp_client_endpoint_fsm: on term, still let conns wait for DLCX OK ...................................................................... mgcp_client_endpoint_fsm: on term, still let conns wait for DLCX OK When the mgcp_client_endpoint_fsm terminates, do not directly pull each conn FSM instance (mgcp_client_fsm) into oblivion as well. Those should emit a DLCX and wait for the "OK" response before deallocating. In programs using the mgcp client endpoint FSM (osmo-bsc, osmo-msc), this gets rid of false LMGCP ERROR logging related to DLCX like this: Cannot find matching MGCP transaction for trans_id 71998 Related: SYS#5529 Change-Id: I8fbfec5533e9be9cc7ea550df1e6639a0a215973 --- M src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c 1 file changed, 26 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/43/24943/1 diff --git a/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c b/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c index 7175c18..375ea46 100644 --- a/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c +++ b/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c @@ -990,6 +990,31 @@ return 0; } +void osmo_mgcpc_ep_fsm_pre_term(struct osmo_fsm_inst *fi, enum osmo_fsm_term_cause cause) +{ + int i; + struct osmo_mgcpc_ep *ep = osmo_mgcpc_ep_fi_mgwep(fi); + + /* We want the mgcp_client_fsm to still stick around until it received the DLCX "OK" responses from the MGW. So + * it should not dealloc along with this ep_fsm instance. Instead, signal DLCX for each conn on the endpoint, + * and detach the mgcp_client_fsm from being a child-fsm. + * + * After mgcp_conn_delete(), an mgcp_client_fsm instance goes into ST_DLCX_RESP, which waits up to 4 seconds for + * a DLCX OK. If none is received in that time, the instance terminates. So cleanup of the instance is + * guaranteed. */ + + for (i = 0; i < ARRAY_SIZE(ep->ci); i++) { + struct osmo_mgcpc_ep_ci *ci = &ep->ci[i]; + + if (!ci->occupied || !ci->mgcp_client_fi) + continue; + + mgcp_conn_delete(ci->mgcp_client_fi); + osmo_fsm_inst_unlink_parent(ci->mgcp_client_fi, ci->ep->mgcp_client); + ci->mgcp_client_fi = NULL; + } +} + static struct osmo_fsm osmo_mgcpc_ep_fsm = { .name = "mgw-endp", .states = osmo_mgcpc_ep_fsm_states, @@ -997,5 +1022,5 @@ .log_subsys = DLMGCP, .event_names = osmo_mgcpc_ep_fsm_event_names, .timer_cb = osmo_mgcpc_ep_fsm_timer_cb, - /* The FSM termination will automatically trigger any mgcp_client_fsm instances to DLCX. */ + .pre_term = osmo_mgcpc_ep_fsm_pre_term, }; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24943 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I8fbfec5533e9be9cc7ea550df1e6639a0a215973 Gerrit-Change-Number: 24943 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 Jul 15 00:16:07 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 15 Jul 2021 00:16:07 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_fsm: add missing log_subsys References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24944 ) Change subject: mgcp_client_fsm: add missing log_subsys ...................................................................... mgcp_client_fsm: add missing log_subsys To see state transitions and events on LMGCP DEBUG logging, actually set the log_subsys of the mgcp_client_fsm. Related: SYS#5529 Change-Id: I6e84d5f7b85752a7a54f17be1d074b01d1467f26 --- M src/libosmo-mgcp-client/mgcp_client_fsm.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/44/24944/1 diff --git a/src/libosmo-mgcp-client/mgcp_client_fsm.c b/src/libosmo-mgcp-client/mgcp_client_fsm.c index 1c0cd59..87afdb3 100644 --- a/src/libosmo-mgcp-client/mgcp_client_fsm.c +++ b/src/libosmo-mgcp-client/mgcp_client_fsm.c @@ -596,6 +596,7 @@ .timer_cb = fsm_timeout_cb, .cleanup = fsm_cleanup_cb, .event_names = fsm_mgcp_client_evt_names, + .log_subsys = DLMGCP, }; /*! allocate FSM, and create a new connection on the MGW. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24944 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6e84d5f7b85752a7a54f17be1d074b01d1467f26 Gerrit-Change-Number: 24944 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 Jul 15 00:16:08 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 15 Jul 2021 00:16:08 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: add logging on received MGCP messages References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24945 ) Change subject: mgcp_client: add logging on received MGCP messages ...................................................................... mgcp_client: add logging on received MGCP messages There is verbose debug logging on MGCP messages sent out to the MGW, but none on received MGCP messages. Add Rx logging. Related: SYS#5529 Change-Id: Id76230896aa87c1a12bd5ad87a62430c048a2873 --- M src/libosmo-mgcp-client/mgcp_client.c M tests/mgcp_client/mgcp_client_test.err 2 files changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/45/24945/1 diff --git a/src/libosmo-mgcp-client/mgcp_client.c b/src/libosmo-mgcp-client/mgcp_client.c index 8e6780e..444471f 100644 --- a/src/libosmo-mgcp-client/mgcp_client.c +++ b/src/libosmo-mgcp-client/mgcp_client.c @@ -677,6 +677,8 @@ goto error; } + LOGP(DLMGCP, LOGL_DEBUG, "MGCP client: Rx %d %u %s\n", r->head.response_code, r->head.trans_id, r->head.comment); + rc = parse_head_params(r); if (rc) { LOGP(DLMGCP, LOGL_ERROR, "Cannot parse MGCP response (head parameters)\n"); diff --git a/tests/mgcp_client/mgcp_client_test.err b/tests/mgcp_client/mgcp_client_test.err index 80119cb..e7db23c 100644 --- a/tests/mgcp_client/mgcp_client_test.err +++ b/tests/mgcp_client/mgcp_client_test.err @@ -10,6 +10,7 @@ - cancel succeeds DLMGCP Canceled transaction 1 - late response gets discarded +DLMGCP MGCP client: Rx 200 1 OK DLMGCP Cannot find matching MGCP transaction for trans_id 1 - canceling again does nothing DLMGCP Cannot cancel, no such transaction: 1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24945 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Id76230896aa87c1a12bd5ad87a62430c048a2873 Gerrit-Change-Number: 24945 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 Jul 15 00:29:08 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 15 Jul 2021 00:29:08 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_endpoint_fsm: on term, still let conns wait for DLCX OK 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/+/24943 to look at the new patch set (#2). Change subject: mgcp_client_endpoint_fsm: on term, still let conns wait for DLCX OK ...................................................................... mgcp_client_endpoint_fsm: on term, still let conns wait for DLCX OK When the mgcp_client_endpoint_fsm terminates, do not directly pull each conn FSM instance (mgcp_client_fsm) into oblivion as well. Those should emit a DLCX and wait for the "OK" response before deallocating. In programs using the mgcp client endpoint FSM (osmo-bsc, osmo-msc), this gets rid of false LMGCP ERROR logging related to DLCX like this: Cannot find matching MGCP transaction for trans_id 71998 Related: SYS#5529 Change-Id: I8fbfec5533e9be9cc7ea550df1e6639a0a215973 --- M src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c 1 file changed, 29 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/43/24943/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24943 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I8fbfec5533e9be9cc7ea550df1e6639a0a215973 Gerrit-Change-Number: 24943 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 Jul 15 00:29:09 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 15 Jul 2021 00:29:09 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_fsm delete: set mgcp_client as ctx, not NULL References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24946 ) Change subject: mgcp_client_fsm delete: set mgcp_client as ctx, not NULL ...................................................................... mgcp_client_fsm delete: set mgcp_client as ctx, not NULL Upon mgcp_conn_delete(), we unparent the FSM instance. Instead of setting the talloc ctx to NULL, place the deleting conn under the struct mgcp_client talloc ctx. Related: SYS#5529 Change-Id: Ia12749e0d7d520f24a967c2df9a4651267e1019e --- M src/libosmo-mgcp-client/mgcp_client_fsm.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/46/24946/1 diff --git a/src/libosmo-mgcp-client/mgcp_client_fsm.c b/src/libosmo-mgcp-client/mgcp_client_fsm.c index 1c0cd59..57c6d98 100644 --- a/src/libosmo-mgcp-client/mgcp_client_fsm.c +++ b/src/libosmo-mgcp-client/mgcp_client_fsm.c @@ -709,8 +709,8 @@ if (fi->proc.terminating) return; - /* Unlink FSM from parent */ - osmo_fsm_inst_unlink_parent(fi, NULL); + /* Unlink FSM from parent, set the struct mgcp_client as new talloc ctx. */ + osmo_fsm_inst_unlink_parent(fi, mgcp_ctx->mgcp); /* An error situation where the parent FSM must be killed immediately * may lead into a situation where the DLCX can not be executed right -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24946 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ia12749e0d7d520f24a967c2df9a4651267e1019e Gerrit-Change-Number: 24946 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 Jul 15 07:52:57 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 15 Jul 2021 07:52:57 +0000 Subject: Change in libosmocore[master]: vty: add "show uptime" In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, fixeria, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/24924 to look at the new patch set (#3). Change subject: vty: add "show uptime" ...................................................................... vty: add "show uptime" Related: OS#4609 Change-Id: Ic7d9d5d3c8a9abd06a7e626aed7679f68406040c --- M src/vty/command.c 1 file changed, 26 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/24/24924/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24924 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic7d9d5d3c8a9abd06a7e626aed7679f68406040c Gerrit-Change-Number: 24924 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 15 07:52:57 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 15 Jul 2021 07:52:57 +0000 Subject: Change in libosmocore[master]: vty: add "shutdown" In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/24926 to look at the new patch set (#3). Change subject: vty: add "shutdown" ...................................................................... vty: add "shutdown" Kill programs with SIGTERM with the new vty command, as it would happen with "systemctl stop". I've considered running the select shutdown logic too in order to ensure that pending OSMO_FD_WRITE requests are serviced. But as noted in review, it's better to ensure that the regular SIGTERM code path works as expected and call that instead of introducing an alternative code path. Closes: OS#4609 Change-Id: I3596a35b0f4a24e49484ec3f24a98e4d4f583e1e --- M src/vty/command.c 1 file changed, 16 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/26/24926/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24926 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3596a35b0f4a24e49484ec3f24a98e4d4f583e1e Gerrit-Change-Number: 24926 Gerrit-PatchSet: 3 Gerrit-Owner: osmith 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 Thu Jul 15 07:54:48 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 15 Jul 2021 07:54:48 +0000 Subject: Change in libosmocore[master]: vty: add "show uptime" In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24924 ) Change subject: vty: add "show uptime" ...................................................................... Patch Set 3: > Patch Set 2: Code-Review-1 > > why are we using time() here when everywhere else we (rightfully) use clock_gettime()? > > We don't care about the system RTC time (whcih may be wrong at boot and later corrected manually or via ntp). What we care about is the delta. Using time() will produce completely random results if the RTC changes at any time during the application execution. > > clock_gettime with CLOCK_MONOTONIC should be doing a much better job. Right, updated. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24924 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic7d9d5d3c8a9abd06a7e626aed7679f68406040c Gerrit-Change-Number: 24924 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 15 Jul 2021 07:54: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 Thu Jul 15 07:55:14 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 15 Jul 2021 07:55:14 +0000 Subject: Change in libosmocore[master]: vty: add "shutdown" In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24926 ) Change subject: vty: add "shutdown" ...................................................................... Patch Set 3: > Patch Set 2: > > > Patch Set 2: > > > > > Patch Set 1: > > > > > > Why not simply sending some signal() to the process itself and let usual SIGINT or alike take the usual exit path? > > > > I've tried it, but found that it doesn't nicely service the pending writes before quitting, at least with the programs I've tested. So I did a combination of both that doesn't need setting the variable in every loop. > > I would really avoid having a separate shutdown procedure/steps done when triggering by VTY. If the app doesn't support proper shutdown in usual case, I think it's dangerous doing so through VTY. So I'd vote for going the way I mentioned (sending signal SIGTERM or similar), and if specific apps don't behave as expected, then fix the usual shutdown path (SIGTERM or alike, usually sent by user or systemd). good point, updated. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24926 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3596a35b0f4a24e49484ec3f24a98e4d4f583e1e Gerrit-Change-Number: 24926 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 15 Jul 2021 07:55: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 Thu Jul 15 08:22:54 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 15 Jul 2021 08:22:54 +0000 Subject: Change in osmo-ci[master]: lint: checkpatch.pl: allow spaces below (g)DEFUN In-Reply-To: References: Message-ID: Hello pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ci/+/24918 to look at the new patch set (#2). Change subject: lint: checkpatch.pl: allow spaces below (g)DEFUN ...................................................................... lint: checkpatch.pl: allow spaces below (g)DEFUN Do not complain if indenting with exactly 6/7 spaces below (g)DEFUN(, as it's often done in VTY-related code in Osmocom. This patch assumes that if the line starts with 6/7 spaces and " or a word, it's probably below DEFUN( or gDEFUN(. I've considered implementing a more accurate check, but that would be too much effort (e.g. when more macros are involved). Other related macros, such as DEFUN_ATTR are longer. Indentation below those should be done with one tab (+ spaces for padding), the linter doesn't need to be adjusted for those. Related: OS#5087 Change-Id: I0934b63a62500e7a3e09c753cc63aa331e580cc6 --- M lint/checkpatch/checkpatch.pl 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/18/24918/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24918 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0934b63a62500e7a3e09c753cc63aa331e580cc6 Gerrit-Change-Number: 24918 Gerrit-PatchSet: 2 Gerrit-Owner: 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 Jul 15 08:23:37 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 15 Jul 2021 08:23:37 +0000 Subject: Change in osmo-ci[master]: lint: checkpatch.pl: allow spaces below (g)DEFUN In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24918 ) Change subject: lint: checkpatch.pl: allow spaces below (g)DEFUN ...................................................................... Patch Set 2: > Patch Set 1: > > there are different variants of DEFUN such as DEFUN_ATTR and gDEFUN, ... - are they covreed? now they are :) -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24918 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0934b63a62500e7a3e09c753cc63aa331e580cc6 Gerrit-Change-Number: 24918 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 15 Jul 2021 08:23: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 Thu Jul 15 09:02:22 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 15 Jul 2021 09:02:22 +0000 Subject: Change in osmo-bts[master]: allow to configure multiple oml remote-ip addresses In-Reply-To: References: Message-ID: Hello Jenkins Builder, neels, laforge, pespin, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/24513 to look at the new patch set (#10). Change subject: allow to configure multiple oml remote-ip addresses ...................................................................... allow to configure multiple oml remote-ip addresses At the moment we can only configure a single BSC in the BTS configuration. This also means that if this single BSC fails for some reason the BTS has no alternate BSC to connect to. Lets extend the remote-ip parameter so that it can be used multiple times so that an operater can configure any number of BSCs that are tried one after another during BTS startup. Change-Id: I205f68a3a7f35fee4c38a7cfba2b014237df2727 Related: SYS#4971 --- M include/osmo-bts/abis.h M include/osmo-bts/bts.h M src/common/abis.c M src/common/bts.c M src/common/main.c M src/common/vty.c M src/osmo-bts-omldummy/main.c 7 files changed, 292 insertions(+), 80 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/13/24513/10 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24513 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I205f68a3a7f35fee4c38a7cfba2b014237df2727 Gerrit-Change-Number: 24513 Gerrit-PatchSet: 10 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 15 09:02:51 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 15 Jul 2021 09:02:51 +0000 Subject: Change in osmo-bts[master]: allow to configure multiple oml remote-ip addresses In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24513 ) Change subject: allow to configure multiple oml remote-ip addresses ...................................................................... Patch Set 10: (3 comments) https://gerrit.osmocom.org/c/osmo-bts/+/24513/9/src/common/abis.c File src/common/abis.c: https://gerrit.osmocom.org/c/osmo-bts/+/24513/9/src/common/abis.c at 218 PS9, Line 218: priv->bsc_oml_host = bts->bsc_oml_hosts.next; > if (priv->bsc_oml_host == data) { [?] Done https://gerrit.osmocom.org/c/osmo-bts/+/24513/9/src/common/vty.c File src/common/vty.c: https://gerrit.osmocom.org/c/osmo-bts/+/24513/9/src/common/vty.c at 530 PS9, Line 530: if (bts->abis_link_fi) > This event can be dropped. Done https://gerrit.osmocom.org/c/osmo-bts/+/24513/9/src/common/vty.c at 556 PS9, Line 556: osmo_fsm_inst_dispatch(bts->abis_link_fi, ABIS_LINK_EV_VTY_CFG_CHANGE, NULL); > if (bts->abis_link_fi) [?] Done -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24513 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I205f68a3a7f35fee4c38a7cfba2b014237df2727 Gerrit-Change-Number: 24513 Gerrit-PatchSet: 10 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 15 Jul 2021 09:02:51 +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 Jul 15 09:26:05 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 15 Jul 2021 09:26:05 +0000 Subject: Change in osmo-bsc[master]: hodec2: add low-rxqual-assignment penalty timer (2/2) In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24937 ) Change subject: hodec2: add low-rxqual-assignment penalty timer (2/2) ...................................................................... Patch Set 3: Code-Review+2 let me also re-add pespin's earlier +1 again -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24937 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id00a07313fe04eec509b336c0637b59c707760e0 Gerrit-Change-Number: 24937 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 15 Jul 2021 09:26: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 Jul 15 09:28:18 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 15 Jul 2021 09:28:18 +0000 Subject: Change in osmo-bsc[master]: ensure trigger_ho() returns zero only when HO or AS was indeed triggered In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24930 ) Change subject: ensure trigger_ho() returns zero only when HO or AS was indeed triggered ...................................................................... ensure trigger_ho() returns zero only when HO or AS was indeed triggered In an upcoming patch, handover_decision_2.c will use this indicator to decide whether to start a penalty timer: "hodec2: add low-rxqual-assignment penalty timer (2/2)" Id00a07313fe04eec509b336c0637b59c707760e0 Related: SYS#5198 Change-Id: I5de385e0666f716184a62e6e70d656545ac5d2ee --- M include/osmocom/bsc/handover_fsm.h M src/osmo-bsc/handover_decision_2.c M src/osmo-bsc/handover_fsm.c 3 files changed, 7 insertions(+), 7 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve daniel: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/bsc/handover_fsm.h b/include/osmocom/bsc/handover_fsm.h index 1628d8f..052e09d 100644 --- a/include/osmocom/bsc/handover_fsm.h +++ b/include/osmocom/bsc/handover_fsm.h @@ -57,7 +57,7 @@ void handover_fsm_init(); -void handover_request(struct handover_out_req *req); +int handover_request(struct handover_out_req *req); void handover_start(struct handover_out_req *req); void handover_start_inter_bsc_in(struct gsm_subscriber_connection *conn, struct msgb *ho_request_msg); diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index 3fa1084..af36c31 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -854,7 +854,7 @@ if ((requirements & REQUIREMENT_TCHF_MASK)) { if (c->current.bts == c->target.bts) { LOGPHOLCHAN(c->current.lchan, LOGL_INFO, "Not performing assignment: Already on target type\n"); - return 0; + return -EALREADY; } full_rate = true; break; @@ -886,7 +886,7 @@ } if (c->current.bts == c->target.bts) { LOGPHOLCHAN(c->current.lchan, LOGL_INFO, "Not performing assignment: Already on target type\n"); - return 0; + return -EALREADY; } break; default: @@ -899,8 +899,8 @@ LOGPHOLCHAN(c->current.lchan, LOGL_NOTICE, "Triggering assignment to %s, due to %s\n", full_rate ? "TCH/F" : "TCH/H", ho_reason_name(global_ho_reason)); - reassignment_request_to_chan_type(ASSIGN_FOR_CONGESTION_RESOLUTION, c->current.lchan, - full_rate? GSM_LCHAN_TCH_F : GSM_LCHAN_TCH_H); + return reassignment_request_to_chan_type(ASSIGN_FOR_CONGESTION_RESOLUTION, c->current.lchan, + full_rate? GSM_LCHAN_TCH_F : GSM_LCHAN_TCH_H); } else { struct handover_out_req req = { .from_hodec_id = HODEC2, diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index 5f4b892..797a336 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -219,7 +219,7 @@ } while(0) /* issue handover to a cell identified by ARFCN and BSIC */ -void handover_request(struct handover_out_req *req) +int handover_request(struct handover_out_req *req) { struct gsm_subscriber_connection *conn; OSMO_ASSERT(req->old_lchan); @@ -229,7 +229,7 @@ /* To make sure we're allowed to start a handover, go through a gscon event dispatch. If that is accepted, the * same req is passed to handover_start(). */ - osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_HANDOVER_START, req); + return osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_HANDOVER_START, req); } /* Check that ho has old_lchan and/or new_lchan and conn pointers match. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24930 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5de385e0666f716184a62e6e70d656545ac5d2ee Gerrit-Change-Number: 24930 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 15 09:28:19 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 15 Jul 2021 09:28:19 +0000 Subject: Change in osmo-bsc[master]: handover_test: also show when an lchan is busy In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24931 ) Change subject: handover_test: also show when an lchan is busy ...................................................................... handover_test: also show when an lchan is busy In expect-ts-use, indicate a busy lchan with letter '!'. The code is a bit complex because of the choice made earlier to show two TCH/H subslots as "TCH/HH", "TCH/H-" or "TCH/-H" depending on the subslot states: - show "-" as a shorthand for "all subslots UNUSED" - show a "TCH/" prefix only when there is any "H" or "F" following, i.e. when any subslot is actually established - if a subslot is busy (any other state besides ESTABLISHED and UNUSED), indicate the subslot as '!'. The spectrum of reported state strings for TCH/F is: TCH/F ! - For TCH/H: TCH/HH TCH/H- TCH/-H TCH/H! TCH/!H !- -! - The only current test affected is test_penalty_timer.ho_vty, where a failed handover leaves an lchan in LCHAN_ST_WAIT_AFTER_ERROR. Adjust that test. Rationale: I will soon add tests to verify the accurate timeout of a handover2 penalty timer. While implementing, I noticed that immediate retry of the handover ends up in timeslot 2, because timeslot 1 is still in WAIT_AFTER_ERROR. Instead of working around that, I would like to explicitly show the error state in the test -- it is an important aspect. Related: SYS#5198 Change-Id: I735ce7e2c3e0e450d3f76047d7e47691fe889cad --- M tests/handover/handover_test.c M tests/handover/test_penalty_timer.ho_vty 2 files changed, 33 insertions(+), 13 deletions(-) Approvals: neels: Looks good to me, approved daniel: 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/tests/handover/handover_test.c b/tests/handover/handover_test.c index 2c97f78..60a31be 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -287,6 +287,34 @@ return bts; } +char *lchans_use_str(struct gsm_bts_trx_ts *ts, const char *established_prefix, char established_char) +{ + char state_chars[8] = { 0 }; + struct gsm_lchan *lchan; + bool any_lchans_established = false; + bool any_lchans_in_use = false; + ts_for_n_lchans(lchan, ts, ts->max_primary_lchans) { + char state_char; + if (lchan_state_is(lchan, LCHAN_ST_UNUSED)) { + state_char = '-'; + } else { + any_lchans_in_use = true; + if (lchan_state_is(lchan, LCHAN_ST_ESTABLISHED)) { + any_lchans_established = true; + state_char = established_char; + } else { + state_char = '!'; + } + } + state_chars[lchan->nr] = state_char; + } + if (!any_lchans_in_use) + return "-"; + if (!any_lchans_established) + established_prefix = ""; + return talloc_asprintf(OTC_SELECT, "%s%s", established_prefix, state_chars); +} + const char *ts_use_str(struct gsm_bts_trx_ts *ts) { switch (ts->pchan_is) { @@ -297,20 +325,10 @@ return "-"; case GSM_PCHAN_TCH_F: - if (lchan_state_is(&ts->lchan[0], LCHAN_ST_ESTABLISHED)) - return "TCH/F"; - else - return "-"; + return lchans_use_str(ts, "TCH/", 'F'); case GSM_PCHAN_TCH_H: - if (lchan_state_is(&ts->lchan[0], LCHAN_ST_ESTABLISHED) - && lchan_state_is(&ts->lchan[1], LCHAN_ST_ESTABLISHED)) - return "TCH/HH"; - if (lchan_state_is(&ts->lchan[0], LCHAN_ST_ESTABLISHED)) - return "TCH/H-"; - if (lchan_state_is(&ts->lchan[1], LCHAN_ST_ESTABLISHED)) - return "TCH/-H"; - return "-"; + return lchans_use_str(ts, "TCH/", 'H'); default: return gsm_pchan_name(ts->pchan_is); diff --git a/tests/handover/test_penalty_timer.ho_vty b/tests/handover/test_penalty_timer.ho_vty index 7528a0f..22b9a95 100644 --- a/tests/handover/test_penalty_timer.ho_vty +++ b/tests/handover/test_penalty_timer.ho_vty @@ -9,7 +9,9 @@ expect-chan lchan 1 0 1 0 expect-ho-cmd lchan 0 0 1 0 ho-failed +# first BTS still services the call: expect-ts-use trx 0 0 states * TCH/F - - - - - - -expect-ts-use trx 1 0 states * - - - - - - - +# lchan 1 0 1 0 is in LCHAN_ST_WAIT_AFTER_ERROR because the handover failed: +expect-ts-use trx 1 0 states * ! - - - - - - meas-rep lchan 0 0 1 0 rxlev 20 rxqual 0 ta 0 neighbors 30 expect-no-chan -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24931 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I735ce7e2c3e0e450d3f76047d7e47691fe889cad Gerrit-Change-Number: 24931 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel 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 Jul 15 09:28:19 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 15 Jul 2021 09:28:19 +0000 Subject: Change in osmo-bsc[master]: switch handover penalty timers to CLOCK_MONOTONIC In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24932 ) Change subject: switch handover penalty timers to CLOCK_MONOTONIC ...................................................................... switch handover penalty timers to CLOCK_MONOTONIC To be able to add a fake time to handover tests, the penalty timers need to use an osmo_* time source. There already is a fixme comment rightfully asking for a monotonic clock, so this change is overdue anyway. An upcoming patch will prove that this works: "handover tests: test passing of penalty timeout" I65e59cc7309778cf9d71612669ce84d101c8135e Related: SYS#5198 Change-Id: Ifb1ab3165db50511aed4f65aa445798367d7e19e --- M src/osmo-bsc/penalty_timers.c 1 file changed, 4 insertions(+), 4 deletions(-) Approvals: daniel: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bsc/penalty_timers.c b/src/osmo-bsc/penalty_timers.c index 6890061..124a362 100644 --- a/src/osmo-bsc/penalty_timers.c +++ b/src/osmo-bsc/penalty_timers.c @@ -30,10 +30,10 @@ static unsigned int time_now(void) { - time_t now; - time(&now); - /* FIXME: use monotonic clock */ - return (unsigned int)now; + struct timespec tp; + if (osmo_clock_gettime(CLOCK_MONOTONIC, &tp)) + return 0; + return (unsigned int)tp.tv_sec; } /* Add a penalty timer for a target cell ID. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24932 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifb1ab3165db50511aed4f65aa445798367d7e19e Gerrit-Change-Number: 24932 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel 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 Jul 15 09:28:20 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 15 Jul 2021 09:28:20 +0000 Subject: Change in osmo-bsc[master]: handover_test: add fake-time 'wait' In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24933 ) Change subject: handover_test: add fake-time 'wait' ...................................................................... handover_test: add fake-time 'wait' Add a 'wait' cmd that lets (fake) time pass. An ucoming patch will show the first use of this: "test_penalty_timer.ho_vty: show lchan recovery" I8f7668b6d08a0dac9e90d2358955f9d5099d39fa My actual original reason to add this follows in patches - "handover tests: test passing of penalty timeout" I65e59cc7309778cf9d71612669ce84d101c8135e - "hodec2: add low-rxqual-assignment penalty timer (2/2)" Id00a07313fe04eec509b336c0637b59c707760e0 Related: SYS#5198 Change-Id: Ia6b5696adef7e7bf649473b4d79b96acf3aa59e3 --- M tests/handover/handover_test.c 1 file changed, 56 insertions(+), 0 deletions(-) Approvals: daniel: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index 60a31be..331726a 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -94,6 +94,41 @@ uint8_t bcch_f; }; +const struct timeval fake_time_start_time = { 123, 456 }; + +void fake_time_passes(time_t secs, suseconds_t usecs) +{ + struct timeval diff; + /* Add time to osmo_fsm timers, using osmo_gettimeofday() */ + osmo_gettimeofday_override_add(secs, usecs); + /* Add time to penalty timers, using osmo_clock_gettime() */ + osmo_clock_override_add(CLOCK_MONOTONIC, secs, usecs * 1000); + + timersub(&osmo_gettimeofday_override_time, &fake_time_start_time, &diff); + fprintf(stderr, "Total time passed: %d.%06d s\n", (int)diff.tv_sec, (int)diff.tv_usec); + + osmo_timers_prepare(); + osmo_timers_update(); +} + +void fake_time_start() +{ + struct timespec *clock_override; + + /* osmo_fsm uses osmo_gettimeofday(). To affect FSM timeouts, we need osmo_gettimeofday_override. */ + osmo_gettimeofday_override_time = fake_time_start_time; + osmo_gettimeofday_override = true; + + /* Penalty timers use osmo_clock_gettime(CLOCK_MONOTONIC). To affect these timeouts, we need + * osmo_gettimeofday_override. */ + clock_override = osmo_clock_override_gettimespec(CLOCK_MONOTONIC); + OSMO_ASSERT(clock_override); + clock_override->tv_sec = fake_time_start_time.tv_sec; + clock_override->tv_nsec = fake_time_start_time.tv_usec * 1000; + osmo_clock_override_enable(CLOCK_MONOTONIC, true); + fake_time_passes(0, 0); +} + static void gen_meas_rep(struct gsm_lchan *lchan, uint8_t bs_power_db, uint8_t rxlev, uint8_t rxqual, uint8_t ta, int neighbors_count, struct neighbor_meas *neighbors) @@ -1410,6 +1445,22 @@ return CMD_SUCCESS; } +DEFUN(wait, wait_cmd, + "wait <0-999999> [<0-999>]", + "Let some fake time pass. The test continues instantaneously, but this overrides osmo_gettimeofday() to let" + " given amount of time pass virtually.\n" + "Seconds to fake-wait\n" + "Microseconds to fake-wait, in addition to the seconds waited\n") +{ + time_t seconds = atoi(argv[0]); + suseconds_t useconds = 0; + VTY_ECHO(); + if (argc > 1) + useconds = atoi(argv[1]) * 1000; + fake_time_passes(seconds, useconds); + return CMD_SUCCESS; +} + static void ho_test_vty_init() { install_element(CONFIG_NODE, &create_n_bts_cmd); @@ -1433,6 +1484,7 @@ install_element(CONFIG_NODE, &codec_f_cmd); install_element(CONFIG_NODE, &codec_h_cmd); install_element(CONFIG_NODE, &set_ts_use_cmd); + install_element(CONFIG_NODE, &wait_cmd); } static const struct log_info_cat log_categories[] = { @@ -1554,6 +1606,10 @@ log_set_print_timestamp(osmo_stderr_target, 0); osmo_fsm_log_addr(false); + /* the 'wait' command above, intended to test penalty timers, adds seconds to the monotonic clock in "fake + * time". */ + fake_time_start(); + bsc_network_alloc(); if (!bsc_gsmnet) exit(1); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24933 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia6b5696adef7e7bf649473b4d79b96acf3aa59e3 Gerrit-Change-Number: 24933 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel 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 Jul 15 09:28:20 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 15 Jul 2021 09:28:20 +0000 Subject: Change in osmo-bsc[master]: test_penalty_timer.ho_vty: show lchan recovery In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24934 ) Change subject: test_penalty_timer.ho_vty: show lchan recovery ...................................................................... test_penalty_timer.ho_vty: show lchan recovery Use recently added fake-time 'wait' command to show how the lchan in LCHAN_ST_WAIT_AFTER_ERROR recovers as soon as timer X3111 has passed. This prepares for also waiting for the penalty timeout to pass. Related: SYS#5198 Change-Id: I8f7668b6d08a0dac9e90d2358955f9d5099d39fa --- M tests/handover/test_penalty_timer.ho_vty 1 file changed, 14 insertions(+), 0 deletions(-) Approvals: daniel: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/tests/handover/test_penalty_timer.ho_vty b/tests/handover/test_penalty_timer.ho_vty index 22b9a95..9511b5e 100644 --- a/tests/handover/test_penalty_timer.ho_vty +++ b/tests/handover/test_penalty_timer.ho_vty @@ -3,6 +3,12 @@ # Even though the cell is still better, handover will not be performed # due to penalty timer after handover failure +network + # set the timeout for LCHAN_ST_WAIT_AFTER_ERROR + timer X3111 5 + # set penalty timeout + handover2 penalty-time failed-ho 23 + create-n-bts 2 set-ts-use trx 0 0 states * TCH/F - - - - - - meas-rep lchan 0 0 1 0 rxlev 20 rxqual 0 ta 0 neighbors 30 @@ -11,7 +17,15 @@ ho-failed # first BTS still services the call: expect-ts-use trx 0 0 states * TCH/F - - - - - - + # lchan 1 0 1 0 is in LCHAN_ST_WAIT_AFTER_ERROR because the handover failed: expect-ts-use trx 1 0 states * ! - - - - - - +wait 4 +expect-ts-use trx 1 0 states * ! - - - - - - +wait 1 +expect-ts-use trx 1 0 states * - - - - - - - +# back to UNUSED + +# No handover because the penalty timer is still running meas-rep lchan 0 0 1 0 rxlev 20 rxqual 0 ta 0 neighbors 30 expect-no-chan -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24934 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8f7668b6d08a0dac9e90d2358955f9d5099d39fa Gerrit-Change-Number: 24934 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel 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 Jul 15 09:28:21 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 15 Jul 2021 09:28:21 +0000 Subject: Change in osmo-bsc[master]: handover tests: test passing of penalty timeout In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24935 ) Change subject: handover tests: test passing of penalty timeout ...................................................................... handover tests: test passing of penalty timeout With recent addition of fake time in handover_test ('wait cmd'), show how a penalty timeout in handover decision 2 passes and allows a handover again after due time. Related: SYS#5198 Change-Id: I65e59cc7309778cf9d71612669ce84d101c8135e --- M tests/handover/test_max_ta.ho_vty M tests/handover/test_penalty_timer.ho_vty 2 files changed, 30 insertions(+), 0 deletions(-) Approvals: daniel: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/tests/handover/test_max_ta.ho_vty b/tests/handover/test_max_ta.ho_vty index 05c4a76..56dbb19 100644 --- a/tests/handover/test_max_ta.ho_vty +++ b/tests/handover/test_max_ta.ho_vty @@ -7,15 +7,31 @@ create-n-bts 2 set-ts-use trx 0 0 states * TCH/F - - - - - - + network bts 0 handover2 maximum distance 5 + handover2 penalty-time max-distance 17 + meas-rep lchan 0 0 1 0 rxlev 30 rxqual 0 ta 5 neighbors 20 expect-no-chan meas-rep lchan 0 0 1 0 rxlev 30 rxqual 0 ta 6 neighbors 20 expect-ho from lchan 0 0 1 0 to lchan 1 0 1 0 expect-ts-use trx 0 0 states * - - - - - - - expect-ts-use trx 1 0 states * TCH/F - - - - - - + +# Penalty timer after TA was exceeded is running, so no handover back to the better cell: meas-rep lchan 1 0 1 0 rxlev 20 rxqual 0 ta 6 neighbors 30 expect-no-chan +wait 16 +# Penalty timer still running +meas-rep lchan 1 0 1 0 rxlev 20 rxqual 0 ta 6 neighbors 30 +expect-no-chan + +wait 1 +# Now 17 seconds have passed, timeout is done, and a handover is performed again. +meas-rep lchan 1 0 1 0 rxlev 20 rxqual 0 ta 6 neighbors 30 +expect-ho from lchan 1 0 1 0 to lchan 0 0 1 0 +expect-ts-use trx 0 0 states * TCH/F - - - - - - +expect-ts-use trx 1 0 states * - - - - - - - diff --git a/tests/handover/test_penalty_timer.ho_vty b/tests/handover/test_penalty_timer.ho_vty index 9511b5e..8d864a2 100644 --- a/tests/handover/test_penalty_timer.ho_vty +++ b/tests/handover/test_penalty_timer.ho_vty @@ -29,3 +29,17 @@ # No handover because the penalty timer is still running meas-rep lchan 0 0 1 0 rxlev 20 rxqual 0 ta 0 neighbors 30 expect-no-chan + +wait 17 +# at this point, the penalty timer has not yet expired. (4+1+17 = 22 < 23) +meas-rep lchan 0 0 1 0 rxlev 20 rxqual 0 ta 0 neighbors 30 +expect-no-chan +expect-ts-use trx 0 0 states * TCH/F - - - - - - +expect-ts-use trx 1 0 states * - - - - - - - + +wait 1 +# now the penalty timer of 23 seconds has passed and the handover is attempted again. +meas-rep lchan 0 0 1 0 rxlev 20 rxqual 0 ta 0 neighbors 30 +expect-ho from lchan 0 0 1 0 to lchan 1 0 1 0 +expect-ts-use trx 0 0 states * - - - - - - - +expect-ts-use trx 1 0 states * TCH/F - - - - - - -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24935 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I65e59cc7309778cf9d71612669ce84d101c8135e Gerrit-Change-Number: 24935 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel 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 Jul 15 09:28:21 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 15 Jul 2021 09:28:21 +0000 Subject: Change in osmo-bsc[master]: hodec2: add low-rxqual-assignment penalty timer (1/2) In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24936 ) Change subject: hodec2: add low-rxqual-assignment penalty timer (1/2) ...................................................................... hodec2: add low-rxqual-assignment penalty timer (1/2) First add a handover test script that shows the behavior without the low-rxqual-assignment penalty timer implemented. When implemented, the changes to this test script will show the change in behavior. Related: SYS#5198 Change-Id: I799fce709c86401546ccfe41b9f57fd579bcd987 --- M tests/handover/test_amr_tch_h_to_f_rxqual.ho_vty 1 file changed, 26 insertions(+), 0 deletions(-) Approvals: daniel: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/tests/handover/test_amr_tch_h_to_f_rxqual.ho_vty b/tests/handover/test_amr_tch_h_to_f_rxqual.ho_vty index 10db404..32a95e1 100644 --- a/tests/handover/test_amr_tch_h_to_f_rxqual.ho_vty +++ b/tests/handover/test_amr_tch_h_to_f_rxqual.ho_vty @@ -14,3 +14,29 @@ # average rxqual now at 6 which is worse than 5, reassign to TCH/F due to bad rxqual. expect-as from lchan 0 0 4 0 to lchan 0 0 1 0 expect-ts-use trx 0 0 states * TCH/F - - - - - * +meas-rep repeat 2 lchan 0 0 1 0 rxlev 30 rxqual 5 ta 0 + +# After the upgrade to TCH/F, there should be a penalty timer against re-assgnment within this cell. +# Configure congestion resolution so that it would normally want to do a re-assignment: +network + handover2 min-free-slots tch/f 3 + handover2 window rxlev averaging 1 + handover2 min rxlev -90 + +# The penalty timer is still active, no re-assignment from congestion of TCH/H +congestion-check +# "FAIL": the penalty timer is not yet implemented +#expect-no-chan +#expect-ts-use trx 0 0 states * TCH/F - - - - - * +expect-as from lchan 0 0 1 0 to lchan 0 0 4 0 +expect-ts-use trx 0 0 states * - - - TCH/H- - - * + +# But handover to another cell is not held off +create-bts trx-count 1 timeslots c+s4 TCH/F TCH/F TCH/F TCH/H TCH/H TCH/H PDCH +set-ts-use trx 0 0 states * TCH/F - - - - - * +expect-ts-use trx 1 0 states * - - - - - - * + +meas-rep lchan 0 0 1 0 rxlev 30 rxqual 5 ta 0 neighbors 35 +expect-ho from lchan 0 0 1 0 to lchan 1 0 4 0 +expect-ts-use trx 0 0 states * - - - - - - * +expect-ts-use trx 1 0 states * - - - TCH/H- - - * -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24936 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I799fce709c86401546ccfe41b9f57fd579bcd987 Gerrit-Change-Number: 24936 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel 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 Jul 15 09:28:22 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 15 Jul 2021 09:28:22 +0000 Subject: Change in osmo-bsc[master]: hodec2: add low-rxqual-assignment penalty timer (2/2) In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24937 ) Change subject: hodec2: add low-rxqual-assignment penalty timer (2/2) ...................................................................... hodec2: add low-rxqual-assignment penalty timer (2/2) Hold off re-assignment after an intra-cell re-assignment due to low rxqual. Adjust test_amr_tch_h_to_f_rxqual.ho_vty to show the changed behaviour. Related: SYS#5198 Change-Id: Id00a07313fe04eec509b336c0637b59c707760e0 --- M include/osmocom/bsc/handover_cfg.h M src/osmo-bsc/handover_decision_2.c M tests/handover/test_amr_tch_h_to_f_rxqual.ho_vty M tests/handover_cfg.vty 4 files changed, 39 insertions(+), 13 deletions(-) Approvals: neels: Looks good to me, approved daniel: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/bsc/handover_cfg.h b/include/osmocom/bsc/handover_cfg.h index 551ce8d..2bd2681 100644 --- a/include/osmocom/bsc/handover_cfg.h +++ b/include/osmocom/bsc/handover_cfg.h @@ -261,6 +261,13 @@ " see also 'handover2 retries'\n" \ "Seconds\n") \ \ + HO_CFG_ONE_MEMBER(int, hodec2_penalty_low_rxqual_as, 60, \ + "handover2 ", "penalty-time low-rxqual-assignment", "<0-99999>", atoi, "%d", as_is, \ + HO_CFG_STR_HANDOVER2 \ + HO_CFG_STR_PENALTY_TIME \ + "Time to suspend re-assignment after an lchan was re-assigned because of low RxQual\n" \ + "Seconds\n") \ + \ HO_CFG_ONE_MEMBER(int, hodec2_retries, 0, \ "handover2 ", "retries", "<0-9>", atoi, "%d", as_is, \ HO_CFG_STR_HANDOVER2 \ diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index af36c31..d08173c 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -1410,10 +1410,21 @@ /* perform handover, if there is a candidate */ if (best_cand) { + int rc; LOGPHOCAND(best_cand, LOGL_INFO, "Best candidate: RX level %d%s\n", rxlev2dbm(best_cand->target.rxlev), best_applied_afs_bias ? " (applied AHS -> AFS rxlev bias)" : ""); - return trigger_ho(best_cand, best_cand->requirements & REQUIREMENT_A_MASK); + rc = trigger_ho(best_cand, best_cand->requirements & REQUIREMENT_A_MASK); + + /* After upgrading TCH/H to TCH/F due to bad RxQual, start penalty timer to avoid re-assignment within + * the same cell again, to avoid oscillation from RxQual noise combined with congestion resolution. */ + if (!rc && is_upgrade_to_tchf(best_cand, REQUIREMENT_A_MASK)) { + struct gsm0808_cell_id bts_id; + gsm_bts_cell_id(&bts_id, best_cand->target.bts); + penalty_timers_add(lchan->conn, &lchan->conn->hodec2.penalty_timers, &bts_id, + ho_get_hodec2_penalty_low_rxqual_as(bts->ho)); + } + return rc; } /* Damn, all is congested, has too low RXLEV or cannot service the voice call due to codec diff --git a/tests/handover/test_amr_tch_h_to_f_rxqual.ho_vty b/tests/handover/test_amr_tch_h_to_f_rxqual.ho_vty index 32a95e1..f3a2a90 100644 --- a/tests/handover/test_amr_tch_h_to_f_rxqual.ho_vty +++ b/tests/handover/test_amr_tch_h_to_f_rxqual.ho_vty @@ -25,15 +25,12 @@ # The penalty timer is still active, no re-assignment from congestion of TCH/H congestion-check -# "FAIL": the penalty timer is not yet implemented -#expect-no-chan -#expect-ts-use trx 0 0 states * TCH/F - - - - - * -expect-as from lchan 0 0 1 0 to lchan 0 0 4 0 -expect-ts-use trx 0 0 states * - - - TCH/H- - - * +expect-no-chan +expect-ts-use trx 0 0 states * TCH/F - - - - - * # But handover to another cell is not held off create-bts trx-count 1 timeslots c+s4 TCH/F TCH/F TCH/F TCH/H TCH/H TCH/H PDCH -set-ts-use trx 0 0 states * TCH/F - - - - - * +expect-ts-use trx 0 0 states * TCH/F - - - - - * expect-ts-use trx 1 0 states * - - - - - - * meas-rep lchan 0 0 1 0 rxlev 30 rxqual 5 ta 0 neighbors 35 diff --git a/tests/handover_cfg.vty b/tests/handover_cfg.vty index ccb1a6b..eb3ec3e 100644 --- a/tests/handover_cfg.vty +++ b/tests/handover_cfg.vty @@ -189,6 +189,7 @@ handover2 penalty-time max-distance (<0-99999>|default) handover2 penalty-time failed-ho (<0-99999>|default) handover2 penalty-time failed-assignment (<0-99999>|default) + handover2 penalty-time low-rxqual-assignment (<0-99999>|default) handover2 retries (<0-9>|default) handover2 congestion-check (disabled|<1-999>|now) ... @@ -384,9 +385,10 @@ default Use default (9999), remove explicit setting on this node OsmoBSC(config-net)# handover2 penalty-time ? - max-distance Time to suspend handover for a subscriber after leaving this cell due to exceeding max distance; see also 'handover2 retries' - failed-ho Time to suspend handover for a subscriber after a failed handover into this cell; see also 'handover2 retries' - failed-assignment Time to suspend handover for a subscriber after a failed re-assignment within this cell; see also 'handover2 retries' + max-distance Time to suspend handover for a subscriber after leaving this cell due to exceeding max distance; see also 'handover2 retries' + failed-ho Time to suspend handover for a subscriber after a failed handover into this cell; see also 'handover2 retries' + failed-assignment Time to suspend handover for a subscriber after a failed re-assignment within this cell; see also 'handover2 retries' + low-rxqual-assignment Time to suspend re-assignment after an lchan was re-assigned because of low RxQual OsmoBSC(config-net)# handover2 penalty-time max-distance ? <0-99999> Seconds @@ -400,6 +402,10 @@ <0-99999> Seconds default Use default (60), remove explicit setting on this node +OsmoBSC(config-net)# handover2 penalty-time low-rxqual-assignment ? + <0-99999> Seconds + default Use default (60), remove explicit setting on this node + OsmoBSC(config-net)# handover2 retries ? <0-9> Number of retries default Use default (0), remove explicit setting on this node @@ -603,9 +609,10 @@ default Use default (9999), remove explicit setting on this node OsmoBSC(config-net-bts)# handover2 penalty-time ? - max-distance Time to suspend handover for a subscriber after leaving this cell due to exceeding max distance; see also 'handover2 retries' - failed-ho Time to suspend handover for a subscriber after a failed handover into this cell; see also 'handover2 retries' - failed-assignment Time to suspend handover for a subscriber after a failed re-assignment within this cell; see also 'handover2 retries' + max-distance Time to suspend handover for a subscriber after leaving this cell due to exceeding max distance; see also 'handover2 retries' + failed-ho Time to suspend handover for a subscriber after a failed handover into this cell; see also 'handover2 retries' + failed-assignment Time to suspend handover for a subscriber after a failed re-assignment within this cell; see also 'handover2 retries' + low-rxqual-assignment Time to suspend re-assignment after an lchan was re-assigned because of low RxQual OsmoBSC(config-net-bts)# handover2 penalty-time max-distance ? <0-99999> Seconds @@ -619,6 +626,10 @@ <0-99999> Seconds default Use default (60), remove explicit setting on this node +OsmoBSC(config-net-bts)# handover2 penalty-time low-rxqual-assignment ? + <0-99999> Seconds + default Use default (60), remove explicit setting on this node + OsmoBSC(config-net-bts)# handover2 retries ? <0-9> Number of retries default Use default (0), remove explicit setting on this node -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24937 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id00a07313fe04eec509b336c0637b59c707760e0 Gerrit-Change-Number: 24937 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel 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 Jul 15 09:36:20 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 15 Jul 2021 09:36:20 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: add logging on received MGCP 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-mgw/+/24945 to look at the new patch set (#3). Change subject: mgcp_client: add logging on received MGCP messages ...................................................................... mgcp_client: add logging on received MGCP messages There is verbose debug logging on MGCP messages sent out to the MGW, but none on received MGCP messages. Add Rx logging. Related: SYS#5529 Change-Id: Id76230896aa87c1a12bd5ad87a62430c048a2873 --- M src/libosmo-mgcp-client/mgcp_client.c M tests/mgcp_client/mgcp_client_test.err 2 files changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/45/24945/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24945 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Id76230896aa87c1a12bd5ad87a62430c048a2873 Gerrit-Change-Number: 24945 Gerrit-PatchSet: 3 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 Jul 15 10:02:35 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 15 Jul 2021 10:02:35 +0000 Subject: Change in osmo-bsc[master]: handover_ctrl: add control interface for handover settings In-Reply-To: References: Message-ID: Hello Jenkins Builder, neels, laforge, pespin, fixeria, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24600 to look at the new patch set (#8). Change subject: handover_ctrl: add control interface for handover settings ...................................................................... handover_ctrl: add control interface for handover settings The VTY handover_vtc.c offers a large number of handover specific settings. Those settings are (with one exception) auto generated using macros. Lets add an equivalent for the control interface that uses the same auto generation mechanisms. Change-Id: I12f143906818fd6b16e8783157cbb1eb51e49ffc Depends: libosmocore I53fc207677f52b1dc748b01d58424839cdba807c Related: SYS#5369 --- M doc/manuals/chapters/control.adoc M include/osmocom/bsc/Makefile.am A include/osmocom/bsc/handover_ctrl.h M src/osmo-bsc/Makefile.am A src/osmo-bsc/handover_ctrl.c M src/osmo-bsc/osmo_bsc_ctrl.c M tests/handover/Makefile.am 7 files changed, 254 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/00/24600/8 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24600 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I12f143906818fd6b16e8783157cbb1eb51e49ffc Gerrit-Change-Number: 24600 Gerrit-PatchSet: 8 Gerrit-Owner: dexter Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 15 10:04:07 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 15 Jul 2021 10:04:07 +0000 Subject: Change in osmo-bsc[master]: handover_ctrl: add control interface for handover settings In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24600 ) Change subject: handover_ctrl: add control interface for handover settings ...................................................................... Patch Set 8: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24600/7/src/osmo-bsc/handover_ctrl.c File src/osmo-bsc/handover_ctrl.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24600/7/src/osmo-bsc/handover_ctrl.c at 185 PS7, Line 185: { > 0) I don't understand yet where the spaces-to-dots conversion happens. [?] 0) I also do not understand this, there seems to be an agreement that one has to define the commands with spaces and internally the spaces are then translated to dots. Probably this is intended so that one can re-use the lines from VTY. 1) Makes sense, saves some memory. 2) I have tried that. The space is also an illegal char and gets replaced with - and then it does not work anymore. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24600 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I12f143906818fd6b16e8783157cbb1eb51e49ffc Gerrit-Change-Number: 24600 Gerrit-PatchSet: 8 Gerrit-Owner: dexter Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 15 Jul 2021 10:04:07 +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 Jul 15 10:05:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 15 Jul 2021 10:05:17 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_endpoint_fsm: on term, still let conns wait for DLCX OK In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24943 ) Change subject: mgcp_client_endpoint_fsm: on term, still let conns wait for DLCX OK ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24943 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I8fbfec5533e9be9cc7ea550df1e6639a0a215973 Gerrit-Change-Number: 24943 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 15 Jul 2021 10:05:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 15 10:18:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 15 Jul 2021 10:18:42 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_fsm: add missing log_subsys In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24944 ) Change subject: mgcp_client_fsm: add missing log_subsys ...................................................................... Patch Set 2: Code-Review+2 This is the reason why I was missing some log lines in journald! -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24944 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6e84d5f7b85752a7a54f17be1d074b01d1467f26 Gerrit-Change-Number: 24944 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 15 Jul 2021 10:18:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 15 10:19:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 15 Jul 2021 10:19:54 +0000 Subject: Change in libosmocore[master]: vty: add "show uptime" In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24924 ) Change subject: vty: add "show uptime" ...................................................................... Patch Set 3: Code-Review-1 (2 comments) https://gerrit.osmocom.org/c/libosmocore/+/24924/3/src/vty/command.c File src/vty/command.c: https://gerrit.osmocom.org/c/libosmocore/+/24924/3/src/vty/command.c at 3047 PS3, Line 3047: clock_gettime(CLOCK_MONOTONIC, &now); osmo_clock_gettime https://gerrit.osmocom.org/c/libosmocore/+/24924/3/src/vty/command.c at 4426 PS3, Line 4426: } osmo_clock_gettime -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24924 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic7d9d5d3c8a9abd06a7e626aed7679f68406040c Gerrit-Change-Number: 24924 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 15 Jul 2021 10:19: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 Jul 15 10:20:52 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 15 Jul 2021 10:20:52 +0000 Subject: Change in libosmocore[master]: vty: add "shutdown" In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24926 ) Change subject: vty: add "shutdown" ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24926 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3596a35b0f4a24e49484ec3f24a98e4d4f583e1e Gerrit-Change-Number: 24926 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 15 Jul 2021 10: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 Thu Jul 15 10:26:03 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 15 Jul 2021 10:26:03 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_fsm delete: set mgcp_client as ctx, not NULL In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24946 ) Change subject: mgcp_client_fsm delete: set mgcp_client as ctx, not NULL ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24946 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ia12749e0d7d520f24a967c2df9a4651267e1019e Gerrit-Change-Number: 24946 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 15 Jul 2021 10:26: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 Jul 15 10:26:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 15 Jul 2021 10:26:28 +0000 Subject: Change in osmo-ci[master]: lint: checkpatch.pl: allow spaces below (g)DEFUN In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24918 ) Change subject: lint: checkpatch.pl: allow spaces below (g)DEFUN ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24918 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0934b63a62500e7a3e09c753cc63aa331e580cc6 Gerrit-Change-Number: 24918 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 15 Jul 2021 10:26:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 15 10:32:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 15 Jul 2021 10:32:28 +0000 Subject: Change in osmo-bts[master]: allow to configure multiple oml remote-ip addresses In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24513 ) Change subject: allow to configure multiple oml remote-ip addresses ...................................................................... Patch Set 10: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24513/10/src/common/abis.c File src/common/abis.c: https://gerrit.osmocom.org/c/osmo-bts/+/24513/10/src/common/abis.c at 92 PS10, Line 92: AFAIU you can also receive the other new event here now, which would make this assert? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24513 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I205f68a3a7f35fee4c38a7cfba2b014237df2727 Gerrit-Change-Number: 24513 Gerrit-PatchSet: 10 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 15 Jul 2021 10:32: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 Thu Jul 15 10:33:18 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 15 Jul 2021 10:33:18 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: add logging on received MGCP messages In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24945 ) Change subject: mgcp_client: add logging on received MGCP messages ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24945 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Id76230896aa87c1a12bd5ad87a62430c048a2873 Gerrit-Change-Number: 24945 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 15 Jul 2021 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 Thu Jul 15 10:51:53 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 15 Jul 2021 10:51:53 +0000 Subject: Change in libosmocore[master]: vty: add "show uptime" In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/24924 to look at the new patch set (#4). Change subject: vty: add "show uptime" ...................................................................... vty: add "show uptime" Related: OS#4609 Change-Id: Ic7d9d5d3c8a9abd06a7e626aed7679f68406040c --- M src/vty/command.c 1 file changed, 27 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/24/24924/4 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24924 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic7d9d5d3c8a9abd06a7e626aed7679f68406040c Gerrit-Change-Number: 24924 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 15 10:54:16 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 15 Jul 2021 10:54:16 +0000 Subject: Change in osmo-bsc[master]: cosmetic: Small improvements to _select_sdcch_for_call References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24947 ) Change subject: cosmetic: Small improvements to _select_sdcch_for_call ...................................................................... cosmetic: Small improvements to _select_sdcch_for_call This commit improves some cosmetic and logical aspects from recent commit (see "Fixes" below). * Fix typo s/free_tcch/free_tchh/" * Improve some comments Fixes: fdb87343d7a747575fae0bb436cd9d105b9748e9 Change-Id: Id6217c929068b0182cb2d4a9922bfbf544c8c75d --- M src/osmo-bsc/abis_rsl.c 1 file changed, 14 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/47/24947/1 diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index b41fe79..42d77b3 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1915,10 +1915,9 @@ struct gsm_lchan *_select_sdcch_for_call(struct gsm_bts *bts, const struct chan_rqd *rqd, enum gsm_chan_t lctype) { struct gsm_lchan *lchan = NULL; - int free_tchf, free_tcch; + int free_tchf, free_tchh; bool needs_dyn_switch; - lchan = lchan_avail_by_type(bts, GSM_LCHAN_SDCCH, false); if (!lchan) return NULL; @@ -1927,20 +1926,21 @@ lchan->ts->pchan_is != GSM_PCHAN_SDCCH8_SACCH8C; free_tchf = bts_count_free_ts(bts, GSM_PCHAN_TCH_F); - free_tcch = bts_count_free_ts(bts, GSM_PCHAN_TCH_H); - if (free_tchf == 0 && free_tcch == 0) { + free_tchh = bts_count_free_ts(bts, GSM_PCHAN_TCH_H); + if (free_tchf == 0 && free_tchh == 0) { LOG_BTS(bts, DRSL, LOGL_INFO, "CHAN RQD: 0x%x Requesting %s reason=call but no TCH available\n", rqd->ref.ra, gsm_lchant_name(lctype)); return NULL; } - /* There's a TCH available and we'll not switch any of them, so we are fine */ + /* There's a TCH available and we'll not switch any dyn ts, so we are + * fine (we can switch one of them to SDCCH8 and still have one left) */ if (!needs_dyn_switch) goto select_lchan; /* We need to switch, but there's at least 2 TCH TS available so we are fine: */ - if (free_tchf > 1 || free_tcch > 2) + if (free_tchf > 1 || free_tchh > 2) goto select_lchan; /* At this point (needs_dyn_switch==true), following cases are possible: @@ -1948,13 +1948,14 @@ * [B] H=1, F=0 * [B] H=1, F=1 * [C] H=2, F=1 - * If condition [C] is met, it means there's 1 dynamic TS and it's the - * same as the dynamic TS available for SDCCH requiring switch, so selecting - * it would basically leave us without free TCH, so avoid selecting it. - * Regarding the other conditions, it basically results in them being - * different TS than the one we want to switch, so we are fine selecting - * the TS for SDCCH */ - if (free_tchf == 1 && free_tcch == 2) { + * If condition [C] is met, it means there's 1 dynamic TS (because a dyn + * TS is counted both as 1 free TCH/F and 2 free TCH/H at the same time) + * and it's the same as the dynamic TS available for SDCCH requiring + * switch, so selecting it would basically leave us without free TCH, so + * avoid selecting it. Regarding the other conditions, it basically + * results in them being different TS than the one we want to switch, so + * we are fine selecting the TS for SDCCH */ + if (free_tchf == 1 && free_tchh == 2) { LOG_BTS(bts, DRSL, LOGL_INFO, "CHAN RQD: 0x%x Requesting %s reason=call but dyn TS switch to " "SDCCH would starve the single available TCH timeslot\n", -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24947 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id6217c929068b0182cb2d4a9922bfbf544c8c75d Gerrit-Change-Number: 24947 Gerrit-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 Jul 15 11:08:56 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 15 Jul 2021 11:08:56 +0000 Subject: Change in libosmocore[master]: Make gcc 11.1.0 false positivies happy References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24948 ) Change subject: Make gcc 11.1.0 false positivies happy ...................................................................... Make gcc 11.1.0 false positivies happy After my system's gcc was upgraded, I get false positivies in a couple places. Let's initialize those to make gcc happy. """ /git/libosmocore/src/socket.c: In function ?osmo_sock_init?: /git/libosmocore/src/socket.c:958:25: error: ?sfd? may be used uninitialized in this function [-Werror=maybe-uninitialized] 958 | close(sfd); | ^~~~~~~~~~ /git/libosmocore/src/gsm/gsm48.c: In function ?osmo_mobile_identity_decode?: /git/libosmocore/src/gsm/gsm48.c:690:20: error: ?str_size? may be used uninitialized in this function [-Werror=maybe-uninitialized] 690 | if (rc < 1 || rc >= str_size) { | ~~~~~~~^~~~~~~~~~~~~~~~~ /git/libosmocore/src/gsm/gsm48.c:679:22: error: ?str? may be used uninitialized in this function [-Werror=maybe-uninitialized] 679 | rc = osmo_bcd2str(str, str_size, mi_data, 1, 1 + nibbles_len, allow_hex); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ """ Change-Id: I8aacfbc21e23f63a65e8baee3fd536a1fe1bdd8a --- M src/gsm/gsm48.c M src/socket.c 2 files changed, 11 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/48/24948/1 diff --git a/src/gsm/gsm48.c b/src/gsm/gsm48.c index ae1a21b..44ce776 100644 --- a/src/gsm/gsm48.c +++ b/src/gsm/gsm48.c @@ -601,8 +601,8 @@ { int rc; int nibbles_len; - char *str; - size_t str_size; + char *str = NULL; /* initialize to avoid uninitialized false warnings on some gcc versions (11.1.0) */ + size_t str_size = 0; /* initialize to avoid uninitialized false warnings on some gcc versions (11.1.0) */ if (!mi_data || mi_len < 1) return -EBADMSG; @@ -677,8 +677,12 @@ goto return_error; } rc = osmo_bcd2str(str, str_size, mi_data, 1, 1 + nibbles_len, allow_hex); - /* rc checked below */ - break; + /* check mi->str printing rc */ + if (rc < 1 || rc >= str_size) { + rc = -EBADMSG; + goto return_error; + } + return 0; default: /* Already handled above, but as future bug paranoia: */ @@ -686,13 +690,6 @@ goto return_error; } - /* check mi->str printing rc */ - if (rc < 1 || rc >= str_size) { - rc = -EBADMSG; - goto return_error; - } - return 0; - return_error: *mi = (struct osmo_mobile_identity){ .type = GSM_MI_TYPE_NONE, diff --git a/src/socket.c b/src/socket.c index 34972b8..19d48e4 100644 --- a/src/socket.c +++ b/src/socket.c @@ -894,7 +894,9 @@ const char *host, uint16_t port, unsigned int flags) { struct addrinfo *result, *rp; - int sfd, rc, on = 1; + int sfd = -1; /* initialize to avoid uninitialized false warnings on some gcc versions (11.1.0) */ + int on = 1; + int rc; if ((flags & (OSMO_SOCK_F_BIND | OSMO_SOCK_F_CONNECT)) == (OSMO_SOCK_F_BIND | OSMO_SOCK_F_CONNECT)) { -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24948 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I8aacfbc21e23f63a65e8baee3fd536a1fe1bdd8a Gerrit-Change-Number: 24948 Gerrit-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 Jul 15 11:24:19 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 15 Jul 2021 11:24:19 +0000 Subject: Change in libosmocore[master]: vty: add "show uptime" In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24924 ) Change subject: vty: add "show uptime" ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24924 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic7d9d5d3c8a9abd06a7e626aed7679f68406040c Gerrit-Change-Number: 24924 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 15 Jul 2021 11:24:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 15 11:30:10 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 15 Jul 2021 11:30:10 +0000 Subject: Change in osmo-bsc[master]: Add new lchan_select() API helper References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24949 ) Change subject: Add new lchan_select() API helper ...................................................................... Add new lchan_select() API helper It's an easy helper, but it helps in standarizing and finding similar places in code. Morevoer, it will be used in follow-up commit where we first use lchan_avail_by_type and finally we select it in a later stage. Change-Id: I025a40962a5e5d40543b297a0760e47618fb525c --- M include/osmocom/bsc/lchan_select.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/lchan_select.c 3 files changed, 21 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/49/24949/1 diff --git a/include/osmocom/bsc/lchan_select.h b/include/osmocom/bsc/lchan_select.h index aa2f40e..89aad8c 100644 --- a/include/osmocom/bsc/lchan_select.h +++ b/include/osmocom/bsc/lchan_select.h @@ -6,3 +6,4 @@ struct gsm_lchan *lchan_select_by_chan_mode(struct gsm_bts *bts, enum gsm48_chan_mode chan_mode, enum channel_rate chan_rate); struct gsm_lchan *lchan_avail_by_type(struct gsm_bts *bts, enum gsm_chan_t type, bool log); +void lchan_select(struct gsm_lchan *lchan, enum gsm_chan_t type); diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 97dd615..6590ec9 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -6299,7 +6299,7 @@ } /* configure the lchan */ - lchan->type = lchan_t; + lchan_select(lchan, lchan_t); if (!strcmp(codec_str, "hr") || !strcmp(codec_str, "fr")) { info = (struct lchan_activate_info) { .activ_for = ACTIVATE_FOR_VTY, @@ -6792,9 +6792,9 @@ return CMD_WARNING; } - /* lchan_select_*() sets the lchan->type, we need to do the same here, so that activation will work out. */ - to_lchan->type = chan_mode_to_chan_type(from_lchan->current_ch_mode_rate.chan_mode, - from_lchan->current_ch_mode_rate.chan_rate); + /* Set lchan type, so that activation will work out. */ + lchan_select(to_lchan, chan_mode_to_chan_type(from_lchan->current_ch_mode_rate.chan_mode, + from_lchan->current_ch_mode_rate.chan_rate)); LOG_LCHAN(from_lchan, LOGL_NOTICE, "VTY requests re-assignment of this lchan to %s%s\n", gsm_lchan_name(to_lchan), to_lchan->vamos.is_secondary ? " (to VAMOS mode)" : ""); diff --git a/src/osmo-bsc/lchan_select.c b/src/osmo-bsc/lchan_select.c index 3618fb4..d763ba6 100644 --- a/src/osmo-bsc/lchan_select.c +++ b/src/osmo-bsc/lchan_select.c @@ -296,16 +296,26 @@ { struct gsm_lchan *lchan = NULL; - lchan = lchan_avail_by_type(bts, type, true); - LOG_BTS(bts, DRLL, LOGL_DEBUG, "lchan_select_by_type(%s)\n", gsm_lchant_name(type)); - if (lchan) { - lchan->type = type; - LOG_LCHAN(lchan, LOGL_INFO, "Selected\n"); - } else + lchan = lchan_avail_by_type(bts, type, true); + + if (!lchan) { LOG_BTS(bts, DRLL, LOGL_NOTICE, "Failed to select %s channel\n", gsm_lchant_name(type)); + return NULL; + } + lchan_select(lchan, type); return lchan; } + +/* Set available lchan to given type. Usually used on lchan obtained with + * lchan_avail_by_type. The next logical step is lchan_activate() on it, which + * would possibly cause dynamic timeslot pchan switching, taken care of by the + * lchan and timeslot FSMs. */ +void lchan_select(struct gsm_lchan *lchan, enum gsm_chan_t type) +{ + lchan->type = type; + LOG_LCHAN(lchan, LOGL_INFO, "Selected\n"); +} -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24949 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I025a40962a5e5d40543b297a0760e47618fb525c Gerrit-Change-Number: 24949 Gerrit-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 Jul 15 11:30:10 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 15 Jul 2021 11:30:10 +0000 Subject: Change in osmo-bsc[master]: _select_sdcch_for_call: Avoid 2nd lchan lookup when finally selecting it References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24950 ) Change subject: _select_sdcch_for_call: Avoid 2nd lchan lookup when finally selecting it ...................................................................... _select_sdcch_for_call: Avoid 2nd lchan lookup when finally selecting it We already looked it up, it's not necessary to look it up again by calling lchan_select_by_type(). Let's instead call lchan_select() directly on the lchan pointer. Related: SYS#5309 Change-Id: I1054c18f58c9e249f263e3e97a365a1fd8b03a93 --- M src/osmo-bsc/abis_rsl.c 1 file changed, 1 insertion(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/50/24950/1 diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 42d77b3..b1cbb5d 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1964,8 +1964,7 @@ } select_lchan: - /* FIXME: we already have lchan, simply do lchan->type = GSM_LCHAN_SDCCH? Split lchan_select_by_type in 2 functions? */ - lchan = lchan_select_by_type(bts, GSM_LCHAN_SDCCH); + lchan_select(lchan, GSM_LCHAN_SDCCH); return lchan; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24950 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1054c18f58c9e249f263e3e97a365a1fd8b03a93 Gerrit-Change-Number: 24950 Gerrit-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 Jul 15 11:33:48 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 15 Jul 2021 11:33:48 +0000 Subject: Change in osmo-hlr[master]: db: Avoid use uninitialized rc if running 0 statements References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hlr/+/24951 ) Change subject: db: Avoid use uninitialized rc if running 0 statements ...................................................................... db: Avoid use uninitialized rc if running 0 statements Caught by new gcc 11.1.0: /git/osmo-hlr/src/db.c:257:16: error: ?rc? may be used uninitialized in this function [-Werror=maybe-uninitialized] 257 | return rc; | ^~ Change-Id: I45e1fede234cd4446a7061fb908bf344eee72f5a --- M src/db.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/51/24951/1 diff --git a/src/db.c b/src/db.c index 3a7cf49..4fd2654 100644 --- a/src/db.c +++ b/src/db.c @@ -234,7 +234,7 @@ static int db_run_statements(struct db_context *dbc, const char **statements, size_t statements_count) { - int rc; + int rc = 0; int i; for (i = 0; i < statements_count; i++) { const char *stmt_str = statements[i]; -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/24951 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I45e1fede234cd4446a7061fb908bf344eee72f5a Gerrit-Change-Number: 24951 Gerrit-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 Jul 15 11:39:07 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 15 Jul 2021 11:39:07 +0000 Subject: Change in libosmocore[master]: Make gcc 11.1.0 false positivies happy In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24948 ) Change subject: Make gcc 11.1.0 false positivies happy ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24948 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I8aacfbc21e23f63a65e8baee3fd536a1fe1bdd8a Gerrit-Change-Number: 24948 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 15 Jul 2021 11: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 Thu Jul 15 11:40:47 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 15 Jul 2021 11:40:47 +0000 Subject: Change in osmo-hlr[master]: db: Avoid use uninitialized rc if running 0 statements In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/24951 ) Change subject: db: Avoid use uninitialized rc if running 0 statements ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/24951 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I45e1fede234cd4446a7061fb908bf344eee72f5a Gerrit-Change-Number: 24951 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 15 Jul 2021 11:40:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 15 11:48:55 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 15 Jul 2021 11:48:55 +0000 Subject: Change in osmo-ci[master]: lint: ignore PREFER_FALLTHROUGH In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24919 ) Change subject: lint: ignore PREFER_FALLTHROUGH ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24919 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I373a231cf08fd23312ad9a85d8e2855a736e331a Gerrit-Change-Number: 24919 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 15 Jul 2021 11:48: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 Jul 15 11:48:58 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 15 Jul 2021 11:48:58 +0000 Subject: Change in osmo-ci[master]: lint: ignore PREFER_FALLTHROUGH In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24919 ) Change subject: lint: ignore PREFER_FALLTHROUGH ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24919 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I373a231cf08fd23312ad9a85d8e2855a736e331a Gerrit-Change-Number: 24919 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 15 Jul 2021 11:48:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 15 11:49:14 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 15 Jul 2021 11:49:14 +0000 Subject: Change in osmo-ci[master]: lint: ignore DEEP_INDENTATION In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24920 ) Change subject: lint: ignore DEEP_INDENTATION ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24920 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Iff29f0a97dbfed904705f543541441f761370602 Gerrit-Change-Number: 24920 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 15 Jul 2021 11:49:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 15 11:52:22 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 15 Jul 2021 11:52:22 +0000 Subject: Change in osmo-bts[master]: Make gcc 11.1.0 false positivies happy References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/24952 ) Change subject: Make gcc 11.1.0 false positivies happy ...................................................................... Make gcc 11.1.0 false positivies happy Make gcc 11.1.0 false positivies happy After my system's gcc was upgraded, I get false positivies in a couple places. Let's initialize those to make gcc happy. """ //git/osmo-bts/src/common/vty.c: In function ?lchan_summary?: //git/osmo-bts/src/common/vty.c:1881:23: error: ?ts? may be used uninitialized in this function [-Werror=maybe-uninitialized] 1881 | lchan = &ts->lchan[lchan_nr]; | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~ //git/osmo-bts/src/common/vty.c:1869:20: error: ?trx? may be used uninitialized in this function [-Werror=maybe-uninitialized] 1869 | ts = &trx->ts[ts_nr]; | ~~~^~~~~~~~~~~~~~~~~ //git/osmo-bts/src/common/vty.c:1852:34: error: ?bts? may be used uninitialized in this function [-Werror=maybe-uninitialized] 1852 | if (trx_nr >= bts->num_trx) { """ Change-Id: I93477142a5a4b3f3829b7398d6e564c127263596 --- M src/common/vty.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/52/24952/1 diff --git a/src/common/vty.c b/src/common/vty.c index 3065a90..a7d1e84 100644 --- a/src/common/vty.c +++ b/src/common/vty.c @@ -1828,9 +1828,9 @@ void (*dump_cb)(struct vty *, const struct gsm_lchan *)) { const struct gsm_network *net = gsmnet_from_vty(vty); - const struct gsm_bts *bts; - const struct gsm_bts_trx *trx; - const struct gsm_bts_trx_ts *ts; + const struct gsm_bts *bts = NULL; /* initialize to avoid uninitialized false warnings on some gcc versions (11.1.0) */ + const struct gsm_bts_trx *trx = NULL; /* initialize to avoid uninitialized false warnings on some gcc versions (11.1.0) */ + const struct gsm_bts_trx_ts *ts = NULL; /* initialize to avoid uninitialized false warnings on some gcc versions (11.1.0) */ const struct gsm_lchan *lchan; int bts_nr, trx_nr, ts_nr, lchan_nr; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24952 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I93477142a5a4b3f3829b7398d6e564c127263596 Gerrit-Change-Number: 24952 Gerrit-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 Jul 15 12:02:27 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 15 Jul 2021 12:02:27 +0000 Subject: Change in osmo-bsc[master]: Avoid switching dyn ts to sdcch8 if it starves later TCH In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24876 ) Change subject: Avoid switching dyn ts to sdcch8 if it starves later TCH ...................................................................... Patch Set 4: (1 comment) I submitted a couple more patches as a follow up of this one. https://gerrit.osmocom.org/c/osmo-bsc/+/24876/4/src/osmo-bsc/abis_rsl.c File src/osmo-bsc/abis_rsl.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24876/4/src/osmo-bsc/abis_rsl.c at 1955 PS4, Line 1955: * different TS than the one we want to switch, so we are fine selecting > "A: the free TCH/F must be a static timeslot; B1: half occupied TCH/H TS; B2: half occupied TCH/H TS [?] "But for C, what if there are two half occupied TCH/H plus one static TCH/F?" ^ This cannot be the case, because we already know we are switching a DYN TS for SDCCH, hence it means there must be at least 1 OSMO_DYN_TS in PDCH mode. Hence, if free_tchf and free_tchh is 1 and 2, it must be that same OSMO_DYN_TS. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24876 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3b32968949a7bdcbebf5a823359295bac51d8e08 Gerrit-Change-Number: 24876 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 15 Jul 2021 12:02:27 +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 Jul 15 12:04:08 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 15 Jul 2021 12:04:08 +0000 Subject: Change in osmo-bts[master]: Make gcc 11.1.0 false positivies happy In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24952 ) Change subject: Make gcc 11.1.0 false positivies happy ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24952 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I93477142a5a4b3f3829b7398d6e564c127263596 Gerrit-Change-Number: 24952 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 15 Jul 2021 12: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 Thu Jul 15 12:04:27 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 15 Jul 2021 12:04:27 +0000 Subject: Change in osmo-hlr[master]: db: Avoid use uninitialized rc if running 0 statements In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/24951 ) Change subject: db: Avoid use uninitialized rc if running 0 statements ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/24951 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I45e1fede234cd4446a7061fb908bf344eee72f5a Gerrit-Change-Number: 24951 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 15 Jul 2021 12:04: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 Jul 15 12:04:29 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 15 Jul 2021 12:04:29 +0000 Subject: Change in osmo-hlr[master]: db: Avoid use uninitialized rc if running 0 statements In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/24951 ) Change subject: db: Avoid use uninitialized rc if running 0 statements ...................................................................... db: Avoid use uninitialized rc if running 0 statements Caught by new gcc 11.1.0: /git/osmo-hlr/src/db.c:257:16: error: ?rc? may be used uninitialized in this function [-Werror=maybe-uninitialized] 257 | return rc; | ^~ Change-Id: I45e1fede234cd4446a7061fb908bf344eee72f5a --- M src/db.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/db.c b/src/db.c index 3a7cf49..4fd2654 100644 --- a/src/db.c +++ b/src/db.c @@ -234,7 +234,7 @@ static int db_run_statements(struct db_context *dbc, const char **statements, size_t statements_count) { - int rc; + int rc = 0; int i; for (i = 0; i < statements_count; i++) { const char *stmt_str = statements[i]; -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/24951 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I45e1fede234cd4446a7061fb908bf344eee72f5a Gerrit-Change-Number: 24951 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 15 12:05:31 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 15 Jul 2021 12:05:31 +0000 Subject: Change in osmo-bsc[master]: cosmetic: Small improvements to _select_sdcch_for_call In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24947 ) Change subject: cosmetic: Small improvements to _select_sdcch_for_call ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24947 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id6217c929068b0182cb2d4a9922bfbf544c8c75d Gerrit-Change-Number: 24947 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 15 Jul 2021 12:05:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 15 12:06:08 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 15 Jul 2021 12:06:08 +0000 Subject: Change in osmo-bsc[master]: Add new lchan_select() API helper In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24949 ) Change subject: Add new lchan_select() API helper ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/24949/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bsc/+/24949/1//COMMIT_MSG at 9 PS1, Line 9: standarizing another typo https://gerrit.osmocom.org/c/osmo-bsc/+/24949/1//COMMIT_MSG at 11 PS1, Line 11: Morevoer typo -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24949 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I025a40962a5e5d40543b297a0760e47618fb525c Gerrit-Change-Number: 24949 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 15 Jul 2021 12:06:08 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 15 12:07:44 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 15 Jul 2021 12:07:44 +0000 Subject: Change in osmo-bsc[master]: Add new lchan_select() API helper In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24949 ) Change subject: Add new lchan_select() API helper ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24949/1/src/osmo-bsc/lchan_select.c File src/osmo-bsc/lchan_select.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24949/1/src/osmo-bsc/lchan_select.c at 317 PS1, Line 317: lchan_select I would prefer something like lchan_set_type() or lchan_type_set() which is very descriptive. "select" sounds like selecting a lchan from a group of lchans, like in lchan allocation. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24949 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I025a40962a5e5d40543b297a0760e47618fb525c Gerrit-Change-Number: 24949 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 15 Jul 2021 12:07:44 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 15 12:40:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 15 Jul 2021 12:40:38 +0000 Subject: Change in osmo-pcu[master]: Make gcc 11.1.0 false positivies happy References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24953 ) Change subject: Make gcc 11.1.0 false positivies happy ...................................................................... Make gcc 11.1.0 false positivies happy After my system's gcc was upgraded, I get false positivies like the one below: """ /git/osmo-pcu/src/gprs_bssgp_pcu.c: In function ?ns_configure_nse?: /git/osmo-pcu/src/gprs_bssgp_pcu.c:1103:58: error: ?%d? directive output may be truncated writing between 1 and 11 bytes into a region of size 2 [-Werror=format-truncation=] 1103 | snprintf(name, sizeof(name), "pcu%d", i); | ^~ /git/osmo-pcu/src/gprs_bssgp_pcu.c:1103:54: note: directive argument in the range [-2147483648, 1] 1103 | snprintf(name, sizeof(name), "pcu%d", i); | ^~~~~~~ /git/osmo-pcu/src/gprs_bssgp_pcu.c:1103:25: note: ?snprintf? output between 5 and 15 bytes into a destination of size 5 1103 | snprintf(name, sizeof(name), "pcu%d", i); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ """ In this case, i can't never take a value with more than 1 digit, but gcc seems to be unable to see that. Let's increase the buffer size a few bytes to make gcc happy, and make the variable unsigned since it never will get negative values. Next change is also a false positive, since variables are always initialized beforehand in the cod epaths where they are used: """ /git/osmo-pcu/src/bts.cpp: In function ?int bts_rcv_rach(gprs_rlcmac_bts*, const rach_ind_params*)?: /git/osmo-pcu/src/bts.cpp:859:25: error: ?ts_no? may be used uninitialized in this function [-Werror=maybe-uninitialized] 859 | uint8_t trx_no, ts_no; | ^~~~~ /git/osmo-pcu/src/bts.cpp:859:17: error: ?trx_no? may be used uninitialized in this function [-Werror=maybe-uninitialized] 859 | uint8_t trx_no, ts_no; | ^~~~~~ """ Change-Id: I1362a335a0c761bde367dbc779de4afa88f13584 --- M src/bts.cpp M src/gprs_bssgp_pcu.c 2 files changed, 5 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/53/24953/1 diff --git a/src/bts.cpp b/src/bts.cpp index 95dde04..ee6b915 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -856,7 +856,7 @@ struct chan_req_params chan_req = { 0 }; struct gprs_rlcmac_ul_tbf *tbf = NULL; struct gprs_rlcmac_sba *sba; - uint8_t trx_no, ts_no; + uint8_t trx_no = 0, ts_no = 0; /* initialize to avoid uninitialized false warnings on some gcc versions (11.1.0) */ uint32_t sb_fn = 0; uint8_t usf = 7; uint8_t tsc = 0; diff --git a/src/gprs_bssgp_pcu.c b/src/gprs_bssgp_pcu.c index 0e8e145..e2f6f51 100644 --- a/src/gprs_bssgp_pcu.c +++ b/src/gprs_bssgp_pcu.c @@ -1075,12 +1075,13 @@ const uint16_t *nsvci, uint16_t valid) { - int i, rc; + unsigned int i; + int rc; uint16_t binds = 0; bool nsvcs = false; struct gprs_ns2_vc *nsvc; struct gprs_ns2_vc_bind *bind[PCU_IF_NUM_NSVC] = { }; - char name[5]; + char name[16]; bool sns_configured = false; if (!valid) @@ -1100,7 +1101,7 @@ continue; if (!gprs_ns2_ip_bind_by_sockaddr(the_pcu->nsi, &local[i])) { - snprintf(name, sizeof(name), "pcu%d", i); + snprintf(name, sizeof(name), "pcu%u", i); rc = gprs_ns2_ip_bind(the_pcu->nsi, name, &local[i], 0, &bind[i]); if (rc < 0) { LOGP(DBSSGP, LOGL_ERROR, "Failed to bind to %s\n", osmo_sockaddr_to_str(&local[i])); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24953 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1362a335a0c761bde367dbc779de4afa88f13584 Gerrit-Change-Number: 24953 Gerrit-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 Jul 15 13:03:22 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 15 Jul 2021 13:03:22 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: refactor request handler array 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/+/24940 to look at the new patch set (#2). Change subject: mgcp_protocol: refactor request handler array ...................................................................... mgcp_protocol: refactor request handler array the various types of MGCP requests are implemented in request handlers functions. The function pointers to those functions are held in an array that is used to find the right handler and call it then. The struct used to model the array is defined somewhat away from the array definition and there is also a macro in between that does not help to make the code more understandable. Lets refactor this a bit to have it more distinct. Change-Id: I2ef167b2ac179d2b0683a27a095f9662fda460bf Related: SYS#5535 --- M src/libosmo-mgcp/mgcp_protocol.c 1 file changed, 34 insertions(+), 23 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/40/24940/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24940 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I2ef167b2ac179d2b0683a27a095f9662fda460bf Gerrit-Change-Number: 24940 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 Thu Jul 15 13:03:50 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 15 Jul 2021 13:03:50 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: refactor request handler array In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24940 ) Change subject: mgcp_protocol: refactor request handler array ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/24940/1/src/libosmo-mgcp/mgcp_protocol.c File src/libosmo-mgcp/mgcp_protocol.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24940/1/src/libosmo-mgcp/mgcp_protocol.c at 58 PS1, Line 58: /* a humen readable name that describes the request */ > human Done -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24940 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I2ef167b2ac179d2b0683a27a095f9662fda460bf Gerrit-Change-Number: 24940 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 15 Jul 2021 13:03:50 +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 Jul 15 13:13:36 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 15 Jul 2021 13:13:36 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: refactor request handler array 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/+/24940 to look at the new patch set (#3). Change subject: mgcp_protocol: refactor request handler array ...................................................................... mgcp_protocol: refactor request handler array the various types of MGCP requests are implemented in request handlers functions. The function pointers to those functions are held in an array that is used to find the right handler and call it then. The struct used to model the array is defined somewhat away from the array definition and there is also a macro in between that does not help to make the code more understandable. Lets refactor this a bit to have it more distinct. Change-Id: I2ef167b2ac179d2b0683a27a095f9662fda460bf Related: SYS#5535 --- M src/libosmo-mgcp/mgcp_protocol.c 1 file changed, 29 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/40/24940/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24940 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I2ef167b2ac179d2b0683a27a095f9662fda460bf Gerrit-Change-Number: 24940 Gerrit-PatchSet: 3 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 Thu Jul 15 13:28:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 15 Jul 2021 13:28:06 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: refactor request handler array In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24940 ) Change subject: mgcp_protocol: refactor request handler array ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24940 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I2ef167b2ac179d2b0683a27a095f9662fda460bf Gerrit-Change-Number: 24940 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 15 Jul 2021 13: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 Thu Jul 15 15:44:01 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 15 Jul 2021 15:44:01 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: refactor request handler array In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24940 ) Change subject: mgcp_protocol: refactor request handler array ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24940 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I2ef167b2ac179d2b0683a27a095f9662fda460bf Gerrit-Change-Number: 24940 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 15 Jul 2021 15:44: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 Jul 15 15:45:06 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 15 Jul 2021 15:45:06 +0000 Subject: Change in osmo-pcu[master]: Make gcc 11.1.0 false positivies happy In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24953 ) Change subject: Make gcc 11.1.0 false positivies happy ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24953 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1362a335a0c761bde367dbc779de4afa88f13584 Gerrit-Change-Number: 24953 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Comment-Date: Thu, 15 Jul 2021 15:45:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 15 15:46:41 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 15 Jul 2021 15:46:41 +0000 Subject: Change in osmo-bsc[master]: cosmetic: Small improvements to _select_sdcch_for_call In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24947 ) Change subject: cosmetic: Small improvements to _select_sdcch_for_call ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24947 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id6217c929068b0182cb2d4a9922bfbf544c8c75d Gerrit-Change-Number: 24947 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 15 Jul 2021 15:46: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 Jul 15 15:50:47 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 15 Jul 2021 15:50:47 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: add stats items to monitor trunk usage In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24942 ) Change subject: mgcp_ratectr: add stats items to monitor trunk usage ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/24942/1/src/libosmo-mgcp/mgcp_ratectr.c File src/libosmo-mgcp/mgcp_ratectr.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24942/1/src/libosmo-mgcp/mgcp_ratectr.c at 308 PS1, Line 308: if (trunk->endpoints[i]->callid) > I'm pretty sure it should be easy to know when a endpooint becomes used or becomes unused, so simply [?] Done -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24942 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib7b654168dc3512f55e45cc4755dc1f6f423d023 Gerrit-Change-Number: 24942 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 15 Jul 2021 15:50: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 Thu Jul 15 15:51:15 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 15 Jul 2021 15:51:15 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: refactor MGCP request handling In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/24941 to look at the new patch set (#2). Change subject: mgcp_protocol: refactor MGCP request handling ...................................................................... mgcp_protocol: refactor MGCP request handling At the moment the MGCP request handling and message parsing is not clearly separated. The function mgcp_parse_header() in mgcp_msg.c is also responsible for resolving an endpoint. This leads to unclear layer separation. We eventually end up in a situation where we can not execute any request handler without beeing able to resolve an endpoint, however this is necessary if we want to implement wildcarded DLCX resquests. In the current situation a wildcarded DLCX is not possible to implement as we always have to resolve a an to get to the trunk which we need to iterate. However, we just can't resolve a free endpoint in a situation where all endpoints on te trunk are in use. We have to refactor the request handler so that the parsing in mgcp_msg only extracts us the endpoint name. The resolving is then done in mgcp_handle_message() in mgcp_protocol.c. Then we are able to decide what to do if we are unable to resolve an endpoint but still be able to resolve the trunk. This patch does not change the behaviour of osmo-mgw yet, but it lays the foundation for request handler implementations that can still perform useful actions if no endpoint but a trunk has been resolved. A wilcarded DLCX is such a case. It does not need an endpoint, just the trunk. Change-Id: I9f519d8a0ee8a513fa1e74acf3ee7dbc0991cdde Related: SYS#5535 --- M include/osmocom/mgcp/mgcp_protocol.h M src/libosmo-mgcp/mgcp_msg.c M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_sdp.c 4 files changed, 189 insertions(+), 134 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/41/24941/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24941 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I9f519d8a0ee8a513fa1e74acf3ee7dbc0991cdde Gerrit-Change-Number: 24941 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 Thu Jul 15 15:51:15 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 15 Jul 2021 15:51:15 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: add stats items to monitor trunk usage 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/+/24942 to look at the new patch set (#2). Change subject: mgcp_ratectr: add stats items to monitor trunk usage ...................................................................... mgcp_ratectr: add stats items to monitor trunk usage We are currently counting events in rate counters, but there is currently no way to get a sample of the current situation of the trunk usage. In particular how many endpoints are currently in use. Change-Id: Ib7b654168dc3512f55e45cc4755dc1f6f423d023 Related: SYS#5535 --- M include/osmocom/mgcp/mgcp_ratectr.h M include/osmocom/mgcp/mgcp_trunk.h M src/libosmo-mgcp/mgcp_endp.c M src/libosmo-mgcp/mgcp_ratectr.c M src/libosmo-mgcp/mgcp_trunk.c 5 files changed, 71 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/42/24942/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24942 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib7b654168dc3512f55e45cc4755dc1f6f423d023 Gerrit-Change-Number: 24942 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 Thu Jul 15 16:06:06 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 15 Jul 2021 16:06:06 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: refactor MGCP request handling In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/24941 to look at the new patch set (#3). Change subject: mgcp_protocol: refactor MGCP request handling ...................................................................... mgcp_protocol: refactor MGCP request handling At the moment the MGCP request handling and message parsing is not clearly separated. The function mgcp_parse_header() in mgcp_msg.c is also responsible for resolving an endpoint. This leads to unclear layer separation. We eventually end up in a situation where we can not execute any request handler without beeing able to resolve an endpoint, however this is necessary if we want to implement wildcarded DLCX resquests. In the current situation a wildcarded DLCX is not possible to implement as we always have to resolve a an to get to the trunk which we need to iterate. However, we just can't resolve a free endpoint in a situation where all endpoints on te trunk are in use. We have to refactor the request handler so that the parsing in mgcp_msg only extracts us the endpoint name. The resolving is then done in mgcp_handle_message() in mgcp_protocol.c. Then we are able to decide what to do if we are unable to resolve an endpoint but still be able to resolve the trunk. This patch does not change the behaviour of osmo-mgw yet, but it lays the foundation for request handler implementations that can still perform useful actions if no endpoint but a trunk has been resolved. A wilcarded DLCX is such a case. It does not need an endpoint, just the trunk. Change-Id: I9f519d8a0ee8a513fa1e74acf3ee7dbc0991cdde Related: SYS#5535 --- M include/osmocom/mgcp/mgcp_protocol.h M src/libosmo-mgcp/mgcp_msg.c M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_sdp.c 4 files changed, 187 insertions(+), 132 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/41/24941/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24941 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I9f519d8a0ee8a513fa1e74acf3ee7dbc0991cdde Gerrit-Change-Number: 24941 Gerrit-PatchSet: 3 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 Thu Jul 15 16:17:12 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 15 Jul 2021 16:17:12 +0000 Subject: Change in osmo-bsc[master]: handover_ctrl: add control interface for handover settings In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24600 ) Change subject: handover_ctrl: add control interface for handover settings ...................................................................... Patch Set 8: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24600 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I12f143906818fd6b16e8783157cbb1eb51e49ffc Gerrit-Change-Number: 24600 Gerrit-PatchSet: 8 Gerrit-Owner: dexter Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 15 Jul 2021 16:17: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 Jul 15 19:42:40 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 15 Jul 2021 19:42:40 +0000 Subject: Change in osmo-bsc[master]: cosmetic: Small improvements to _select_sdcch_for_call In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24947 ) Change subject: cosmetic: Small improvements to _select_sdcch_for_call ...................................................................... cosmetic: Small improvements to _select_sdcch_for_call This commit improves some cosmetic and logical aspects from recent commit (see "Fixes" below). * Fix typo s/free_tcch/free_tchh/" * Improve some comments Fixes: fdb87343d7a747575fae0bb436cd9d105b9748e9 Change-Id: Id6217c929068b0182cb2d4a9922bfbf544c8c75d --- M src/osmo-bsc/abis_rsl.c 1 file changed, 14 insertions(+), 13 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve daniel: Looks good to me, approved diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index b41fe79..42d77b3 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1915,10 +1915,9 @@ struct gsm_lchan *_select_sdcch_for_call(struct gsm_bts *bts, const struct chan_rqd *rqd, enum gsm_chan_t lctype) { struct gsm_lchan *lchan = NULL; - int free_tchf, free_tcch; + int free_tchf, free_tchh; bool needs_dyn_switch; - lchan = lchan_avail_by_type(bts, GSM_LCHAN_SDCCH, false); if (!lchan) return NULL; @@ -1927,20 +1926,21 @@ lchan->ts->pchan_is != GSM_PCHAN_SDCCH8_SACCH8C; free_tchf = bts_count_free_ts(bts, GSM_PCHAN_TCH_F); - free_tcch = bts_count_free_ts(bts, GSM_PCHAN_TCH_H); - if (free_tchf == 0 && free_tcch == 0) { + free_tchh = bts_count_free_ts(bts, GSM_PCHAN_TCH_H); + if (free_tchf == 0 && free_tchh == 0) { LOG_BTS(bts, DRSL, LOGL_INFO, "CHAN RQD: 0x%x Requesting %s reason=call but no TCH available\n", rqd->ref.ra, gsm_lchant_name(lctype)); return NULL; } - /* There's a TCH available and we'll not switch any of them, so we are fine */ + /* There's a TCH available and we'll not switch any dyn ts, so we are + * fine (we can switch one of them to SDCCH8 and still have one left) */ if (!needs_dyn_switch) goto select_lchan; /* We need to switch, but there's at least 2 TCH TS available so we are fine: */ - if (free_tchf > 1 || free_tcch > 2) + if (free_tchf > 1 || free_tchh > 2) goto select_lchan; /* At this point (needs_dyn_switch==true), following cases are possible: @@ -1948,13 +1948,14 @@ * [B] H=1, F=0 * [B] H=1, F=1 * [C] H=2, F=1 - * If condition [C] is met, it means there's 1 dynamic TS and it's the - * same as the dynamic TS available for SDCCH requiring switch, so selecting - * it would basically leave us without free TCH, so avoid selecting it. - * Regarding the other conditions, it basically results in them being - * different TS than the one we want to switch, so we are fine selecting - * the TS for SDCCH */ - if (free_tchf == 1 && free_tcch == 2) { + * If condition [C] is met, it means there's 1 dynamic TS (because a dyn + * TS is counted both as 1 free TCH/F and 2 free TCH/H at the same time) + * and it's the same as the dynamic TS available for SDCCH requiring + * switch, so selecting it would basically leave us without free TCH, so + * avoid selecting it. Regarding the other conditions, it basically + * results in them being different TS than the one we want to switch, so + * we are fine selecting the TS for SDCCH */ + if (free_tchf == 1 && free_tchh == 2) { LOG_BTS(bts, DRSL, LOGL_INFO, "CHAN RQD: 0x%x Requesting %s reason=call but dyn TS switch to " "SDCCH would starve the single available TCH timeslot\n", -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24947 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id6217c929068b0182cb2d4a9922bfbf544c8c75d Gerrit-Change-Number: 24947 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 16 08:10:17 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 16 Jul 2021 08:10:17 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: refactor MGCP request handling In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/24941 to look at the new patch set (#4). Change subject: mgcp_protocol: refactor MGCP request handling ...................................................................... mgcp_protocol: refactor MGCP request handling At the moment the MGCP request handling and message parsing is not clearly separated. The function mgcp_parse_header() in mgcp_msg.c is also responsible for resolving an endpoint. This leads to unclear layer separation. We eventually end up in a situation where we can not execute any request handler without beeing able to resolve an endpoint, however this is necessary if we want to implement wildcarded DLCX resquests. In the current situation a wildcarded DLCX is not possible to implement as we always have to resolve a an to get to the trunk which we need to iterate. However, we just can't resolve a free endpoint in a situation where all endpoints on te trunk are in use. We have to refactor the request handler so that the parsing in mgcp_msg only extracts us the endpoint name. The resolving is then done in mgcp_handle_message() in mgcp_protocol.c. Then we are able to decide what to do if we are unable to resolve an endpoint but still be able to resolve the trunk. This patch does not change the behaviour of osmo-mgw yet, but it lays the foundation for request handler implementations that can still perform useful actions if no endpoint but a trunk has been resolved. A wilcarded DLCX is such a case. It does not need an endpoint, just the trunk. Change-Id: I9f519d8a0ee8a513fa1e74acf3ee7dbc0991cdde Related: SYS#5535 --- M include/osmocom/mgcp/mgcp_protocol.h M src/libosmo-mgcp/mgcp_msg.c M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_sdp.c 4 files changed, 187 insertions(+), 132 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/41/24941/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24941 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I9f519d8a0ee8a513fa1e74acf3ee7dbc0991cdde Gerrit-Change-Number: 24941 Gerrit-PatchSet: 4 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 Fri Jul 16 08:10:52 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 16 Jul 2021 08:10:52 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: refactor MGCP request handling In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24941 ) Change subject: mgcp_protocol: refactor MGCP request handling ...................................................................... Patch Set 4: (7 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/24941/1/src/libosmo-mgcp/mgcp_msg.c File src/libosmo-mgcp/mgcp_msg.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24941/1/src/libosmo-mgcp/mgcp_msg.c at 186 PS1, Line 186: pdata->trans = "000000"; > why doing this? it could be that trans was parsed correctly? or we don't use it anyway? It is not used, I have oriented myself on the code that was already there. I think the reason why we reset the parameters on failure is historical. In any case, if parsing fails we don't care what the trans was and start over. So I think its better we remove this part. https://gerrit.osmocom.org/c/osmo-mgw/+/24941/1/src/libosmo-mgcp/mgcp_protocol.c File src/libosmo-mgcp/mgcp_protocol.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24941/1/src/libosmo-mgcp/mgcp_protocol.c at 372 PS1, Line 372: LOGP(DLMGCP, LOGL_ERROR, > ERROR? that's expected depending on message type right? print this conditionally based on req. [?] I have set the log level to ERROR but you are possibly right, its not an error. However, it is an error about to happen... https://gerrit.osmocom.org/c/osmo-mgw/+/24941/1/src/libosmo-mgcp/mgcp_protocol.c at 375 PS1, Line 375: rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_GENERAL_RX_FAIL_NO_ENDPOINT)); > Same, this is not necessarily a failure right? yes and no, if the trunk is not overloaded or the request has a wrong endpoint name, then it is definitely an error. If the trunk is overloaded and the endpoint name is wild carded, we won't get an endpoint, but a DLCX would still be able to execute under those condition. In any case, it is not normal that we are able to resolve a trunk without getting an endpoint. If that happens the situation is already erroneous and the request handler must somehow recover from that (if it can). https://gerrit.osmocom.org/c/osmo-mgw/+/24941/1/src/libosmo-mgcp/mgcp_protocol.c at 386 PS1, Line 386: rq.mgcp_cause = rc; > rc is always 0 here? in this case not 0, it still contains the cause code from mgcp_endp_by_name(). I have reorganized the code a bit so that it stores rc earlier in rq.mgcp_cause. Its probably more clear then. https://gerrit.osmocom.org/c/osmo-mgw/+/24941/1/src/libosmo-mgcp/mgcp_protocol.c at 392 PS1, Line 392: if (pdata.trans && rq.endp->last_trans && strcmp(rq.endp->last_trans, pdata.trans) == 0) { > so transactions without endpoint cannot be repeated? because they are under the "rq. [?] that is correct. Its also so that the repetition only makes sense when a specific endpoint is addressed. For wild carded requests this feature is of minor importance I think. This is probably a quirk, however the only solution would be to manage the transactions in a different location. Or search all endpoints for that specific transaction ID. In any case, this would be a different topic/patch anyway. https://gerrit.osmocom.org/c/osmo-mgw/+/24941/1/src/libosmo-mgcp/mgcp_protocol.c at 400 PS1, Line 400: if (strncmp(mgcp_requests[i].name, rq.name, 4) == 0) { > what about having "name" field be a char[4+1] and copy the first bytes of msgb in there? Looks more [?] Done https://gerrit.osmocom.org/c/osmo-mgw/+/24941/1/src/libosmo-mgcp/mgcp_protocol.c at 413 PS1, Line 413: "%s: executing request handler \"%s\" for endpoint resource \"%s\"\n", rq.name, > NOTICE here looks a level too high. [?] Done -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24941 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I9f519d8a0ee8a513fa1e74acf3ee7dbc0991cdde Gerrit-Change-Number: 24941 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 16 Jul 2021 08:10:52 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 16 08:19:26 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 16 Jul 2021 08:19:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: add control interface to MGW testsuite In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24820 ) Change subject: MGCP_Test: add control interface to MGW testsuite ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24820/1/mgw/MGCP_Test.ttcn File mgw/MGCP_Test.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24820/1/mgw/MGCP_Test.ttcn at 150 PS1, Line 150: f_ipa_ctrl_start_client(mp_remote_ipv4, mp_mgw_ctrl_port); > do we really want to start the CTRL conn on every test? I'd leave it only for tests requiring CTRL s [?] the testsuite for bsc and msc does it the same way. I wouldn't do it differently for mgw. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24820 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7324802bf6e692ce8b7d9b269dd2385a7d3d0d77 Gerrit-Change-Number: 24820 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 16 Jul 2021 08:19: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 Fri Jul 16 12:52:56 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 16 Jul 2021 12:52:56 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC: fix channel combinatiron for TS5 in phys_chan_config References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24954 ) Change subject: BSC: fix channel combinatiron for TS5 in phys_chan_config ...................................................................... BSC: fix channel combinatiron for TS5 in phys_chan_config In the configuration file, that we use for ttcn3-bsc-test, TS5 is configured to TCH/H. However, f_ts_reset_chcomb() would reset it to TCH/F. This makes some other test cases fail. Change-Id: I4c2c70381274949ed75d58723136e2f54eb3a7af Fixes: [1] I6110fe0bf56f4dbf67265f0d4c97cdea0b410af4 Related: SYS#24876 --- M bsc/BSC_Tests.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/54/24954/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 64f4b43..f562df3 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -663,7 +663,7 @@ "TCH/F", "TCH/F", "TCH/F", - "TCH/F", + "TCH/H", "PDCH", "PDCH" }; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24954 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4c2c70381274949ed75d58723136e2f54eb3a7af Gerrit-Change-Number: 24954 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 Jul 16 14:33:14 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 16 Jul 2021 14:33:14 +0000 Subject: Change in osmo-pcu[master]: Make gcc 11.1.0 false positivies happy In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24953 ) Change subject: Make gcc 11.1.0 false positivies happy ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24953 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1362a335a0c761bde367dbc779de4afa88f13584 Gerrit-Change-Number: 24953 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Comment-Date: Fri, 16 Jul 2021 14: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 Jul 16 14:49:21 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 16 Jul 2021 14:49:21 +0000 Subject: Change in libosmocore[master]: vty: add "show uptime" In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24924 ) Change subject: vty: add "show uptime" ...................................................................... Patch Set 4: Code-Review+2 (1 comment) I think this command is very helpful when diagnosing problems. https://gerrit.osmocom.org/c/libosmocore/+/24924/4/src/vty/command.c File src/vty/command.c: https://gerrit.osmocom.org/c/libosmocore/+/24924/4/src/vty/command.c at 3056 PS4, Line 3056: vty_out(vty, "%s has been running for %dd %dh %dm %ds%s", host.app_info->name, d, h, m, s, VTY_NEWLINE); maybe we could add a time and date since when it is running. When looking at this after days/weeks of runtime it might be easier to get an idea what might be wrong. Could also be another patch as well. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24924 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic7d9d5d3c8a9abd06a7e626aed7679f68406040c Gerrit-Change-Number: 24924 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 16 Jul 2021 14:49:21 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 16 14:49:26 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 16 Jul 2021 14:49:26 +0000 Subject: Change in libosmocore[master]: vty: add "show uptime" In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24924 ) Change subject: vty: add "show uptime" ...................................................................... Patch Set 4: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24924 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic7d9d5d3c8a9abd06a7e626aed7679f68406040c Gerrit-Change-Number: 24924 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 16 Jul 2021 14:49:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 16 14:54:47 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 16 Jul 2021 14:54:47 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: add logging on received MGCP messages In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24945 ) Change subject: mgcp_client: add logging on received MGCP messages ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24945 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Id76230896aa87c1a12bd5ad87a62430c048a2873 Gerrit-Change-Number: 24945 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 16 Jul 2021 14:54: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 Jul 16 14:58:21 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 16 Jul 2021 14:58:21 +0000 Subject: Change in osmo-bsc[master]: _select_sdcch_for_call: Avoid 2nd lchan lookup when finally selecting it In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24950 ) Change subject: _select_sdcch_for_call: Avoid 2nd lchan lookup when finally selecting it ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24950 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1054c18f58c9e249f263e3e97a365a1fd8b03a93 Gerrit-Change-Number: 24950 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Fri, 16 Jul 2021 14:58:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 16 15:04:12 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 16 Jul 2021 15:04:12 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_fsm delete: set mgcp_client as ctx, not NULL In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24946 ) Change subject: mgcp_client_fsm delete: set mgcp_client as ctx, not NULL ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24946 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ia12749e0d7d520f24a967c2df9a4651267e1019e Gerrit-Change-Number: 24946 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 16 Jul 2021 15:04: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 Jul 16 15:06:18 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 16 Jul 2021 15:06:18 +0000 Subject: Change in osmo-bts[master]: main: do not use fprintf to log fatal errors In-Reply-To: References: Message-ID: dexter has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24707 ) Change subject: main: do not use fprintf to log fatal errors ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24707 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I2ae4acf6a92137236e1b62c2d0aab79a34134f45 Gerrit-Change-Number: 24707 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-CC: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 16 15:10:01 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 16 Jul 2021 15:10:01 +0000 Subject: Change in osmo-mgw[master]: mgcp_ctrl: add functions to inspect trunk usage In-Reply-To: References: Message-ID: dexter has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24822 ) Change subject: mgcp_ctrl: add functions to inspect trunk usage ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24822 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib8b5a6e733f521828647742085cad8eccb3e715b Gerrit-Change-Number: 24822 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-CC: neels Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 16 15:11:14 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 16 Jul 2021 15:11:14 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_fsm: add missing log_subsys In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24944 ) Change subject: mgcp_client_fsm: add missing log_subsys ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24944 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6e84d5f7b85752a7a54f17be1d074b01d1467f26 Gerrit-Change-Number: 24944 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 16 Jul 2021 15:11: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 Jul 16 15:42:56 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 16 Jul 2021 15:42:56 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: add stats items to monitor trunk usage In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24942 ) Change subject: mgcp_ratectr: add stats items to monitor trunk usage ...................................................................... Patch Set 4: (3 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/24942/4/src/libosmo-mgcp/mgcp_endp.c File src/libosmo-mgcp/mgcp_endp.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24942/4/src/libosmo-mgcp/mgcp_endp.c at 138 PS4, Line 138: if (endp->trunk->stats.common) { can this be null? does it make sense that it's null? https://gerrit.osmocom.org/c/osmo-mgw/+/24942/4/src/libosmo-mgcp/mgcp_ratectr.c File src/libosmo-mgcp/mgcp_ratectr.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24942/4/src/libosmo-mgcp/mgcp_ratectr.c at 257 PS4, Line 257: "Number of endpoints that exist on the trunk", string not aligned to above line https://gerrit.osmocom.org/c/osmo-mgw/+/24942/4/src/libosmo-mgcp/mgcp_ratectr.c at 285 PS4, Line 285: snprintf(stat_name, sizeof(stat_name), "%s-%d:common", mgcp_trunk_type_strs_str(trunk->trunk_type), is trunk_nr an int? -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24942 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib7b654168dc3512f55e45cc4755dc1f6f423d023 Gerrit-Change-Number: 24942 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 16 Jul 2021 15:42: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 Fri Jul 16 15:54:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 16 Jul 2021 15:54:28 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: refactor MGCP request handling In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24941 ) Change subject: mgcp_protocol: refactor MGCP request handling ...................................................................... Patch Set 4: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/24941/4/src/libosmo-mgcp/mgcp_protocol.c File src/libosmo-mgcp/mgcp_protocol.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24941/4/src/libosmo-mgcp/mgcp_protocol.c at 374 PS4, Line 374: LOGP(DLMGCP, LOGL_NOTICE, I still don't get why printing a failure here, if it's actually accepted to receive no endpoint, for instance in wildcarded DLC (that's why you are doing this refactor right?) -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24941 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I9f519d8a0ee8a513fa1e74acf3ee7dbc0991cdde Gerrit-Change-Number: 24941 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 16 Jul 2021 15:54: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 Fri Jul 16 15:56:49 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 16 Jul 2021 15:56:49 +0000 Subject: Change in libosmocore[master]: vty: add "show uptime" In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24924 ) Change subject: vty: add "show uptime" ...................................................................... Patch Set 4: (2 comments) https://gerrit.osmocom.org/c/libosmocore/+/24924/4/src/vty/command.c File src/vty/command.c: https://gerrit.osmocom.org/c/libosmocore/+/24924/4/src/vty/command.c at 3050 PS4, Line 3050: time_t uptime = now.tv_sec - starttime.tv_sec; IIRC time_t has a lower range (32bits signed?) than timespec (64bits), so there might be integer underflows here. The most correct approach would likely be to use timespecsub() after #include - but I don't think it's super critical. I'm just surprised we're not using the kind of code we already have to deal with timespec values. https://gerrit.osmocom.org/c/libosmocore/+/24924/4/src/vty/command.c at 3056 PS4, Line 3056: vty_out(vty, "%s has been running for %dd %dh %dm %ds%s", host.app_info->name, d, h, m, s, VTY_NEWLINE); > maybe we could add a time and date since when it is running. [?] see my previous comments. The process start-up could happen before a proper RTC time/date is set, so we cannot simply store the start-up time/date. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24924 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic7d9d5d3c8a9abd06a7e626aed7679f68406040c Gerrit-Change-Number: 24924 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 16 Jul 2021 15:56:49 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: dexter Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 16 15:56:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 16 Jul 2021 15:56:53 +0000 Subject: Change in libosmocore[master]: vty: add "shutdown" In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24926 ) Change subject: vty: add "shutdown" ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24926 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3596a35b0f4a24e49484ec3f24a98e4d4f583e1e Gerrit-Change-Number: 24926 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 16 Jul 2021 15: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 Fri Jul 16 15:57:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 16 Jul 2021 15:57:01 +0000 Subject: Change in libosmocore[master]: vty: add "show uptime" In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24924 ) Change subject: vty: add "show uptime" ...................................................................... vty: add "show uptime" Related: OS#4609 Change-Id: Ic7d9d5d3c8a9abd06a7e626aed7679f68406040c --- M src/vty/command.c 1 file changed, 27 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, approved; Verified pespin: Looks good to me, but someone else must approve diff --git a/src/vty/command.c b/src/vty/command.c index de89337..67b4001 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -46,6 +46,7 @@ #include #include +#include #include #ifndef MAXPATHLEN @@ -63,6 +64,9 @@ void *tall_vty_cmd_ctx; +/* Set by on_dso_load_starttime() for "show uptime". */ +static struct timespec starttime; + /* Command vector which includes some level of command lists. Normally each daemon maintains each own cmdvec. */ vector cmdvec; @@ -3037,6 +3041,23 @@ return CMD_SUCCESS; } +DEFUN(show_uptime, + show_uptime_cmd, "show uptime", SHOW_STR "Displays how long the program has been running\n") +{ + struct timespec now; + osmo_clock_gettime(CLOCK_MONOTONIC, &now); + + time_t uptime = now.tv_sec - starttime.tv_sec; + int d = uptime / (3600 * 24); + int h = uptime / 3600 % 24; + int m = uptime / 60 % 60; + int s = uptime % 60; + + vty_out(vty, "%s has been running for %dd %dh %dm %ds%s", host.app_info->name, d, h, m, s, VTY_NEWLINE); + + return CMD_SUCCESS; +} + /* Help display function for all node. */ gDEFUN(config_help, config_help_cmd, "help", "Description of the interactive help system\n") @@ -4346,6 +4367,7 @@ install_node(&config_node, config_write_host); /* Each node's basic commands. */ + install_lib_element(VIEW_NODE, &show_uptime_cmd); install_lib_element(VIEW_NODE, &show_version_cmd); install_lib_element(VIEW_NODE, &show_online_help_cmd); if (terminal) { @@ -4399,6 +4421,11 @@ srand(time(NULL)); } +static __attribute__((constructor)) void on_dso_load_starttime(void) +{ + osmo_clock_gettime(CLOCK_MONOTONIC, &starttime); +} + /* FIXME: execute this section in the unit test instead */ static __attribute__((constructor)) void on_dso_load(void) { -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24924 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic7d9d5d3c8a9abd06a7e626aed7679f68406040c Gerrit-Change-Number: 24924 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 16 15:57:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 16 Jul 2021 15:57:01 +0000 Subject: Change in libosmocore[master]: vty: add "show pid" In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24925 ) Change subject: vty: add "show pid" ...................................................................... vty: add "show pid" Related: OS#4609 Change-Id: Ib636050afc1eed134f450f2f1cdd3b51153b0160 --- M src/vty/command.c 1 file changed, 8 insertions(+), 0 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, approved diff --git a/src/vty/command.c b/src/vty/command.c index 67b4001..5001d06 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -3041,6 +3041,13 @@ return CMD_SUCCESS; } +DEFUN(show_pid, + show_pid_cmd, "show pid", SHOW_STR "Displays the process ID\n") +{ + vty_out(vty, "%d%s", getpid(), VTY_NEWLINE); + return CMD_SUCCESS; +} + DEFUN(show_uptime, show_uptime_cmd, "show uptime", SHOW_STR "Displays how long the program has been running\n") { @@ -4367,6 +4374,7 @@ install_node(&config_node, config_write_host); /* Each node's basic commands. */ + install_lib_element(VIEW_NODE, &show_pid_cmd); install_lib_element(VIEW_NODE, &show_uptime_cmd); install_lib_element(VIEW_NODE, &show_version_cmd); install_lib_element(VIEW_NODE, &show_online_help_cmd); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24925 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib636050afc1eed134f450f2f1cdd3b51153b0160 Gerrit-Change-Number: 24925 Gerrit-PatchSet: 4 Gerrit-Owner: osmith 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 Jul 16 15:57:02 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 16 Jul 2021 15:57:02 +0000 Subject: Change in libosmocore[master]: vty: add "shutdown" In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24926 ) Change subject: vty: add "shutdown" ...................................................................... vty: add "shutdown" Kill programs with SIGTERM with the new vty command, as it would happen with "systemctl stop". I've considered running the select shutdown logic too in order to ensure that pending OSMO_FD_WRITE requests are serviced. But as noted in review, it's better to ensure that the regular SIGTERM code path works as expected and call that instead of introducing an alternative code path. Closes: OS#4609 Change-Id: I3596a35b0f4a24e49484ec3f24a98e4d4f583e1e --- M src/vty/command.c 1 file changed, 16 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/src/vty/command.c b/src/vty/command.c index 5001d06..3112fee 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -38,13 +38,16 @@ #include #include #include +#include #include #include +#include #include #include #include +#include #include #include #include @@ -3022,6 +3025,18 @@ return CMD_SUCCESS; } +DEFUN(shutdown, + shutdown_cmd, "shutdown", "Request a shutdown of the program\n") +{ + LOGP(DLGLOBAL, LOGL_INFO, "Shutdown requested from telnet\n"); + vty_out(vty, "%s is shutting down. Bye!%s", host.app_info->name, VTY_NEWLINE); + + /* Same exit path as if it was killed by the service manager */ + kill(getpid(), SIGTERM); + + return CMD_SUCCESS; +} + /* Show version. */ DEFUN(show_version, show_version_cmd, "show version", SHOW_STR "Displays program version\n") @@ -4394,6 +4409,7 @@ install_lib_element(ENABLE_NODE, &config_disable_cmd); install_lib_element(ENABLE_NODE, &config_terminal_cmd); install_lib_element(ENABLE_NODE, ©_runningconfig_startupconfig_cmd); + install_lib_element(ENABLE_NODE, &shutdown_cmd); } install_lib_element(ENABLE_NODE, &show_startup_config_cmd); install_lib_element(ENABLE_NODE, &show_version_cmd); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24926 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3596a35b0f4a24e49484ec3f24a98e4d4f583e1e Gerrit-Change-Number: 24926 Gerrit-PatchSet: 4 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 Jul 16 15:57:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 16 Jul 2021 15:57:06 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: add control interface to MGW testsuite In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24820 ) Change subject: MGCP_Test: add control interface to MGW testsuite ...................................................................... Patch Set 3: Not sure if this will actually be needed since pmaier is usingstats_item now afaik. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24820 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7324802bf6e692ce8b7d9b269dd2385a7d3d0d77 Gerrit-Change-Number: 24820 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 16 Jul 2021 15:57:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 16 15:57:19 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 16 Jul 2021 15:57:19 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_fsm delete: set mgcp_client as ctx, not NULL In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24946 ) Change subject: mgcp_client_fsm delete: set mgcp_client as ctx, not NULL ...................................................................... Patch Set 1: Code-Review+2 combine votes -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24946 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ia12749e0d7d520f24a967c2df9a4651267e1019e Gerrit-Change-Number: 24946 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 16 Jul 2021 15:57:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 16 15:58:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 16 Jul 2021 15:58:03 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_endpoint_fsm: on term, still let conns wait for DLCX OK In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24943 ) Change subject: mgcp_client_endpoint_fsm: on term, still let conns wait for DLCX OK ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24943 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I8fbfec5533e9be9cc7ea550df1e6639a0a215973 Gerrit-Change-Number: 24943 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 16 Jul 2021 15:58:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 16 15:58:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 16 Jul 2021 15:58:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC: fix channel combinatiron for TS5 in phys_chan_config In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24954 ) Change subject: BSC: fix channel combinatiron for TS5 in phys_chan_config ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24954 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4c2c70381274949ed75d58723136e2f54eb3a7af Gerrit-Change-Number: 24954 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 16 Jul 2021 15:58:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 16 15:58:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 16 Jul 2021 15:58:16 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_fsm delete: set mgcp_client as ctx, not NULL In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24946 ) Change subject: mgcp_client_fsm delete: set mgcp_client as ctx, not NULL ...................................................................... mgcp_client_fsm delete: set mgcp_client as ctx, not NULL Upon mgcp_conn_delete(), we unparent the FSM instance. Instead of setting the talloc ctx to NULL, place the deleting conn under the struct mgcp_client talloc ctx. Related: SYS#5529 Change-Id: Ia12749e0d7d520f24a967c2df9a4651267e1019e --- M src/libosmo-mgcp-client/mgcp_client_fsm.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve dexter: Looks good to me, but someone else must approve neels: Looks good to me, approved diff --git a/src/libosmo-mgcp-client/mgcp_client_fsm.c b/src/libosmo-mgcp-client/mgcp_client_fsm.c index 1c0cd59..57c6d98 100644 --- a/src/libosmo-mgcp-client/mgcp_client_fsm.c +++ b/src/libosmo-mgcp-client/mgcp_client_fsm.c @@ -709,8 +709,8 @@ if (fi->proc.terminating) return; - /* Unlink FSM from parent */ - osmo_fsm_inst_unlink_parent(fi, NULL); + /* Unlink FSM from parent, set the struct mgcp_client as new talloc ctx. */ + osmo_fsm_inst_unlink_parent(fi, mgcp_ctx->mgcp); /* An error situation where the parent FSM must be killed immediately * may lead into a situation where the DLCX can not be executed right -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24946 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ia12749e0d7d520f24a967c2df9a4651267e1019e Gerrit-Change-Number: 24946 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 16 15:58:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 16 Jul 2021 15:58:17 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_endpoint_fsm: on term, still let conns wait for DLCX OK In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24943 ) Change subject: mgcp_client_endpoint_fsm: on term, still let conns wait for DLCX OK ...................................................................... mgcp_client_endpoint_fsm: on term, still let conns wait for DLCX OK When the mgcp_client_endpoint_fsm terminates, do not directly pull each conn FSM instance (mgcp_client_fsm) into oblivion as well. Those should emit a DLCX and wait for the "OK" response before deallocating. In programs using the mgcp client endpoint FSM (osmo-bsc, osmo-msc), this gets rid of false LMGCP ERROR logging related to DLCX like this: Cannot find matching MGCP transaction for trans_id 71998 Related: SYS#5529 Change-Id: I8fbfec5533e9be9cc7ea550df1e6639a0a215973 --- M src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c 1 file changed, 29 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/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c b/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c index 7175c18..0613e17 100644 --- a/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c +++ b/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c @@ -990,6 +990,34 @@ return 0; } +void osmo_mgcpc_ep_fsm_pre_term(struct osmo_fsm_inst *fi, enum osmo_fsm_term_cause cause) +{ + int i; + struct osmo_mgcpc_ep *ep = osmo_mgcpc_ep_fi_mgwep(fi); + + /* We want the mgcp_client_fsm to still stick around until it received the DLCX "OK" responses from the MGW. So + * it should not dealloc along with this ep_fsm instance. Instead, signal DLCX for each conn on the endpoint, + * and detach the mgcp_client_fsm from being a child-fsm. + * + * After mgcp_conn_delete(), an mgcp_client_fsm instance goes into ST_DLCX_RESP, which waits up to 4 seconds for + * a DLCX OK. If none is received in that time, the instance terminates. So cleanup of the instance is + * guaranteed. */ + + for (i = 0; i < ARRAY_SIZE(ep->ci); i++) { + struct osmo_mgcpc_ep_ci *ci = &ep->ci[i]; + + if (!ci->occupied || !ci->mgcp_client_fi) + continue; + + /* mgcp_conn_delete() unlinks itself from this parent FSM implicitly and waits for the DLCX OK. */ + mgcp_conn_delete(ci->mgcp_client_fi); + /* Forget all about this ci */ + *ci = (struct osmo_mgcpc_ep_ci){ + .ep = ep, + }; + } +} + static struct osmo_fsm osmo_mgcpc_ep_fsm = { .name = "mgw-endp", .states = osmo_mgcpc_ep_fsm_states, @@ -997,5 +1025,5 @@ .log_subsys = DLMGCP, .event_names = osmo_mgcpc_ep_fsm_event_names, .timer_cb = osmo_mgcpc_ep_fsm_timer_cb, - /* The FSM termination will automatically trigger any mgcp_client_fsm instances to DLCX. */ + .pre_term = osmo_mgcpc_ep_fsm_pre_term, }; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24943 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I8fbfec5533e9be9cc7ea550df1e6639a0a215973 Gerrit-Change-Number: 24943 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 16 15:58:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 16 Jul 2021 15:58:17 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_fsm: add missing log_subsys In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24944 ) Change subject: mgcp_client_fsm: add missing log_subsys ...................................................................... mgcp_client_fsm: add missing log_subsys To see state transitions and events on LMGCP DEBUG logging, actually set the log_subsys of the mgcp_client_fsm. Related: SYS#5529 Change-Id: I6e84d5f7b85752a7a54f17be1d074b01d1467f26 --- M src/libosmo-mgcp-client/mgcp_client_fsm.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved dexter: Looks good to me, approved diff --git a/src/libosmo-mgcp-client/mgcp_client_fsm.c b/src/libosmo-mgcp-client/mgcp_client_fsm.c index 57c6d98..3f33dc7 100644 --- a/src/libosmo-mgcp-client/mgcp_client_fsm.c +++ b/src/libosmo-mgcp-client/mgcp_client_fsm.c @@ -596,6 +596,7 @@ .timer_cb = fsm_timeout_cb, .cleanup = fsm_cleanup_cb, .event_names = fsm_mgcp_client_evt_names, + .log_subsys = DLMGCP, }; /*! allocate FSM, and create a new connection on the MGW. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24944 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6e84d5f7b85752a7a54f17be1d074b01d1467f26 Gerrit-Change-Number: 24944 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 16 15:58:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 16 Jul 2021 15:58:17 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: add logging on received MGCP messages In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24945 ) Change subject: mgcp_client: add logging on received MGCP messages ...................................................................... mgcp_client: add logging on received MGCP messages There is verbose debug logging on MGCP messages sent out to the MGW, but none on received MGCP messages. Add Rx logging. Related: SYS#5529 Change-Id: Id76230896aa87c1a12bd5ad87a62430c048a2873 --- M src/libosmo-mgcp-client/mgcp_client.c M tests/mgcp_client/mgcp_client_test.err 2 files changed, 4 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve dexter: Looks good to me, approved diff --git a/src/libosmo-mgcp-client/mgcp_client.c b/src/libosmo-mgcp-client/mgcp_client.c index 8e6780e..9d60ee8 100644 --- a/src/libosmo-mgcp-client/mgcp_client.c +++ b/src/libosmo-mgcp-client/mgcp_client.c @@ -677,6 +677,9 @@ goto error; } + LOGP(DLMGCP, LOGL_DEBUG, "MGCP client: Rx %d %u %s\n", + r->head.response_code, r->head.trans_id, r->head.comment); + rc = parse_head_params(r); if (rc) { LOGP(DLMGCP, LOGL_ERROR, "Cannot parse MGCP response (head parameters)\n"); diff --git a/tests/mgcp_client/mgcp_client_test.err b/tests/mgcp_client/mgcp_client_test.err index 80119cb..e7db23c 100644 --- a/tests/mgcp_client/mgcp_client_test.err +++ b/tests/mgcp_client/mgcp_client_test.err @@ -10,6 +10,7 @@ - cancel succeeds DLMGCP Canceled transaction 1 - late response gets discarded +DLMGCP MGCP client: Rx 200 1 OK DLMGCP Cannot find matching MGCP transaction for trans_id 1 - canceling again does nothing DLMGCP Cannot cancel, no such transaction: 1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24945 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Id76230896aa87c1a12bd5ad87a62430c048a2873 Gerrit-Change-Number: 24945 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 16 15:58:19 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 16 Jul 2021 15:58:19 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC: fix channel combinatiron for TS5 in phys_chan_config In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24954 ) Change subject: BSC: fix channel combinatiron for TS5 in phys_chan_config ...................................................................... Patch Set 1: Thanks for catching it! -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24954 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4c2c70381274949ed75d58723136e2f54eb3a7af Gerrit-Change-Number: 24954 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 16 Jul 2021 15:58:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 16 15:58:21 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 16 Jul 2021 15:58:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC: fix channel combinatiron for TS5 in phys_chan_config In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24954 ) Change subject: BSC: fix channel combinatiron for TS5 in phys_chan_config ...................................................................... BSC: fix channel combinatiron for TS5 in phys_chan_config In the configuration file, that we use for ttcn3-bsc-test, TS5 is configured to TCH/H. However, f_ts_reset_chcomb() would reset it to TCH/F. This makes some other test cases fail. Change-Id: I4c2c70381274949ed75d58723136e2f54eb3a7af Fixes: [1] I6110fe0bf56f4dbf67265f0d4c97cdea0b410af4 Related: SYS#24876 --- M bsc/BSC_Tests.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 64f4b43..f562df3 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -663,7 +663,7 @@ "TCH/F", "TCH/F", "TCH/F", - "TCH/F", + "TCH/H", "PDCH", "PDCH" }; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24954 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4c2c70381274949ed75d58723136e2f54eb3a7af Gerrit-Change-Number: 24954 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 Jul 16 15:58:31 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 16 Jul 2021 15:58:31 +0000 Subject: Change in osmo-pcu[master]: Make gcc 11.1.0 false positivies happy In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24953 ) Change subject: Make gcc 11.1.0 false positivies happy ...................................................................... Make gcc 11.1.0 false positivies happy After my system's gcc was upgraded, I get false positivies like the one below: """ /git/osmo-pcu/src/gprs_bssgp_pcu.c: In function ?ns_configure_nse?: /git/osmo-pcu/src/gprs_bssgp_pcu.c:1103:58: error: ?%d? directive output may be truncated writing between 1 and 11 bytes into a region of size 2 [-Werror=format-truncation=] 1103 | snprintf(name, sizeof(name), "pcu%d", i); | ^~ /git/osmo-pcu/src/gprs_bssgp_pcu.c:1103:54: note: directive argument in the range [-2147483648, 1] 1103 | snprintf(name, sizeof(name), "pcu%d", i); | ^~~~~~~ /git/osmo-pcu/src/gprs_bssgp_pcu.c:1103:25: note: ?snprintf? output between 5 and 15 bytes into a destination of size 5 1103 | snprintf(name, sizeof(name), "pcu%d", i); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ """ In this case, i can't never take a value with more than 1 digit, but gcc seems to be unable to see that. Let's increase the buffer size a few bytes to make gcc happy, and make the variable unsigned since it never will get negative values. Next change is also a false positive, since variables are always initialized beforehand in the cod epaths where they are used: """ /git/osmo-pcu/src/bts.cpp: In function ?int bts_rcv_rach(gprs_rlcmac_bts*, const rach_ind_params*)?: /git/osmo-pcu/src/bts.cpp:859:25: error: ?ts_no? may be used uninitialized in this function [-Werror=maybe-uninitialized] 859 | uint8_t trx_no, ts_no; | ^~~~~ /git/osmo-pcu/src/bts.cpp:859:17: error: ?trx_no? may be used uninitialized in this function [-Werror=maybe-uninitialized] 859 | uint8_t trx_no, ts_no; | ^~~~~~ """ Change-Id: I1362a335a0c761bde367dbc779de4afa88f13584 --- M src/bts.cpp M src/gprs_bssgp_pcu.c 2 files changed, 5 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified daniel: Looks good to me, but someone else must approve dexter: Looks good to me, approved diff --git a/src/bts.cpp b/src/bts.cpp index 95dde04..ee6b915 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -856,7 +856,7 @@ struct chan_req_params chan_req = { 0 }; struct gprs_rlcmac_ul_tbf *tbf = NULL; struct gprs_rlcmac_sba *sba; - uint8_t trx_no, ts_no; + uint8_t trx_no = 0, ts_no = 0; /* initialize to avoid uninitialized false warnings on some gcc versions (11.1.0) */ uint32_t sb_fn = 0; uint8_t usf = 7; uint8_t tsc = 0; diff --git a/src/gprs_bssgp_pcu.c b/src/gprs_bssgp_pcu.c index 0e8e145..e2f6f51 100644 --- a/src/gprs_bssgp_pcu.c +++ b/src/gprs_bssgp_pcu.c @@ -1075,12 +1075,13 @@ const uint16_t *nsvci, uint16_t valid) { - int i, rc; + unsigned int i; + int rc; uint16_t binds = 0; bool nsvcs = false; struct gprs_ns2_vc *nsvc; struct gprs_ns2_vc_bind *bind[PCU_IF_NUM_NSVC] = { }; - char name[5]; + char name[16]; bool sns_configured = false; if (!valid) @@ -1100,7 +1101,7 @@ continue; if (!gprs_ns2_ip_bind_by_sockaddr(the_pcu->nsi, &local[i])) { - snprintf(name, sizeof(name), "pcu%d", i); + snprintf(name, sizeof(name), "pcu%u", i); rc = gprs_ns2_ip_bind(the_pcu->nsi, name, &local[i], 0, &bind[i]); if (rc < 0) { LOGP(DBSSGP, LOGL_ERROR, "Failed to bind to %s\n", osmo_sockaddr_to_str(&local[i])); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24953 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1362a335a0c761bde367dbc779de4afa88f13584 Gerrit-Change-Number: 24953 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 16 15:59:20 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 16 Jul 2021 15:59:20 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC: fix channel combinatiron for TS5 in phys_chan_config In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24954 ) Change subject: BSC: fix channel combinatiron for TS5 in phys_chan_config ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24954 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4c2c70381274949ed75d58723136e2f54eb3a7af Gerrit-Change-Number: 24954 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 16 Jul 2021 15:59:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 16 15:59:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 16 Jul 2021 15:59:59 +0000 Subject: Change in osmo-bts[master]: Make gcc 11.1.0 false positivies happy In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24952 ) Change subject: Make gcc 11.1.0 false positivies happy ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24952 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I93477142a5a4b3f3829b7398d6e564c127263596 Gerrit-Change-Number: 24952 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 16 Jul 2021 15:59: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 Jul 16 16:00:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 16 Jul 2021 16:00:01 +0000 Subject: Change in osmo-bts[master]: Make gcc 11.1.0 false positivies happy In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24952 ) Change subject: Make gcc 11.1.0 false positivies happy ...................................................................... Make gcc 11.1.0 false positivies happy Make gcc 11.1.0 false positivies happy After my system's gcc was upgraded, I get false positivies in a couple places. Let's initialize those to make gcc happy. """ //git/osmo-bts/src/common/vty.c: In function ?lchan_summary?: //git/osmo-bts/src/common/vty.c:1881:23: error: ?ts? may be used uninitialized in this function [-Werror=maybe-uninitialized] 1881 | lchan = &ts->lchan[lchan_nr]; | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~ //git/osmo-bts/src/common/vty.c:1869:20: error: ?trx? may be used uninitialized in this function [-Werror=maybe-uninitialized] 1869 | ts = &trx->ts[ts_nr]; | ~~~^~~~~~~~~~~~~~~~~ //git/osmo-bts/src/common/vty.c:1852:34: error: ?bts? may be used uninitialized in this function [-Werror=maybe-uninitialized] 1852 | if (trx_nr >= bts->num_trx) { """ Change-Id: I93477142a5a4b3f3829b7398d6e564c127263596 --- M src/common/vty.c 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/common/vty.c b/src/common/vty.c index 3065a90..a7d1e84 100644 --- a/src/common/vty.c +++ b/src/common/vty.c @@ -1828,9 +1828,9 @@ void (*dump_cb)(struct vty *, const struct gsm_lchan *)) { const struct gsm_network *net = gsmnet_from_vty(vty); - const struct gsm_bts *bts; - const struct gsm_bts_trx *trx; - const struct gsm_bts_trx_ts *ts; + const struct gsm_bts *bts = NULL; /* initialize to avoid uninitialized false warnings on some gcc versions (11.1.0) */ + const struct gsm_bts_trx *trx = NULL; /* initialize to avoid uninitialized false warnings on some gcc versions (11.1.0) */ + const struct gsm_bts_trx_ts *ts = NULL; /* initialize to avoid uninitialized false warnings on some gcc versions (11.1.0) */ const struct gsm_lchan *lchan; int bts_nr, trx_nr, ts_nr, lchan_nr; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24952 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I93477142a5a4b3f3829b7398d6e564c127263596 Gerrit-Change-Number: 24952 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 Jul 16 16:00:09 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 16 Jul 2021 16:00:09 +0000 Subject: Change in osmo-ci[master]: lint: checkpatch.pl: allow spaces below (g)DEFUN In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24918 ) Change subject: lint: checkpatch.pl: allow spaces below (g)DEFUN ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24918 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0934b63a62500e7a3e09c753cc63aa331e580cc6 Gerrit-Change-Number: 24918 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 16 Jul 2021 16:00:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 16 16:00:13 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 16 Jul 2021 16:00:13 +0000 Subject: Change in osmo-ci[master]: lint: ignore PREFER_FALLTHROUGH In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24919 ) Change subject: lint: ignore PREFER_FALLTHROUGH ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24919 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I373a231cf08fd23312ad9a85d8e2855a736e331a Gerrit-Change-Number: 24919 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 16 Jul 2021 16:00:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 16 16:00:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 16 Jul 2021 16:00:17 +0000 Subject: Change in osmo-ci[master]: lint: ignore DEEP_INDENTATION In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24920 ) Change subject: lint: ignore DEEP_INDENTATION ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24920 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Iff29f0a97dbfed904705f543541441f761370602 Gerrit-Change-Number: 24920 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 16 Jul 2021 16:00: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 Jul 16 16:00:22 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 16 Jul 2021 16:00:22 +0000 Subject: Change in osmo-ci[master]: lint: ignore PREFER_DEFINED_ATTRIBUTE_MACRO In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24921 ) Change subject: lint: ignore PREFER_DEFINED_ATTRIBUTE_MACRO ...................................................................... Patch Set 3: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24921 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I2bf3b7d60e99cf91f7b619af54167a11cdfae8c6 Gerrit-Change-Number: 24921 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 16 Jul 2021 16:00:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 16 16:00:29 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 16 Jul 2021 16:00:29 +0000 Subject: Change in osmo-ci[master]: lint: checkpatch.pl: complain about %i in printf In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24927 ) Change subject: lint: checkpatch.pl: complain about %i in printf ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24927 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I1a98326f1cbf4d2e0bb948558e5cd1726b0a9868 Gerrit-Change-Number: 24927 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 16 Jul 2021 16:00: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 Jul 16 16:00:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 16 Jul 2021 16:00:33 +0000 Subject: Change in osmo-ci[master]: lint: ignore PREFER_DEFINED_ATTRIBUTE_MACRO In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24921 ) Change subject: lint: ignore PREFER_DEFINED_ATTRIBUTE_MACRO ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24921 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I2bf3b7d60e99cf91f7b619af54167a11cdfae8c6 Gerrit-Change-Number: 24921 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 16 Jul 2021 16:00:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 16 16:00:42 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 16 Jul 2021 16:00:42 +0000 Subject: Change in osmo-ci[master]: lint: checkpatch.pl: allow spaces below (g)DEFUN In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24918 ) Change subject: lint: checkpatch.pl: allow spaces below (g)DEFUN ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24918 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0934b63a62500e7a3e09c753cc63aa331e580cc6 Gerrit-Change-Number: 24918 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 16 Jul 2021 16:00: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 Jul 16 16:00:44 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 16 Jul 2021 16:00:44 +0000 Subject: Change in libosmocore[master]: vty: add "show uptime" In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24924 ) Change subject: vty: add "show uptime" ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24924/4/src/vty/command.c File src/vty/command.c: https://gerrit.osmocom.org/c/libosmocore/+/24924/4/src/vty/command.c at 3056 PS4, Line 3056: vty_out(vty, "%s has been running for %dd %dh %dm %ds%s", host.app_info->name, d, h, m, s, VTY_NEWLINE); > see my previous comments. [?] For CLOCK_MONOTONIC it's fine, it's not affected by time/date setting. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24924 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic7d9d5d3c8a9abd06a7e626aed7679f68406040c Gerrit-Change-Number: 24924 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 16 Jul 2021 16:00:44 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Comment-In-Reply-To: dexter Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 16 16:01:14 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 16 Jul 2021 16:01:14 +0000 Subject: Change in osmo-ci[master]: lint: checkpatch.pl: allow spaces below (g)DEFUN In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24918 ) Change subject: lint: checkpatch.pl: allow spaces below (g)DEFUN ...................................................................... lint: checkpatch.pl: allow spaces below (g)DEFUN Do not complain if indenting with exactly 6/7 spaces below (g)DEFUN(, as it's often done in VTY-related code in Osmocom. This patch assumes that if the line starts with 6/7 spaces and " or a word, it's probably below DEFUN( or gDEFUN(. I've considered implementing a more accurate check, but that would be too much effort (e.g. when more macros are involved). Other related macros, such as DEFUN_ATTR are longer. Indentation below those should be done with one tab (+ spaces for padding), the linter doesn't need to be adjusted for those. Related: OS#5087 Change-Id: I0934b63a62500e7a3e09c753cc63aa331e580cc6 --- M lint/checkpatch/checkpatch.pl 1 file changed, 3 insertions(+), 1 deletion(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved; Verified diff --git a/lint/checkpatch/checkpatch.pl b/lint/checkpatch/checkpatch.pl index ad99e0c..4da42a9 100755 --- a/lint/checkpatch/checkpatch.pl +++ b/lint/checkpatch/checkpatch.pl @@ -3973,7 +3973,9 @@ # 1) within comments # 2) indented preprocessor commands # 3) hanging labels - if ($rawline =~ /^\+ / && $line !~ /^\+ *(?:$;|#|$Ident:)/) { + if ($rawline =~ /^\+ / && $line !~ /^\+ *(?:$;|#|$Ident:)/ && + # Osmocom specific, below 'DEFUN(' or 'gDEFUN(' + $line !~ /^\+ {6,7}["\w].*$/) { my $herevet = "$here\n" . cat_vet($rawline) . "\n"; if (WARN("LEADING_SPACE", "please, no spaces at the start of a line\n" . $herevet) && -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24918 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0934b63a62500e7a3e09c753cc63aa331e580cc6 Gerrit-Change-Number: 24918 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-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 Jul 16 16:01:14 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 16 Jul 2021 16:01:14 +0000 Subject: Change in osmo-ci[master]: lint: ignore PREFER_FALLTHROUGH In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24919 ) Change subject: lint: ignore PREFER_FALLTHROUGH ...................................................................... lint: ignore PREFER_FALLTHROUGH Related: OS#5087 Change-Id: I373a231cf08fd23312ad9a85d8e2855a736e331a --- M lint/checkpatch/checkpatch_osmo.sh 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved laforge: Looks good to me, but someone else must approve; Verified diff --git a/lint/checkpatch/checkpatch_osmo.sh b/lint/checkpatch/checkpatch_osmo.sh index 1932c03..7ee8ed6 100755 --- a/lint/checkpatch/checkpatch_osmo.sh +++ b/lint/checkpatch/checkpatch_osmo.sh @@ -20,6 +20,7 @@ # * INITIALISED_STATIC: we use this, see also http://lkml.iu.edu/hypermail/linux/kernel/0808.1/2235.html # * LINE_CONTINUATIONS: false positives # * LINE_SPACING: we don't always put a blank line after declarations +# * PREFER_FALLTHROUGH: pseudo keyword macro "fallthrough" is not defined in libosmocore # * REPEATED_WORD: false positives in doxygen descriptions (e.g. '\param[in] data Data passed through...') # * SPDX_LICENSE_TAG: we don't place it on line 1 # * SPLIT_STRING: we do split long messages over multiple lines @@ -42,6 +43,7 @@ --ignore INITIALISED_STATIC \ --ignore LINE_CONTINUATIONS \ --ignore LINE_SPACING \ + --ignore PREFER_FALLTHROUGH \ --ignore REPEATED_WORD \ --ignore SPDX_LICENSE_TAG \ --ignore SPLIT_STRING \ -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24919 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I373a231cf08fd23312ad9a85d8e2855a736e331a Gerrit-Change-Number: 24919 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-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 Jul 16 16:01:15 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 16 Jul 2021 16:01:15 +0000 Subject: Change in osmo-ci[master]: lint: ignore DEEP_INDENTATION In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24920 ) Change subject: lint: ignore DEEP_INDENTATION ...................................................................... lint: ignore DEEP_INDENTATION Related: OS#5087 Change-Id: Iff29f0a97dbfed904705f543541441f761370602 --- M lint/checkpatch/checkpatch_osmo.sh 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved laforge: Looks good to me, but someone else must approve; Verified diff --git a/lint/checkpatch/checkpatch_osmo.sh b/lint/checkpatch/checkpatch_osmo.sh index 7ee8ed6..4be1348 100755 --- a/lint/checkpatch/checkpatch_osmo.sh +++ b/lint/checkpatch/checkpatch_osmo.sh @@ -11,6 +11,7 @@ # * BLOCK_COMMENT_STYLE: we don't use a trailing */ on a separate line # * COMPLEX_MACRO: we don't use parentheses when building macros of strings across multiple lines # * CONSTANT_COMPARISON: not followed: "Comparisons should place the constant on the right side" +# * DEEP_INDENTATION: warns about many leading tabs, not useful if changing existing code without refactoring # * EMBEDDED_FUNCTION_NAME: often __func__ isn't used, arguably not much benefit in changing this when touching code # * EXECUTE_PERMISSIONS: not followed, files need to be executable: git-version-gen, some in debian/ # * FILE_PATH_CHANGES: we don't use a MAINTAINERS file @@ -34,6 +35,7 @@ --ignore BLOCK_COMMENT_STYLE \ --ignore COMPLEX_MACRO \ --ignore CONSTANT_COMPARISON \ + --ignore DEEP_INDENTATION \ --ignore EMBEDDED_FUNCTION_NAME \ --ignore EXECUTE_PERMISSIONS \ --ignore FILE_PATH_CHANGES \ -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24920 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Iff29f0a97dbfed904705f543541441f761370602 Gerrit-Change-Number: 24920 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-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 Jul 16 16:01:15 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 16 Jul 2021 16:01:15 +0000 Subject: Change in osmo-ci[master]: lint: ignore PREFER_DEFINED_ATTRIBUTE_MACRO In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24921 ) Change subject: lint: ignore PREFER_DEFINED_ATTRIBUTE_MACRO ...................................................................... lint: ignore PREFER_DEFINED_ATTRIBUTE_MACRO Don't complain that macros such as __packed should be used, which are defined in the Linux kernel but not in libosmocore. For example: src/gsm/gsm0808.c:85: WARNING:PREFER_DEFINED_ATTRIBUTE_MACRO: Prefer __packed over __attribute__((packed)) Related: OS#5087 Change-Id: I2bf3b7d60e99cf91f7b619af54167a11cdfae8c6 --- M lint/checkpatch/checkpatch_osmo.sh 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified pespin: Looks good to me, but someone else must approve diff --git a/lint/checkpatch/checkpatch_osmo.sh b/lint/checkpatch/checkpatch_osmo.sh index 4be1348..88f0b2d 100755 --- a/lint/checkpatch/checkpatch_osmo.sh +++ b/lint/checkpatch/checkpatch_osmo.sh @@ -21,6 +21,7 @@ # * INITIALISED_STATIC: we use this, see also http://lkml.iu.edu/hypermail/linux/kernel/0808.1/2235.html # * LINE_CONTINUATIONS: false positives # * LINE_SPACING: we don't always put a blank line after declarations +# * PREFER_DEFINED_ATTRIBUTE_MACRO: macros like __packed not defined in libosmocore # * PREFER_FALLTHROUGH: pseudo keyword macro "fallthrough" is not defined in libosmocore # * REPEATED_WORD: false positives in doxygen descriptions (e.g. '\param[in] data Data passed through...') # * SPDX_LICENSE_TAG: we don't place it on line 1 @@ -45,6 +46,7 @@ --ignore INITIALISED_STATIC \ --ignore LINE_CONTINUATIONS \ --ignore LINE_SPACING \ + --ignore PREFER_DEFINED_ATTRIBUTE_MACRO \ --ignore PREFER_FALLTHROUGH \ --ignore REPEATED_WORD \ --ignore SPDX_LICENSE_TAG \ -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24921 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I2bf3b7d60e99cf91f7b619af54167a11cdfae8c6 Gerrit-Change-Number: 24921 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-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 Jul 16 16:01:15 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 16 Jul 2021 16:01:15 +0000 Subject: Change in osmo-ci[master]: lint: checkpatch.pl: complain about %i in printf In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24927 ) Change subject: lint: checkpatch.pl: complain about %i in printf ...................................................................... lint: checkpatch.pl: complain about %i in printf Pau has to remind me often that %d is used instead of %i in Osmocom trees, so let's automate it. Complain like this: src/vty/command.c:3052: WARNING:PRINTF_I_OSMO: Use %d instead of %i Related: OS#5087 Change-Id: I1a98326f1cbf4d2e0bb948558e5cd1726b0a9868 --- M lint/checkpatch/checkpatch.pl 1 file changed, 6 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified pespin: Looks good to me, but someone else must approve diff --git a/lint/checkpatch/checkpatch.pl b/lint/checkpatch/checkpatch.pl index 4da42a9..ca074a7 100755 --- a/lint/checkpatch/checkpatch.pl +++ b/lint/checkpatch/checkpatch.pl @@ -6170,6 +6170,7 @@ # check for non-standard and hex prefixed decimal printf formats my $show_L = 1; #don't show the same defect twice my $show_Z = 1; + my $show_i = 1; while ($line =~ /(?:^|")([X\t]*)(?:"|$)/g) { my $string = substr($rawline, $-[1], $+[1] - $-[1]); $string =~ s/%%/__/g; @@ -6185,6 +6186,11 @@ "%Z$1 is non-standard C, use %z$1\n" . $herecurr); $show_Z = 0; } + if ($show_i && $string =~ /%[\*\d\.\$]*i/) { # Osmocom specific + WARN("PRINTF_I_OSMO", + "Use %d instead of %i\n" . $herecurr); + $show_i = 0; + } # check for 0x if ($string =~ /0x%[\*\d\.\$\Llzth]*[diou]/) { ERROR("PRINTF_0XDECIMAL", -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24927 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I1a98326f1cbf4d2e0bb948558e5cd1726b0a9868 Gerrit-Change-Number: 24927 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-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 Jul 16 16:01:27 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 16 Jul 2021 16:01:27 +0000 Subject: Change in libosmocore[master]: Make gcc 11.1.0 false positivies happy In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24948 ) Change subject: Make gcc 11.1.0 false positivies happy ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24948 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I8aacfbc21e23f63a65e8baee3fd536a1fe1bdd8a Gerrit-Change-Number: 24948 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 16 Jul 2021 16:01: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 Jul 16 16:01:30 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 16 Jul 2021 16:01:30 +0000 Subject: Change in libosmocore[master]: Make gcc 11.1.0 false positivies happy In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24948 ) Change subject: Make gcc 11.1.0 false positivies happy ...................................................................... Make gcc 11.1.0 false positivies happy After my system's gcc was upgraded, I get false positivies in a couple places. Let's initialize those to make gcc happy. """ /git/libosmocore/src/socket.c: In function ?osmo_sock_init?: /git/libosmocore/src/socket.c:958:25: error: ?sfd? may be used uninitialized in this function [-Werror=maybe-uninitialized] 958 | close(sfd); | ^~~~~~~~~~ /git/libosmocore/src/gsm/gsm48.c: In function ?osmo_mobile_identity_decode?: /git/libosmocore/src/gsm/gsm48.c:690:20: error: ?str_size? may be used uninitialized in this function [-Werror=maybe-uninitialized] 690 | if (rc < 1 || rc >= str_size) { | ~~~~~~~^~~~~~~~~~~~~~~~~ /git/libosmocore/src/gsm/gsm48.c:679:22: error: ?str? may be used uninitialized in this function [-Werror=maybe-uninitialized] 679 | rc = osmo_bcd2str(str, str_size, mi_data, 1, 1 + nibbles_len, allow_hex); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ """ Change-Id: I8aacfbc21e23f63a65e8baee3fd536a1fe1bdd8a --- M src/gsm/gsm48.c M src/socket.c 2 files changed, 11 insertions(+), 12 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/gsm48.c b/src/gsm/gsm48.c index ae1a21b..44ce776 100644 --- a/src/gsm/gsm48.c +++ b/src/gsm/gsm48.c @@ -601,8 +601,8 @@ { int rc; int nibbles_len; - char *str; - size_t str_size; + char *str = NULL; /* initialize to avoid uninitialized false warnings on some gcc versions (11.1.0) */ + size_t str_size = 0; /* initialize to avoid uninitialized false warnings on some gcc versions (11.1.0) */ if (!mi_data || mi_len < 1) return -EBADMSG; @@ -677,8 +677,12 @@ goto return_error; } rc = osmo_bcd2str(str, str_size, mi_data, 1, 1 + nibbles_len, allow_hex); - /* rc checked below */ - break; + /* check mi->str printing rc */ + if (rc < 1 || rc >= str_size) { + rc = -EBADMSG; + goto return_error; + } + return 0; default: /* Already handled above, but as future bug paranoia: */ @@ -686,13 +690,6 @@ goto return_error; } - /* check mi->str printing rc */ - if (rc < 1 || rc >= str_size) { - rc = -EBADMSG; - goto return_error; - } - return 0; - return_error: *mi = (struct osmo_mobile_identity){ .type = GSM_MI_TYPE_NONE, diff --git a/src/socket.c b/src/socket.c index 34972b8..19d48e4 100644 --- a/src/socket.c +++ b/src/socket.c @@ -894,7 +894,9 @@ const char *host, uint16_t port, unsigned int flags) { struct addrinfo *result, *rp; - int sfd, rc, on = 1; + int sfd = -1; /* initialize to avoid uninitialized false warnings on some gcc versions (11.1.0) */ + int on = 1; + int rc; if ((flags & (OSMO_SOCK_F_BIND | OSMO_SOCK_F_CONNECT)) == (OSMO_SOCK_F_BIND | OSMO_SOCK_F_CONNECT)) { -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24948 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I8aacfbc21e23f63a65e8baee3fd536a1fe1bdd8a Gerrit-Change-Number: 24948 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 16 16:02:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 16 Jul 2021 16:02:53 +0000 Subject: Change in osmo-bts[master]: allow to configure multiple oml remote-ip addresses In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24513 ) Change subject: allow to configure multiple oml remote-ip addresses ...................................................................... Patch Set 10: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24513 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I205f68a3a7f35fee4c38a7cfba2b014237df2727 Gerrit-Change-Number: 24513 Gerrit-PatchSet: 10 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 16 Jul 2021 16:02: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 Jul 16 16:03:42 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 16 Jul 2021 16:03:42 +0000 Subject: Change in osmo-hlr[master]: db v6: determine 3G AUC IND from VLR name In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/16764 ) Change subject: db v6: determine 3G AUC IND from VLR name ...................................................................... Patch Set 15: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16764 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I6f0a6bbef3a27507605c3b4a0e1a89bdfd468374 Gerrit-Change-Number: 16764 Gerrit-PatchSet: 15 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 16 Jul 2021 16:03:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 16 16:04:02 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 16 Jul 2021 16:04:02 +0000 Subject: Change in osmo-bsc[master]: separate 'interference-meas level-bounds' cfg and used In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24887 ) Change subject: separate 'interference-meas level-bounds' cfg and used ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24887 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iad8cf4151ff7f86dc0549158ed5d91d788d40b1f Gerrit-Change-Number: 24887 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 16 Jul 2021 16:04: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 Jul 16 16:04:12 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 16 Jul 2021 16:04:12 +0000 Subject: Change in osmo-bsc[master]: add test_dyn_ts_favor_static_ts_as_target.ho_vty In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24911 ) Change subject: add test_dyn_ts_favor_static_ts_as_target.ho_vty ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24911 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0911cd74613045d9fbe29d04eaef036d32049b92 Gerrit-Change-Number: 24911 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 16 Jul 2021 16:04: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 Jul 16 16:04:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 16 Jul 2021 16:04:16 +0000 Subject: Change in osmo-bsc[master]: extend test_dyn_ts_favor_half_used_tch_h_as_target.ho_vty In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24912 ) Change subject: extend test_dyn_ts_favor_half_used_tch_h_as_target.ho_vty ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24912 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5213459fb7fb201361ce0d6198fc0c2c745deee1 Gerrit-Change-Number: 24912 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 16 Jul 2021 16:04: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 Jul 16 16:04:19 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 16 Jul 2021 16:04:19 +0000 Subject: Change in osmo-bsc[master]: separate 'interference-meas level-bounds' cfg and used In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24887 ) Change subject: separate 'interference-meas level-bounds' cfg and used ...................................................................... separate 'interference-meas level-bounds' cfg and used The VTY defun already indicates BSC_VTY_ATTR_RESTART_ABIS_OML_LINK correctly, but so far we would immediately start using the new values internally, and wrongly interpret interference levels. Fix that. Have bts->interf_meas_params twice: interf_meas_params_cfg for the VTY configured values, and interf_meas_params_used for the values that the BTS actually knows about, after they were sent via OML. In a running BSC, when changing the interference level boundaries on the telnet VTY, the BTS is not immediately told about the change. That would require a BTS restart. Hence store the cfg values separately in interf_meas_params_cfg. For comparing/printing interference levels in a running BTS, only employ the values that were actually sent via OML and placed in interf_meas_params_used. Related: SYS#5313 Change-Id: Iad8cf4151ff7f86dc0549158ed5d91d788d40b1f --- M include/osmocom/bsc/bts.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/bts.c M src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c M src/osmo-bsc/nm_bts_fsm.c M tests/handover/handover_test.c 7 files changed, 28 insertions(+), 21 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h index 992c9bb..9ec9364 100644 --- a/include/osmocom/bsc/bts.h +++ b/include/osmocom/bsc/bts.h @@ -552,8 +552,10 @@ /* Maximum BCCH carrier power reduction */ uint8_t c0_max_power_red_db; - /* Interference Measurement Parameters */ - struct gsm_interf_meas_params interf_meas_params; + /* Interference Measurement Parameters, as read from VTY */ + struct gsm_interf_meas_params interf_meas_params_cfg; + /* Interference Measurement Parameters, as last sent via OML */ + struct gsm_interf_meas_params interf_meas_params_used; /* We will ignore CHAN RQD with access delay greater than rach_max_delay */ uint8_t rach_max_delay; diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 42d77b3..9b6429d 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1523,14 +1523,14 @@ /* Store the actual received index */ lchan->interf_band = interf_band; /* Clamp the index to 5 before accessing array of interference band bounds */ - interf_band = OSMO_MIN(interf_band, ARRAY_SIZE(bts->interf_meas_params.bounds_dbm)-1); + interf_band = OSMO_MIN(interf_band, ARRAY_SIZE(bts->interf_meas_params_used.bounds_dbm)-1); /* FIXME: when testing with ip.access nanoBTS, we observe a value range of 1..6. According to spec, it * seems like values 0..5 are intended: 3GPP TS 48.058 9.3.21 Resource Information says: * "The Interf Band field (bits 6-8) indicates in binary the interference level expressed as one of five * possible interference level bands as defined by O&M." * and 3GPP TS 52.021 9.4.25 "Interference level Boundaries" (OML) defines values 0, X1, X2, X3, X4, X5. * If nanoBTS sends 6, the above code clamps it to 5, so that we lose one band in accuracy. */ - lchan->interf_dbm = -((int16_t)bts->interf_meas_params.bounds_dbm[interf_band]); + lchan->interf_dbm = -((int16_t)bts->interf_meas_params_used.bounds_dbm[interf_band]); } return 0; diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 97dd615..1eeda3b 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -1276,22 +1276,22 @@ || bts->repeated_acch_policy.dl_facch_cmd) vty_out(vty, " repeat rxqual %u%s", bts->repeated_acch_policy.rxqual, VTY_NEWLINE); - if (bts->interf_meas_params.avg_period != interf_meas_params_def.avg_period) { + if (bts->interf_meas_params_cfg.avg_period != interf_meas_params_def.avg_period) { vty_out(vty, " interference-meas avg-period %u%s", - bts->interf_meas_params.avg_period, + bts->interf_meas_params_cfg.avg_period, VTY_NEWLINE); } - if (memcmp(bts->interf_meas_params.bounds_dbm, + if (memcmp(bts->interf_meas_params_cfg.bounds_dbm, interf_meas_params_def.bounds_dbm, sizeof(interf_meas_params_def.bounds_dbm))) { vty_out(vty, " interference-meas level-bounds " "%d %d %d %d %d %d%s", - -1 * bts->interf_meas_params.bounds_dbm[0], - -1 * bts->interf_meas_params.bounds_dbm[1], - -1 * bts->interf_meas_params.bounds_dbm[2], - -1 * bts->interf_meas_params.bounds_dbm[3], - -1 * bts->interf_meas_params.bounds_dbm[4], - -1 * bts->interf_meas_params.bounds_dbm[5], + -1 * bts->interf_meas_params_cfg.bounds_dbm[0], + -1 * bts->interf_meas_params_cfg.bounds_dbm[1], + -1 * bts->interf_meas_params_cfg.bounds_dbm[2], + -1 * bts->interf_meas_params_cfg.bounds_dbm[3], + -1 * bts->interf_meas_params_cfg.bounds_dbm[4], + -1 * bts->interf_meas_params_cfg.bounds_dbm[5], VTY_NEWLINE); } @@ -5040,7 +5040,7 @@ { struct gsm_bts *bts = vty->index; - bts->interf_meas_params.avg_period = atoi(argv[0]); + bts->interf_meas_params_cfg.avg_period = atoi(argv[0]); return CMD_SUCCESS; } @@ -5062,11 +5062,10 @@ struct gsm_bts *bts = vty->index; unsigned int i; - for (i = 0; i < ARRAY_SIZE(bts->interf_meas_params.bounds_dbm); i++) { - bts->interf_meas_params.bounds_dbm[i] = abs(atoi(argv[i])); + for (i = 0; i < ARRAY_SIZE(bts->interf_meas_params_cfg.bounds_dbm); i++) { + bts->interf_meas_params_cfg.bounds_dbm[i] = abs(atoi(argv[i])); /* TODO: ensure ascending (or descending?) order */ } - return CMD_SUCCESS; } diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c index cf3a6b8..d03f092 100644 --- a/src/osmo-bsc/bts.c +++ b/src/osmo-bsc/bts.c @@ -358,7 +358,7 @@ bts->bs_power_ctrl.dir = GSM_PWR_CTRL_DIR_DL; /* Interference Measurement Parameters (defaults) */ - bts->interf_meas_params = interf_meas_params_def; + bts->interf_meas_params_cfg = interf_meas_params_def; bts->rach_max_delay = 63; diff --git a/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c b/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c index ed3a802..aac0ddf 100644 --- a/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c +++ b/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c @@ -37,10 +37,10 @@ /* Interference level Boundaries: 0 .. X5 (3GPP TS 52.021, section 9.4.25) */ msgb_tv_fixed_put(msgb, NM_ATT_INTERF_BOUND, - sizeof(bts->interf_meas_params.bounds_dbm), - &bts->interf_meas_params.bounds_dbm[0]); + sizeof(bts->interf_meas_params_cfg.bounds_dbm), + &bts->interf_meas_params_cfg.bounds_dbm[0]); /* Intave: Interference Averaging period (3GPP TS 52.021, section 9.4.24) */ - msgb_tv_put(msgb, NM_ATT_INTAVE_PARAM, bts->interf_meas_params.avg_period); + msgb_tv_put(msgb, NM_ATT_INTAVE_PARAM, bts->interf_meas_params_cfg.avg_period); rlt = gsm_bts_get_radio_link_timeout(bts); if (rlt == -1) { diff --git a/src/osmo-bsc/nm_bts_fsm.c b/src/osmo-bsc/nm_bts_fsm.c index 329d911..eda74fd 100644 --- a/src/osmo-bsc/nm_bts_fsm.c +++ b/src/osmo-bsc/nm_bts_fsm.c @@ -116,6 +116,9 @@ abis_nm_chg_adm_state(bts, NM_OC_BTS, bts->bts_nr, 0xff, 0xff, NM_STATE_UNLOCKED); + /* Message containing BTS attributes, including the interference band bounds, was ACKed by the BTS. + * Store the sent bounds as the ones being used for logging and comparing intereference levels. */ + bts->interf_meas_params_used = bts->interf_meas_params_cfg; } if (allow_opstart && state->administrative == NM_STATE_UNLOCKED && diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index 331726a..315fc10 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -1118,6 +1118,9 @@ uint8_t *res_info_len; VTY_ECHO(); + /* In this test suite, always act as if the interf_meas_params_cfg were already sent to the BTS via OML */ + bts->interf_meas_params_used = bts->interf_meas_params_cfg; + argv += 2; argc -= 2; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24887 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iad8cf4151ff7f86dc0549158ed5d91d788d40b1f Gerrit-Change-Number: 24887 Gerrit-PatchSet: 6 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 Fri Jul 16 16:04:19 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 16 Jul 2021 16:04:19 +0000 Subject: Change in osmo-bsc[master]: vty 'interference-meas level-bounds': explain duality in ordering In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24888 ) Change subject: vty 'interference-meas level-bounds': explain duality in ordering ...................................................................... vty 'interference-meas level-bounds': explain duality in ordering Related: SYS#5313 Change-Id: If71e20e95d29e7f03739ee04e1ef429bf8bd51ed --- M src/osmo-bsc/bsc_vty.c M tests/interf_meas.vty 2 files changed, 4 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve neels: Looks good to me, approved fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 1eeda3b..d76d02d 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -5051,7 +5051,9 @@ "interference-meas level-bounds " "<-120-0> <-120-0> <-120-0> <-120-0> <-120-0> <-120-0>", "Interference measurement parameters\n" - "Interference level Boundaries\n" + "Interference level Boundaries. 3GPP do not specify whether these should be in ascending or descending" + " order (3GPP TS 48.058 9.3.21 / 3GPP TS 52.021 9.4.25). OsmoBSC supports either ordering, but possibly" + " some BTS models only return meaningful interference levels with one specific ordering.\n" "Interference boundary 0 (dBm)\n" "Interference boundary X1 (dBm)\n" "Interference boundary X2 (dBm)\n" @@ -5064,7 +5066,6 @@ for (i = 0; i < ARRAY_SIZE(bts->interf_meas_params_cfg.bounds_dbm); i++) { bts->interf_meas_params_cfg.bounds_dbm[i] = abs(atoi(argv[i])); - /* TODO: ensure ascending (or descending?) order */ } return CMD_SUCCESS; } diff --git a/tests/interf_meas.vty b/tests/interf_meas.vty index 76b33e5..c6d8fb4 100644 --- a/tests/interf_meas.vty +++ b/tests/interf_meas.vty @@ -12,7 +12,7 @@ interference-meas Interference measurement parameters OsmoBSC(config-net-bts)# interference-meas ? avg-period Averaging period (Intave) - level-bounds Interference level Boundaries + level-bounds Interference level Boundaries. 3GPP do not specify whether these should be in ascending or descending order (3GPP TS 48.058 9.3.21 / 3GPP TS 52.021 9.4.25). OsmoBSC supports either ordering, but possibly some BTS models only return meaningful interference levels with one specific ordering. OsmoBSC(config-net-bts)# ### Averaging period OsmoBSC(config-net-bts)# interference-meas avg-period ? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24888 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If71e20e95d29e7f03739ee04e1ef429bf8bd51ed Gerrit-Change-Number: 24888 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 16 16:04:19 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 16 Jul 2021 16:04:19 +0000 Subject: Change in osmo-bsc[master]: add test_dyn_ts_favor_static_ts_as_target.ho_vty In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24911 ) Change subject: add test_dyn_ts_favor_static_ts_as_target.ho_vty ...................................................................... add test_dyn_ts_favor_static_ts_as_target.ho_vty In a discussion about the effect of interference levels, I noticed that there is not sufficient clarity about how strongly the preference of static timeslots is ranked. This test helps to show what we have. Related: SYS#5313 Change-Id: I0911cd74613045d9fbe29d04eaef036d32049b92 --- M tests/handover/handover_tests.ok A tests/handover/test_dyn_ts_favor_static_ts_as_target.ho_vty 2 files changed, 39 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/tests/handover/handover_tests.ok b/tests/handover/handover_tests.ok index a03454d..168ebd6 100644 --- a/tests/handover/handover_tests.ok +++ b/tests/handover/handover_tests.ok @@ -32,6 +32,7 @@ pass test_dyn_ts_congestion_tch_f_vs_tch_h_2.ho_vty pass test_dyn_ts_favor_half_used_tch_h_as_target.ho_vty pass test_dyn_ts_favor_moving_half_used_tch_h.ho_vty +pass test_dyn_ts_favor_static_ts_as_target.ho_vty pass test_ho_to_better_cell.ho_vty pass test_ho_to_better_cell_2.ho_vty pass test_hysteresis.ho_vty diff --git a/tests/handover/test_dyn_ts_favor_static_ts_as_target.ho_vty b/tests/handover/test_dyn_ts_favor_static_ts_as_target.ho_vty new file mode 100644 index 0000000..c50b007 --- /dev/null +++ b/tests/handover/test_dyn_ts_favor_static_ts_as_target.ho_vty @@ -0,0 +1,38 @@ +# If both a static and a dynamic TCH/H (even without pchan switch!) are available, we always prefer static TS. +create-bts trx-count 1 timeslots c+s4 dyn TCH/H dyn TCH/H dyn TCH/H PDCH + +network + bts 0 + channel allocator ascending + +set-ts-use trx 0 0 states * TCH/-H TCH/-H TCH/-H TCH/-H TCH/-H TCH/-H * + +# the dynamic timeslot is already in TCH/H mode, and needs no pchan switch. It appears first in the list, hence it would +# be used first -- but we prefer using static TS when still available: +create-ms bts 0 TCH/H AMR +expect-ts-use trx 0 0 states * TCH/-H TCH/HH TCH/-H TCH/-H TCH/-H TCH/-H * +# ^ + +# Interference ratings do NOT influence whether a static or dynamic lchan (even without pchan switch) is going to be +# assigned. +network + bts 0 + channel allocator avoid-interference 1 + interference-meas level-bounds -115 -109 -103 -97 -91 -85 +# 0 1 2 3 4 5 + +# Here the dyn TS lchan happens to have less interference. But still the choice to prefer static over dynamic weighs +# stronger. The static TS with least interference is picked. +# dyn TCH/H dyn TCH/H dyn TCH/H +expect-ts-use trx 0 0 states * TCH/-H TCH/HH TCH/-H TCH/-H TCH/-H TCH/-H * +res-ind trx 0 0 levels - 4- -- 1- 4- 3- 2- - +create-ms bts 0 TCH/H AMR +expect-ts-use trx 0 0 states * TCH/-H TCH/HH TCH/-H TCH/-H TCH/-H TCH/HH * +# ^ +create-ms bts 0 TCH/H AMR +expect-ts-use trx 0 0 states * TCH/-H TCH/HH TCH/-H TCH/HH TCH/-H TCH/HH * +# ^ +# now only dynamic TS are left. The one dyn lchan with least interference is picked +create-ms bts 0 TCH/H AMR +expect-ts-use trx 0 0 states * TCH/-H TCH/HH TCH/HH TCH/HH TCH/-H TCH/HH * +# ^ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24911 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0911cd74613045d9fbe29d04eaef036d32049b92 Gerrit-Change-Number: 24911 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 16 16:04:19 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 16 Jul 2021 16:04:19 +0000 Subject: Change in osmo-bsc[master]: extend test_dyn_ts_favor_half_used_tch_h_as_target.ho_vty In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24912 ) Change subject: extend test_dyn_ts_favor_half_used_tch_h_as_target.ho_vty ...................................................................... extend test_dyn_ts_favor_half_used_tch_h_as_target.ho_vty Clarify that filling half-used TCH/H first only happens on dynamic timeslots, not static ones. Related: SYS#5313 Change-Id: I5213459fb7fb201361ce0d6198fc0c2c745deee1 --- M tests/handover/test_dyn_ts_favor_half_used_tch_h_as_target.ho_vty 1 file changed, 5 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/tests/handover/test_dyn_ts_favor_half_used_tch_h_as_target.ho_vty b/tests/handover/test_dyn_ts_favor_half_used_tch_h_as_target.ho_vty index c648c27..73c236f 100644 --- a/tests/handover/test_dyn_ts_favor_half_used_tch_h_as_target.ho_vty +++ b/tests/handover/test_dyn_ts_favor_half_used_tch_h_as_target.ho_vty @@ -5,3 +5,8 @@ create-ms bts 0 TCH/H AMR expect-ts-use trx 0 0 states * - - - pdch TCH/HH pdch pdch +# in static timeslots, there is NO preference to fill half-used TCH/H first +create-bts trx-count 1 timeslots c+s4 TCH/F TCH/F TCH/F TCH/H TCH/H TCH/H PDCH +set-ts-use trx 1 0 states * - - - - TCH/H- - pdch +create-ms bts 1 TCH/H AMR +set-ts-use trx 1 0 states * - - - TCH/H- TCH/H- - pdch -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24912 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5213459fb7fb201361ce0d6198fc0c2c745deee1 Gerrit-Change-Number: 24912 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 16 16:05:26 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 16 Jul 2021 16:05:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: add test cases for Downlink and Uplink speech frames In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24843 ) Change subject: BTS: add test cases for Downlink and Uplink speech frames ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24843 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8d301dfa47c11d9314cdfca8adadcbcb4eee798d Gerrit-Change-Number: 24843 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 16 Jul 2021 16:05:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 16 16:05:49 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 16 Jul 2021 16:05:49 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: equip ConnHdlr with the RTP emulation component In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24842 ) Change subject: BTS: equip ConnHdlr with the RTP emulation component ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24842 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icb04cb73d8d55eb75edc2af2f18bb99d2c3f24a5 Gerrit-Change-Number: 24842 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 16 Jul 2021 16:05: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 Jul 16 16:05:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 16 Jul 2021 16:05:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: equip ConnHdlr with the RTP emulation component In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24842 ) Change subject: BTS: equip ConnHdlr with the RTP emulation component ...................................................................... BTS: equip ConnHdlr with the RTP emulation component Change-Id: Icb04cb73d8d55eb75edc2af2f18bb99d2c3f24a5 --- M bts/BTS_Tests.ttcn M bts/gen_links.sh M bts/regen_makefile.sh 3 files changed, 68 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved neels: 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/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index a7fdf16..38490a0 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -44,6 +44,7 @@ import from IPA_Emulation all; import from IPA_Testing all; import from RSL_Emulation all; +import from RTP_Emulation all; import from IPL4asp_Types all; import from TRXC_Types all; @@ -93,6 +94,8 @@ integer mp_ctrl_port := 4238; charstring mp_bsc_ctrl_ip := "127.0.0.1"; integer mp_bsc_ctrl_port := 4249; + charstring mp_rtpem_bind_ip := "127.0.0.1"; + integer mp_rtpem_bind_port := 6766; integer mp_tolerance_rxqual := 1; integer mp_tolerance_rxlev := 3; integer mp_tolerance_timing_offset_256syms := 0; @@ -205,6 +208,10 @@ /* PCU Interface of BTS */ port PCUIF_CODEC_PT PCU; + + var RTP_Emulation_CT vc_RTPEM; + port RTPEM_CTRL_PT RTPEM_CTRL; + port RTPEM_DATA_PT RTPEM_DATA; } private function f_init_rsl(charstring id) runs on test_CT { @@ -2285,6 +2292,60 @@ g_first_meas_res := true; } +/* Initialize and start the RTP emulation component for a ConnHdlr */ +friend function f_rtpem_activate(inout octetstring payload, + RtpemConfig cfg := c_RtpemDefaultCfg, + RtpemMode mode := RTPEM_MODE_BIDIR) +runs on ConnHdlr { + /* Step 0: initialize, connect and start the emulation component */ + vc_RTPEM := RTP_Emulation_CT.create(testcasename() & "-RTPEM"); + map(vc_RTPEM:RTP, system:RTP); + map(vc_RTPEM:RTCP, system:RTCP); + connect(vc_RTPEM:CTRL, self:RTPEM_CTRL); + connect(vc_RTPEM:DATA, self:RTPEM_DATA); + vc_RTPEM.start(RTP_Emulation.f_main()); + + /* Step 1: configure the RTP parameters */ + var integer payload_len := 0; + var octetstring hdr := ''O; + + select (g_pars.chan_mode) { + case (tr_RSL_ChanMode(RSL_CHRT_TCH_F, RSL_CMOD_SP_GSM1)) /* TCH/FS */ + { payload_len := 33; hdr := 'D0'O; } + case (tr_RSL_ChanMode(RSL_CHRT_TCH_H, RSL_CMOD_SP_GSM1)) /* TCH/HS */ + { payload_len := 15; hdr := '00'O; } + case (tr_RSL_ChanMode(RSL_CHRT_TCH_F, RSL_CMOD_SP_GSM2)) /* TCH/EFS */ + { payload_len := 31; hdr := 'C0'O; } + case else { /* FIXME: also handle TCH/AFS and TCH/AHS */ + setverdict(fail, "Unhandled RSL channel mode := ", g_pars.chan_mode); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); + } + } + + /* Pad the payload to conform the expected length */ + payload := f_pad_oct(hdr & payload, payload_len, '00'O); + cfg.tx_fixed_payload := payload; + f_rtpem_configure(RTPEM_CTRL, cfg); + + /* Step 2: bind the RTP emulation to the configured address */ + var PortNumber rtpem_bind_port := mp_rtpem_bind_port; + f_rtpem_bind(RTPEM_CTRL, mp_rtpem_bind_ip, rtpem_bind_port); + + /* Step 3: send CRCX with the configured address/port to the IUT */ + var RSL_Message rsl_pdu := f_rsl_transceive_ret( + ts_RSL_IPA_CRCX(g_chan_nr, f_inet_addr(mp_rtpem_bind_ip), rtpem_bind_port), + tr_RSL_IPA_CRCX_ACK(g_chan_nr, ?, ?, ?), + "IPA CRCX ACK"); + + /* Step 4: connect to the IUT's address/port parsed from CRCX ACK */ + var HostName local_addr := f_inet_ntoa(rsl_pdu.ies[2].body.ipa_local_ip); + var PortNumber local_port := rsl_pdu.ies[3].body.ipa_local_port; + f_rtpem_connect(RTPEM_CTRL, local_addr, local_port); + + /* Step 5: set the given RTP emulation mode */ + f_rtpem_mode(RTPEM_CTRL, mode); +} + /* establish DChan, verify existance + contents of measurement reports */ private function f_TC_meas_res_periodic(charstring id) runs on ConnHdlr { f_l1_tune(L1CTL); diff --git a/bts/gen_links.sh b/bts/gen_links.sh index cd8e379..c8c2b98 100755 --- a/bts/gen_links.sh +++ b/bts/gen_links.sh @@ -32,6 +32,10 @@ FILES="TELNETasp_PT.cc TELNETasp_PT.hh TELNETasp_PortType.ttcn" gen_links $DIR $FILES +DIR=$BASEDIR/titan.ProtocolModules.RTP/src +FILES="RTP_EncDec.cc RTP_Types.ttcn" +gen_links $DIR $FILES + DIR=../library FILES="Misc_Helpers.ttcn General_Types.ttcn GSM_Types.ttcn GSM_RR_Types.ttcn Osmocom_VTY_Functions.ttcn GSM_SystemInformation.ttcn GSM_RestOctets.ttcn Osmocom_Types.ttcn RLCMAC_Templates.ttcn RLCMAC_Types.ttcn RLCMAC_CSN1_Templates.ttcn RLCMAC_CSN1_Types.ttcn RLCMAC_EncDec.cc L1CTL_Types.ttcn L1CTL_PortType.ttcn L1CTL_PortType_CtrlFunct.ttcn L1CTL_PortType_CtrlFunctDef.cc LAPDm_RAW_PT.ttcn LAPDm_Types.ttcn " #FILES+="BSSGP_Emulation.ttcn Osmocom_Gb_Types.ttcn " @@ -40,6 +44,8 @@ FILES+="L3_Templates.ttcn L3_Common.ttcn " FILES+="Native_Functions.ttcn Native_FunctionDefs.cc " FILES+="TRXC_Types.ttcn TRXC_CodecPort.ttcn TRXC_CodecPort_CtrlFunct.ttcn TRXC_CodecPort_CtrlFunctDef.cc " +FILES+="RTP_CodecPort.ttcn RTP_Emulation.ttcn IuUP_Types.ttcn IuUP_Emulation.ttcn IuUP_EncDec.cc " +FILES+="RTP_CodecPort_CtrlFunct.ttcn RTP_CodecPort_CtrlFunctDef.cc " FILES+="PCUIF_Types.ttcn PCUIF_CodecPort.ttcn " FILES+="IPA_Testing.ttcn" gen_links $DIR $FILES diff --git a/bts/regen_makefile.sh b/bts/regen_makefile.sh index 8771500..42ad0f3 100755 --- a/bts/regen_makefile.sh +++ b/bts/regen_makefile.sh @@ -1,6 +1,6 @@ #!/bin/sh -FILES="*.ttcn *.ttcnpp IPA_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc UD_PT.cc RLCMAC_EncDec.cc Native_FunctionDefs.cc TRXC_CodecPort_CtrlFunctDef.cc L1CTL_PortType_CtrlFunctDef.cc TELNETasp_PT.cc" +FILES="*.ttcn *.ttcnpp IPA_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc UD_PT.cc RLCMAC_EncDec.cc Native_FunctionDefs.cc TRXC_CodecPort_CtrlFunctDef.cc L1CTL_PortType_CtrlFunctDef.cc TELNETasp_PT.cc IuUP_EncDec.cc RTP_EncDec.cc RTP_CodecPort_CtrlFunctDef.cc" export CPPFLAGS_TTCN3="-DIPA_EMULATION_RSL -DIPA_EMULATION_OML -DIPA_EMULATION_CTRL -DIPA_EMULATION_OSMO_PCU" -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24842 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icb04cb73d8d55eb75edc2af2f18bb99d2c3f24a5 Gerrit-Change-Number: 24842 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 16 16:05:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 16 Jul 2021 16:05:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: add test cases for Downlink and Uplink speech frames In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24843 ) Change subject: BTS: add test cases for Downlink and Uplink speech frames ...................................................................... BTS: add test cases for Downlink and Uplink speech frames Change-Id: I8d301dfa47c11d9314cdfca8adadcbcb4eee798d --- M bts/BTS_Tests.ttcn 1 file changed, 101 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved neels: 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/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 38490a0..61c40d4 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -40,6 +40,7 @@ import from Osmocom_CTRL_Functions all; import from RSL_Types all; +import from RTP_Types all; import from IPA_Types all; import from IPA_Emulation all; import from IPA_Testing all; @@ -7592,6 +7593,104 @@ vc_conn.done; } +/* Verify handling of Downlink and Uplink speech frames */ +private function f_TC_speech_rtp(charstring id) runs on ConnHdlr { + var L1ctlDlMessage l1_dl; + var PDU_RTP rtp_pdu; + var octetstring pl; + timer Td, Tu; + + f_l1_tune(L1CTL); + f_est_dchan(); + + /* Activate the RTP emulation */ + pl := f_rnd_octstring(6); + f_rtpem_activate(pl); + + /* Give the scheduler some time to fill up the buffers */ + f_sleep(2.0); + L1CTL.clear; + RSL.clear; + + /* Make sure that Downlink frames are received at the UE */ + Td.start(2.0); + alt { + [] L1CTL.receive(tr_L1CTL_TRAFFIC_IND(g_chan_nr, frame := pl)) -> value l1_dl { + log("TCH received: ", l1_dl.payload.traffic_ind.data); + L1CTL.send(ts_L1CTL_TRAFFIC_REQ(g_chan_nr, l1_dl.dl_info.link_id, + l1_dl.payload.traffic_ind.data)); + setverdict(pass); + } + [] L1CTL.receive(tr_L1CTL_TRAFFIC_IND(g_chan_nr, frame := ?)) -> value l1_dl { + setverdict(fail, "Rx unexpected Downlink speech frame ", + "(", l1_dl.payload.traffic_ind.data, ") ", + "expected (", pl, ")"); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); + } + [] as_l1_sacch(); + [] L1CTL.receive { repeat; } + [] Td.timeout { + setverdict(fail, "Timeout waiting for Downlink speech frames"); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); + } + } + + /* Make sure that Uplink frames are received at the BTS */ + RTPEM_DATA.clear; + Tu.start(2.0); + alt { + [] RTPEM_DATA.receive(PDU_RTP:?) -> value rtp_pdu { + if (rtp_pdu.data != pl) + { repeat; } + } + [] RTPEM_DATA.receive { repeat; } + [] Tu.timeout { + setverdict(fail, "Timeout waiting for Uplink speech frames"); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); + } + } + + f_rtpem_mode(RTPEM_CTRL, RTPEM_MODE_NONE); + f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr); + f_rsl_chan_deact(); + f_rslem_unregister(0, g_chan_nr); +} +testcase TC_speech_rtp_tchf() runs on test_CT { + var ConnHdlr vc_conn; + var ConnHdlrPars pars; + + f_init(); + + /* TS1, TCH/F, V1 (FR codec) */ + pars := valueof(t_Pars(ts_RslChanNr_Bm(1), ts_RSL_ChanMode(RSL_CHRT_TCH_F, RSL_CMOD_SP_GSM1))); + vc_conn := f_start_handler(refers(f_TC_speech_rtp), pars); + vc_conn.done; + + /* TS1, TCH/F, V2 (EFR codec) */ + pars := valueof(t_Pars(ts_RslChanNr_Bm(1), ts_RSL_ChanMode(RSL_CHRT_TCH_F, RSL_CMOD_SP_GSM2))); + vc_conn := f_start_handler(refers(f_TC_speech_rtp), pars); + vc_conn.done; + + /* TODO: also test V3 (AMR codec) */ + + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); +} +testcase TC_speech_rtp_tchh() runs on test_CT { + var ConnHdlr vc_conn; + var ConnHdlrPars pars; + + f_init(); + + /* TS5, TCH/H0, V1 (HR codec) */ + pars := valueof(t_Pars(ts_RslChanNr_Lm(5, 0), ts_RSL_ChanMode(RSL_CHRT_TCH_H, RSL_CMOD_SP_GSM1))); + vc_conn := f_start_handler(refers(f_TC_speech_rtp), pars); + vc_conn.done; + + /* TODO: also test V3 (AMR codec) */ + + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); +} + /* test generation of RLL ERR IND based on Um errors (TS 48.058 3.9) */ /* protocol error as per 44.006 */ /* link layer failure (repetition of I-frame N200 times without ACK */ @@ -7788,6 +7887,8 @@ execute( TC_speech_no_rtp_tchf() ); execute( TC_speech_no_rtp_tchh() ); + execute( TC_speech_rtp_tchf() ); + execute( TC_speech_rtp_tchh() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24843 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8d301dfa47c11d9314cdfca8adadcbcb4eee798d Gerrit-Change-Number: 24843 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 16 16:06:31 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 16 Jul 2021 16:06:31 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: implement local change weight procedure In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23187 ) Change subject: gprs_ns2_sns: implement local change weight procedure ...................................................................... Patch Set 10: what's the status here? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23187 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icec4dabb46bc198f68f91bfe09ba279fbe68d454 Gerrit-Change-Number: 23187 Gerrit-PatchSet: 10 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 16 Jul 2021 16:06:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 16 16:14:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 16 Jul 2021 16:14:42 +0000 Subject: Change in osmo-bsc[master]: Add new lchan_select() API helper In-Reply-To: References: Message-ID: Hello Jenkins Builder, neels, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24949 to look at the new patch set (#2). Change subject: Add new lchan_select() API helper ...................................................................... Add new lchan_select() API helper It's an easy helper, but it helps in standarizing and finding similar places in code. Morevoer, it will be used in follow-up commit where we first use lchan_avail_by_type and finally we select it in a later stage. Change-Id: I025a40962a5e5d40543b297a0760e47618fb525c --- M include/osmocom/bsc/lchan_select.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/lchan_select.c 3 files changed, 21 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/49/24949/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24949 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I025a40962a5e5d40543b297a0760e47618fb525c Gerrit-Change-Number: 24949 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 16 16:14:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 16 Jul 2021 16:14:42 +0000 Subject: Change in osmo-bsc[master]: _select_sdcch_for_call: Avoid 2nd lchan lookup when finally selecting it In-Reply-To: References: Message-ID: Hello Jenkins Builder, neels, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24950 to look at the new patch set (#2). Change subject: _select_sdcch_for_call: Avoid 2nd lchan lookup when finally selecting it ...................................................................... _select_sdcch_for_call: Avoid 2nd lchan lookup when finally selecting it We already looked it up, it's not necessary to look it up again by calling lchan_select_by_type(). Let's instead call lchan_select_set_type() directly on the lchan pointer. Related: SYS#5309 Change-Id: I1054c18f58c9e249f263e3e97a365a1fd8b03a93 --- M src/osmo-bsc/abis_rsl.c 1 file changed, 1 insertion(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/50/24950/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24950 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1054c18f58c9e249f263e3e97a365a1fd8b03a93 Gerrit-Change-Number: 24950 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 16 16:15:01 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 16 Jul 2021 16:15:01 +0000 Subject: Change in osmo-bsc[master]: Add new lchan_select_set_type() API helper In-Reply-To: References: Message-ID: Hello Jenkins Builder, neels, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24949 to look at the new patch set (#3). Change subject: Add new lchan_select_set_type() API helper ...................................................................... Add new lchan_select_set_type() API helper It's an easy helper, but it helps in standarizing and finding similar places in code. Morevoer, it will be used in follow-up commit where we first use lchan_avail_by_type and finally we select it in a later stage. Change-Id: I025a40962a5e5d40543b297a0760e47618fb525c --- M include/osmocom/bsc/lchan_select.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/lchan_select.c 3 files changed, 21 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/49/24949/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24949 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I025a40962a5e5d40543b297a0760e47618fb525c Gerrit-Change-Number: 24949 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 16 16:15:01 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 16 Jul 2021 16:15:01 +0000 Subject: Change in osmo-bsc[master]: _select_sdcch_for_call: Avoid 2nd lchan lookup when finally selecting it In-Reply-To: References: Message-ID: Hello Jenkins Builder, neels, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24950 to look at the new patch set (#3). Change subject: _select_sdcch_for_call: Avoid 2nd lchan lookup when finally selecting it ...................................................................... _select_sdcch_for_call: Avoid 2nd lchan lookup when finally selecting it We already looked it up, it's not necessary to look it up again by calling lchan_select_by_type(). Let's instead call lchan_select_set_type() directly on the lchan pointer. Related: SYS#5309 Change-Id: I1054c18f58c9e249f263e3e97a365a1fd8b03a93 --- M src/osmo-bsc/abis_rsl.c 1 file changed, 1 insertion(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/50/24950/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24950 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1054c18f58c9e249f263e3e97a365a1fd8b03a93 Gerrit-Change-Number: 24950 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 16 16:15:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 16 Jul 2021 16:15:54 +0000 Subject: Change in osmo-bts[master]: allow to configure multiple oml remote-ip addresses In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24513 ) Change subject: allow to configure multiple oml remote-ip addresses ...................................................................... Patch Set 10: Code-Review-1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24513 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I205f68a3a7f35fee4c38a7cfba2b014237df2727 Gerrit-Change-Number: 24513 Gerrit-PatchSet: 10 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 16 Jul 2021 16:15:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 16 16:32:23 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 16 Jul 2021 16:32:23 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: Allow rx LCHAN_EV_RLL_REL_IND in state BORKEN References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24955 ) Change subject: lchan_fsm: Allow rx LCHAN_EV_RLL_REL_IND in state BORKEN ...................................................................... lchan_fsm: Allow rx LCHAN_EV_RLL_REL_IND in state BORKEN As seen in osmo-bsc log: DCHAN ERROR abis_rsl.c:2287 lchan(12-0-2-TCH_H-1){BORKEN}: Event LCHAN_EV_RLL_REL_IND not permitted Related: SYS#5523 Change-Id: Idc7796d41f3483c89559746d9a00fdf32bf67c57 --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/55/24955/1 diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index c9222c2..aa616d0 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -1458,6 +1458,7 @@ case LCHAN_EV_RTP_RELEASED: case LCHAN_EV_RTP_ERROR: + case LCHAN_EV_RLL_REL_IND: return; default: @@ -1647,6 +1648,7 @@ | S(LCHAN_EV_RSL_RF_CHAN_REL_ACK) | S(LCHAN_EV_RTP_ERROR) | S(LCHAN_EV_RTP_RELEASED) + | S(LCHAN_EV_RLL_REL_IND) , .out_state_mask = 0 | S(LCHAN_ST_WAIT_RF_RELEASE_ACK) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24955 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Idc7796d41f3483c89559746d9a00fdf32bf67c57 Gerrit-Change-Number: 24955 Gerrit-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 Jul 16 17:57:53 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 16 Jul 2021 17:57:53 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy_peer: Free a cell as soon as no BSS BVC uses it References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24956 ) Change subject: gbproxy_peer: Free a cell as soon as no BSS BVC uses it ...................................................................... gbproxy_peer: Free a cell as soon as no BSS BVC uses it This patch adds gbproxy_cell_cleanup_bvc() which removes the bvc pointer to the cell. If the BSS BVC of this cell is removed it frees the whole cell (removing all the SGSN BVC pointers to the cell). The SGSN-side BVCs are blocked at this point and will only be reestablished if this BVC is reset again from the BSS. Before this patch cells were never freed and might accumulate over time. They would only be reused if the bvci matched that of a previous cell. Related: OS#4960 Change-Id: Ib874cbebcea58fa4bf15e1ff40fe11601573e531 --- M include/osmocom/gbproxy/gb_proxy.h M src/gb_proxy_peer.c 2 files changed, 18 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gbproxy refs/changes/56/24956/1 diff --git a/include/osmocom/gbproxy/gb_proxy.h b/include/osmocom/gbproxy/gb_proxy.h index 76a7d31..1e73a1d 100644 --- a/include/osmocom/gbproxy/gb_proxy.h +++ b/include/osmocom/gbproxy/gb_proxy.h @@ -288,6 +288,7 @@ struct gbproxy_cell *gbproxy_cell_by_cellid(struct gbproxy_config *cfg, const struct gprs_ra_id *raid, uint16_t cid); void gbproxy_cell_free(struct gbproxy_cell *cell); bool gbproxy_cell_add_sgsn_bvc(struct gbproxy_cell *cell, struct gbproxy_bvc *bvc); +void gbproxy_cell_cleanup_bvc(struct gbproxy_cell *cell, struct gbproxy_bvc *bvc); /* NSE handling */ struct gbproxy_nse *gbproxy_nse_alloc(struct gbproxy_config *cfg, uint16_t nsei, bool sgsn_facing); diff --git a/src/gb_proxy_peer.c b/src/gb_proxy_peer.c index 4eb427b..abbfa50 100644 --- a/src/gb_proxy_peer.c +++ b/src/gb_proxy_peer.c @@ -103,8 +103,6 @@ void gbproxy_bvc_free(struct gbproxy_bvc *bvc) { - struct gbproxy_cell *cell; - if (!bvc) return; @@ -117,21 +115,10 @@ osmo_fsm_inst_free(bvc->fi); - cell = bvc->cell; - if (cell) { - int i; - - if (cell->bss_bvc == bvc) - cell->bss_bvc = NULL; - - /* we could also be a SGSN-side BVC */ - for (i = 0; i < ARRAY_SIZE(cell->sgsn_bvc); i++) { - if (cell->sgsn_bvc[i] == bvc) - cell->sgsn_bvc[i] = NULL; - } + if (bvc->cell) { + gbproxy_cell_cleanup_bvc(bvc->cell, bvc); bvc->cell = NULL; } - talloc_free(bvc); } @@ -214,6 +201,21 @@ return NULL; } +void gbproxy_cell_cleanup_bvc(struct gbproxy_cell *cell, struct gbproxy_bvc *bvc) +{ + int i; + + if (cell->bss_bvc == bvc) + return gbproxy_cell_free(cell); + + /* we could also be a SGSN-side BVC */ + for (i = 0; i < ARRAY_SIZE(cell->sgsn_bvc); i++) { + if (cell->sgsn_bvc[i] == bvc) + cell->sgsn_bvc[i] = NULL; + } + +} + void gbproxy_cell_free(struct gbproxy_cell *cell) { unsigned int i; -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24956 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: Ib874cbebcea58fa4bf15e1ff40fe11601573e531 Gerrit-Change-Number: 24956 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jul 17 16:40:26 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 17 Jul 2021 16:40:26 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test: set bind address for the RTP Emulation References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/24957 ) Change subject: ttcn3-bts-test: set bind address for the RTP Emulation ...................................................................... ttcn3-bts-test: set bind address for the RTP Emulation Otherwise the loopback address is used, what causes test cases employing the RTP Emulation component to fail: Connection refused (unexpected) Change-Id: Ia20ccd9e6db61d7a105523648c678db90ad345eb --- M ttcn3-bts-test/BTS_Tests.cfg 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/57/24957/1 diff --git a/ttcn3-bts-test/BTS_Tests.cfg b/ttcn3-bts-test/BTS_Tests.cfg index 4e1d2bf..fd2e05d 100644 --- a/ttcn3-bts-test/BTS_Tests.cfg +++ b/ttcn3-bts-test/BTS_Tests.cfg @@ -15,6 +15,7 @@ BTS_Tests.mp_pcu_socket := "/data/unix/pcu_sock" L1CTL_PortType.m_l1ctl_sock_path := "/data/unix/osmocom_l2" BTS_Tests.mp_ctrl_ip := "172.18.9.20" +BTS_Tests.mp_rtpem_bind_ip := "172.18.9.10" [MAIN_CONTROLLER] -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24957 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ia20ccd9e6db61d7a105523648c678db90ad345eb Gerrit-Change-Number: 24957 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 Jul 19 07:01:36 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 19 Jul 2021 07:01:36 +0000 Subject: Change in libosmocore[master]: vty: show uptime: use timespecsub References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/24958 ) Change subject: vty: show uptime: use timespecsub ...................................................................... vty: show uptime: use timespecsub Related: OS#4609 Change-Id: If94795b3cd74040c49bdcbed8c410bf6e950afff --- M src/vty/command.c 1 file changed, 8 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/58/24958/1 diff --git a/src/vty/command.c b/src/vty/command.c index 3112fee..bb6a665 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -3067,13 +3067,15 @@ show_uptime_cmd, "show uptime", SHOW_STR "Displays how long the program has been running\n") { struct timespec now; - osmo_clock_gettime(CLOCK_MONOTONIC, &now); + struct timespec uptime; - time_t uptime = now.tv_sec - starttime.tv_sec; - int d = uptime / (3600 * 24); - int h = uptime / 3600 % 24; - int m = uptime / 60 % 60; - int s = uptime % 60; + osmo_clock_gettime(CLOCK_MONOTONIC, &now); + timespecsub(&now, &starttime, &uptime); + + int d = uptime.tv_sec / (3600 * 24); + int h = uptime.tv_sec / 3600 % 24; + int m = uptime.tv_sec / 60 % 60; + int s = uptime.tv_sec % 60; vty_out(vty, "%s has been running for %dd %dh %dm %ds%s", host.app_info->name, d, h, m, s, VTY_NEWLINE); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24958 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If94795b3cd74040c49bdcbed8c410bf6e950afff Gerrit-Change-Number: 24958 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 Jul 19 07:02:13 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 19 Jul 2021 07:02:13 +0000 Subject: Change in libosmocore[master]: vty: add "show uptime" In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24924 ) Change subject: vty: add "show uptime" ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24924/4/src/vty/command.c File src/vty/command.c: https://gerrit.osmocom.org/c/libosmocore/+/24924/4/src/vty/command.c at 3050 PS4, Line 3050: time_t uptime = now.tv_sec - starttime.tv_sec; > IIRC time_t has a lower range (32bits signed?) than timespec (64bits), so there might be integer und [?] I didn't know about timespecsub(), follow-up patch: https://gerrit.osmocom.org/c/libosmocore/+/24958 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24924 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic7d9d5d3c8a9abd06a7e626aed7679f68406040c Gerrit-Change-Number: 24924 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 19 Jul 2021 07:02:13 +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 Jul 19 08:37:01 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 19 Jul 2021 08:37:01 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy_peer: Free a cell as soon as no BSS BVC uses it In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24956 ) Change subject: gbproxy_peer: Free a cell as soon as no BSS BVC uses it ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24956 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: Ib874cbebcea58fa4bf15e1ff40fe11601573e531 Gerrit-Change-Number: 24956 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 19 Jul 2021 08:37:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 19 08:38:37 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 19 Jul 2021 08:38:37 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test: set bind address for the RTP Emulation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24957 ) Change subject: ttcn3-bts-test: set bind address for the RTP Emulation ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24957 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ia20ccd9e6db61d7a105523648c678db90ad345eb Gerrit-Change-Number: 24957 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 19 Jul 2021 08:38:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 19 08:39:20 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 19 Jul 2021 08:39:20 +0000 Subject: Change in libosmocore[master]: vty: show uptime: use timespecsub In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24958 ) Change subject: vty: show uptime: use timespecsub ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24958 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If94795b3cd74040c49bdcbed8c410bf6e950afff Gerrit-Change-Number: 24958 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 19 Jul 2021 08:39:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 19 08:53:50 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 19 Jul 2021 08:53:50 +0000 Subject: Change in osmo-bts[master]: allow to configure multiple oml remote-ip addresses In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24513 ) Change subject: allow to configure multiple oml remote-ip addresses ...................................................................... Patch Set 11: This patch is not yet ready. If you do VTY cmd "no oml remote-ip 1.2.3.4" while abis link is connected, the program will abort hitting the assert I mentioned in my previous comment. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24513 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I205f68a3a7f35fee4c38a7cfba2b014237df2727 Gerrit-Change-Number: 24513 Gerrit-PatchSet: 11 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 19 Jul 2021 08:53: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 Jul 19 08:55:49 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 19 Jul 2021 08:55:49 +0000 Subject: Change in libosmocore[master]: vty: show uptime: use timespecsub In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24958 ) Change subject: vty: show uptime: use timespecsub ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24958 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If94795b3cd74040c49bdcbed8c410bf6e950afff Gerrit-Change-Number: 24958 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 19 Jul 2021 08:55: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 Jul 19 08:56:35 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 19 Jul 2021 08:56:35 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: Allow rx LCHAN_EV_RLL_REL_IND in state BORKEN In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24955 ) Change subject: lchan_fsm: Allow rx LCHAN_EV_RLL_REL_IND in state BORKEN ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24955 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Idc7796d41f3483c89559746d9a00fdf32bf67c57 Gerrit-Change-Number: 24955 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Mon, 19 Jul 2021 08:56:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 19 08:57:01 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 19 Jul 2021 08:57:01 +0000 Subject: Change in libosmocore[master]: vty: show uptime: use timespecsub In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24958 ) Change subject: vty: show uptime: use timespecsub ...................................................................... vty: show uptime: use timespecsub Related: OS#4609 Change-Id: If94795b3cd74040c49bdcbed8c410bf6e950afff --- M src/vty/command.c 1 file changed, 8 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/vty/command.c b/src/vty/command.c index 3112fee..bb6a665 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -3067,13 +3067,15 @@ show_uptime_cmd, "show uptime", SHOW_STR "Displays how long the program has been running\n") { struct timespec now; - osmo_clock_gettime(CLOCK_MONOTONIC, &now); + struct timespec uptime; - time_t uptime = now.tv_sec - starttime.tv_sec; - int d = uptime / (3600 * 24); - int h = uptime / 3600 % 24; - int m = uptime / 60 % 60; - int s = uptime % 60; + osmo_clock_gettime(CLOCK_MONOTONIC, &now); + timespecsub(&now, &starttime, &uptime); + + int d = uptime.tv_sec / (3600 * 24); + int h = uptime.tv_sec / 3600 % 24; + int m = uptime.tv_sec / 60 % 60; + int s = uptime.tv_sec % 60; vty_out(vty, "%s has been running for %dd %dh %dm %ds%s", host.app_info->name, d, h, m, s, VTY_NEWLINE); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24958 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If94795b3cd74040c49bdcbed8c410bf6e950afff Gerrit-Change-Number: 24958 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 19 08:57:15 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 19 Jul 2021 08:57:15 +0000 Subject: Change in osmo-bsc[master]: handover_ctrl: add control interface for handover settings In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24600 ) Change subject: handover_ctrl: add control interface for handover settings ...................................................................... Patch Set 9: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24600 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I12f143906818fd6b16e8783157cbb1eb51e49ffc Gerrit-Change-Number: 24600 Gerrit-PatchSet: 9 Gerrit-Owner: dexter Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 19 Jul 2021 08:57: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 Jul 19 08:57:18 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 19 Jul 2021 08:57:18 +0000 Subject: Change in osmo-bsc[master]: handover_ctrl: add control interface for handover settings In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24600 ) Change subject: handover_ctrl: add control interface for handover settings ...................................................................... handover_ctrl: add control interface for handover settings The VTY handover_vtc.c offers a large number of handover specific settings. Those settings are (with one exception) auto generated using macros. Lets add an equivalent for the control interface that uses the same auto generation mechanisms. Change-Id: I12f143906818fd6b16e8783157cbb1eb51e49ffc Depends: libosmocore I53fc207677f52b1dc748b01d58424839cdba807c Related: SYS#5369 --- M doc/manuals/chapters/control.adoc M include/osmocom/bsc/Makefile.am A include/osmocom/bsc/handover_ctrl.h M src/osmo-bsc/Makefile.am A src/osmo-bsc/handover_ctrl.c M src/osmo-bsc/osmo_bsc_ctrl.c M tests/handover/Makefile.am 7 files changed, 254 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved daniel: Looks good to me, but someone else must approve diff --git a/doc/manuals/chapters/control.adoc b/doc/manuals/chapters/control.adoc index 85696a0..2585126 100644 --- a/doc/manuals/chapters/control.adoc +++ b/doc/manuals/chapters/control.adoc @@ -40,6 +40,34 @@ |bts.N.rf_state|RO|No|",,"|See <> for details. |bts.N.trx.M.arfcn|RW|No|""|Set/Get ARFCN (value between (0, 1023)). |bts.N.trx.M.max-power-reduction|RW|No|""|See <> for details. +|[bts.N.]handover.active|RW|No|"0","1","default"|Enable/disable handover. +|[bts.N.]handover.algorithm|RW|No|"1","2","default"|Choose algorithm for handover decision (hodec1 or hodec2). +|[bts.N.]handover1.window.rxlev.averaging|RW|No|<1-10>,"default"|How many RxLev measurements to use for averaging. +|[bts.N.]handover1.window.rxqual.averaging|RW|No|<1-10>,"default"|How many RxQual measurements to use for averaging. +|[bts.N.]handover1.window.rxlev.neighbor.averaging|RW|No|<1-10>,"default"|How many Neighbor RxLev measurements to use for averaging. +|[bts.N.]handover1.power.budget.interval|RW|No|<1-99>,"default"|How often to check for a better cell (SACCH frames). +|[bts.N.]handover1.power.budget.hysteresis|RW|No|<0-999>,"default"|How many dB stronger must a neighbor be to become a HO candidate. +|[bts.N.]handover1.maximum.distance|RW|No|<0-9999>,"default"|Maximum Timing-Advance value (i.e. MS distance) before triggering HO. +|[bts.N.]handover2.window.rxlev.averaging|RW|No|<1-10>,"default"|How many RxLev measurements to use for averaging. +|[bts.N.]handover2.window.rxqual.averaging|RW|No|<1-10>,"default"|How many RxQual measurements to use for averaging. +|[bts.N.]handover2.window.rxlev.neighbor.averaging|RW|No|<1-10>,"default"|window rxlev neighbor averaging. +|[bts.N.]handover2.power.budget.interval|RW|No|<1-99>,"default"|How many dB stronger must a neighbor be to become a HO candidate. +|[bts.N.]handover2.power.budget.hysteresis|RW|No|<0-999>,"default"|How many dB stronger must a neighbor be to become a HO candidate. +|[bts.N.]handover2.maximum.distance|RW|No|<0-9999>,"default"|Maximum Timing-Advance value (i.e. MS distance) before triggering HO. +|[bts.N.]handover2.assignment|RW|No|"0","1","default"|Enable or disable in-call channel re-assignment within the same cell. +|[bts.N.]handover2.tdma-measurement|RW|No|"full","subset","default"|Define measurement set of TDMA frames. +|[bts.N.]handover2.min.rxlev|RW|No|<-110--50>,"default"|How weak may RxLev of an MS become before triggering HO. +|[bts.N.]handover2.min.rxqual|RW|No|<0-7>,"default"|How bad may RxQual of an MS become before triggering HO. +|[bts.N.]handover2.afs-bias.rxlev|RW|No|<0-20>,"default"|RxLev improvement bias for AFS over other codecs. +|[bts.N.]handover2.afs-bias.rxqual|RW|No|<0-7>,"default"|RxQual improvement bias for AFS over other codecs. +|[bts.N.]handover2.min-free-slots.tch-f|RW|No|<0-9999>,"default"|Minimum free TCH/F timeslots before cell is considered congested. +|[bts.N.]handover2.min-free-slots.tch-h|RW|No|<0-9999>,"default"|Minimum free TCH/H timeslots before cell is considered congested. +|[bts.N.]handover2.max-handovers|RW|No|<1-9999>,"default"|Maximum number of concurrent handovers allowed per cell. +|[bts.N.]handover2.penalty-time.max-distance|RW|No|<0-99999>,"default"|ime to suspend handover for a subscriber after leaving this cell due to exceeding max distance. +|[bts.N.]handover2.penalty-time.failed-ho|RW|No|<0-99999>,"default"|Time to suspend handover for a subscriber after a failed handover into this cell. +|[bts.N.]handover2.penalty-time.failed-assignment|RW|No|<0-99999>,"default"|Time to suspend handover for a subscriber after a failed re-assignment within this cell. +|[bts.N.]handover2.retries|RW|No|<0-9>,"default"|Number of times to immediately retry a failed handover/assignment, before a penalty time is applied. +|handover2.congestion-check|RW|No|"disabled",<1-999>,"now"|Congestion check interval in seconds, "now" triggers immediate congestion check. |=== [[notif]] diff --git a/include/osmocom/bsc/Makefile.am b/include/osmocom/bsc/Makefile.am index 5e866cc..dde08a1 100644 --- a/include/osmocom/bsc/Makefile.am +++ b/include/osmocom/bsc/Makefile.am @@ -23,6 +23,7 @@ gsm_data.h \ handover.h \ handover_cfg.h \ + handover_ctrl.h \ handover_decision.h \ handover_decision_2.h \ handover_fsm.h \ diff --git a/include/osmocom/bsc/handover_ctrl.h b/include/osmocom/bsc/handover_ctrl.h new file mode 100644 index 0000000..c0bd70c --- /dev/null +++ b/include/osmocom/bsc/handover_ctrl.h @@ -0,0 +1,3 @@ +#pragma once + +int bsc_ho_ctrl_cmds_install(void *ctx); diff --git a/src/osmo-bsc/Makefile.am b/src/osmo-bsc/Makefile.am index df4e0c3..840e956 100644 --- a/src/osmo-bsc/Makefile.am +++ b/src/osmo-bsc/Makefile.am @@ -61,6 +61,7 @@ gsm_04_08_rr.c \ gsm_data.c \ handover_cfg.c \ + handover_ctrl.c \ handover_decision.c \ handover_decision_2.c \ handover_fsm.c \ diff --git a/src/osmo-bsc/handover_ctrl.c b/src/osmo-bsc/handover_ctrl.c new file mode 100644 index 0000000..139d038 --- /dev/null +++ b/src/osmo-bsc/handover_ctrl.c @@ -0,0 +1,216 @@ +/* OsmoBSC handover control interface implementation */ +/* (C) 2021 by sysmocom - s.f.m.c. GmbH + * + * All Rights Reserved + * + * Author: Philipp Maier + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +/* In handover_cfg.h the config items are described in VTY syntax. To be able to + * use those here in the CTRL interface, we parse the config arguments like the + * VTY would. (the value specification may be in the form of "" or + * "A|B|C|..." */ +static bool verify_vty_cmd_arg(void *ctx, const char *range, const char *value) +{ + bool success; + char *range_tok; + char *valid_val; + + /* "default" value is always a valid value */ + if (strcmp(value, "default") == 0) + return true; + + /* Try to check for a range first since it is the most common case */ + if (range[0] == '<') { + if (vty_cmd_range_match(range, value)) + return true; + else + return false; + } + + /* Try to tokenize the string to check for distintinct values */ + success = false; + range_tok = talloc_zero_size(ctx, strlen(range) + 1); + memcpy(range_tok, range, strlen(range)); + valid_val = strtok(range_tok, "|"); + while (valid_val != NULL) { + if (strcmp(valid_val, value) == 0) { + success = true; + break; + } + valid_val = strtok(NULL, "|"); + } + + talloc_free(range_tok); + return success; +} + +/* NOTE: The following macro scheme has been designed for using it in the VTY + * code. However, for the most part it also works for CTRL interface code as + * well. */ +#define HO_CFG_ONE_MEMBER(TYPE, NAME, DEFAULT_VAL, VTY_CMD_PREFIX, VTY_CMD, VTY_CMD_ARG, VTY_ARG_EVAL, VTY_WRITE_FMT, VTY_WRITE_CONV, VTY6) \ +CTRL_CMD_DEFINE(NAME, VTY_CMD_PREFIX VTY_CMD); \ +static int get_##NAME(struct ctrl_cmd *cmd, void *_data) \ +{ \ + struct gsm_network *net = cmd->node; \ + struct handover_cfg *ho = net->ho; \ + TYPE val; \ + if (ho_isset_##NAME(ho)) { \ + val = ho_get_##NAME(ho); \ + cmd->reply = talloc_asprintf(cmd, VTY_WRITE_FMT, VTY_WRITE_CONV(val)); \ + } else \ + cmd->reply = talloc_asprintf(cmd, "%s", #DEFAULT_VAL); \ + return CTRL_CMD_REPLY; \ +} \ +static int set_##NAME(struct ctrl_cmd *cmd, void *_data) \ +{ \ + struct gsm_network *net = cmd->node; \ + struct handover_cfg *ho = net->ho; \ + TYPE value; \ + if (strcmp(cmd->value, "default") == 0) \ + value = VTY_ARG_EVAL(#DEFAULT_VAL); \ + else \ + value = VTY_ARG_EVAL(cmd->value); \ + ho_set_##NAME(ho, value); \ + return get_##NAME(cmd, _data); \ +} \ +static int verify_##NAME(struct ctrl_cmd *cmd, const char *value, void *_data) \ +{ \ + if (verify_vty_cmd_arg(cmd, VTY_CMD_ARG, value) != true) \ + return -1; \ + return 0; \ +} \ +CTRL_CMD_DEFINE(bts_##NAME, VTY_CMD_PREFIX VTY_CMD); \ +static int get_bts_##NAME(struct ctrl_cmd *cmd, void *_data) \ +{ \ + struct gsm_bts *bts = cmd->node; \ + struct handover_cfg *ho = bts->ho; \ + TYPE val; \ + if (ho_isset_##NAME(ho)) { \ + val = ho_get_##NAME(ho); \ + cmd->reply = talloc_asprintf(cmd, VTY_WRITE_FMT, VTY_WRITE_CONV(val)); \ + } else { \ + cmd->reply = talloc_asprintf(cmd, "%s", #DEFAULT_VAL); \ + } \ + return CTRL_CMD_REPLY; \ +} \ +static int set_bts_##NAME(struct ctrl_cmd *cmd, void *_data) \ +{ \ + struct gsm_bts *bts = cmd->node; \ + struct handover_cfg *ho = bts->ho; \ + TYPE value; \ + if (strcmp(cmd->value, "default") == 0) \ + value = VTY_ARG_EVAL(#DEFAULT_VAL); \ + else \ + value = VTY_ARG_EVAL(cmd->value); \ + ho_set_##NAME(ho, value); \ + return get_bts_##NAME(cmd, _data); \ +} \ +static int verify_bts_##NAME(struct ctrl_cmd *cmd, const char *value, void *_data) \ +{ \ + return verify_##NAME(cmd, value, _data); \ +} \ + +/* Expand the above macro using the definitions from handover_cfg.h */ +HO_CFG_ALL_MEMBERS +#undef HO_CFG_ONE_MEMBER + +CTRL_CMD_DEFINE(congestion_check_interval, "handover2 congestion-check"); +static int get_congestion_check_interval(struct ctrl_cmd *cmd, void *_data) +{ + struct gsm_network *net = cmd->node; + if (net->hodec2.congestion_check_interval_s > 0) + cmd->reply = talloc_asprintf(cmd, "%u", net->hodec2.congestion_check_interval_s); + else + cmd->reply = "disabled"; + return CTRL_CMD_REPLY; +} + +static int set_congestion_check_interval(struct ctrl_cmd *cmd, void *_data) +{ + struct gsm_network *net = cmd->node; + int value; + + /* Trigger congestion check and leave without changing anything */ + if (strcmp(cmd->value, "now") == 0) { + hodec2_congestion_check(net); + return get_congestion_check_interval(cmd, _data); + } + + if (strcmp(cmd->value, "disabled") == 0) + value = 0; + else + value = atoi(cmd->value); + hodec2_on_change_congestion_check_interval(net, value); + return get_congestion_check_interval(cmd, _data); +} + +static int verify_congestion_check_interval(struct ctrl_cmd *cmd, const char *value, void *_data) +{ + if (strcmp(value, "disabled") == 0) + return 0; + if (strcmp(value, "now") == 0) + return 0; + if (verify_vty_cmd_arg(cmd, "<1-999>", value)) + return 0; + return -1; +} + +/* Filter name member in cmd for illegal '/' characters */ +static struct ctrl_cmd_element *filter_name(void *ctx, + struct ctrl_cmd_element *cmd) +{ + unsigned int i; + char *name; + + if (osmo_separated_identifiers_valid(cmd->name, " -")) + return cmd; + + name = talloc_strdup(ctx, cmd->name); + for (i = 0; i < strlen(name); i++) { + if (name[i] == '/') + name[i] = '-'; + } + + cmd->name = name; + return cmd; +} + +int bsc_ho_ctrl_cmds_install(void *ctx) +{ + int rc = 0; + + rc |= ctrl_cmd_install(CTRL_NODE_ROOT, &cmd_congestion_check_interval); + +#define HO_CFG_ONE_MEMBER(TYPE, NAME, DEFAULT_VAL, VTY0, VTY1, VTY2, VTY_ARG_EVAL, VTY4, VTY5, VTY6) \ + rc |= ctrl_cmd_install(CTRL_NODE_ROOT, filter_name(ctx, &cmd_##NAME)); \ + rc |= ctrl_cmd_install(CTRL_NODE_BTS, filter_name(ctx, &cmd_bts_##NAME)); \ + +HO_CFG_ALL_MEMBERS +#undef HO_CFG_ONE_MEMBER + + return rc; +} diff --git a/src/osmo-bsc/osmo_bsc_ctrl.c b/src/osmo-bsc/osmo_bsc_ctrl.c index 05bc86c..1eea690 100644 --- a/src/osmo-bsc/osmo_bsc_ctrl.c +++ b/src/osmo-bsc/osmo_bsc_ctrl.c @@ -28,6 +28,7 @@ #include #include #include +#include #include #include @@ -697,6 +698,9 @@ rc = bsc_base_ctrl_cmds_install(); if (rc) goto end; + rc = bsc_ho_ctrl_cmds_install(net); + if (rc) + goto end; rc = ctrl_cmd_install(CTRL_NODE_BTS, &cmd_bts_loc); if (rc) goto end; diff --git a/tests/handover/Makefile.am b/tests/handover/Makefile.am index 65eb6a8..c7621d2 100644 --- a/tests/handover/Makefile.am +++ b/tests/handover/Makefile.am @@ -50,6 +50,7 @@ $(top_builddir)/src/osmo-bsc/acc.o \ $(top_builddir)/src/osmo-bsc/assignment_fsm.o \ $(top_builddir)/src/osmo-bsc/bsc_ctrl_commands.o \ + $(top_builddir)/src/osmo-bsc/handover_ctrl.o \ $(top_builddir)/src/osmo-bsc/bsc_init.o \ $(top_builddir)/src/osmo-bsc/bsc_rf_ctrl.o \ $(top_builddir)/src/osmo-bsc/bsc_rll.o \ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24600 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I12f143906818fd6b16e8783157cbb1eb51e49ffc Gerrit-Change-Number: 24600 Gerrit-PatchSet: 9 Gerrit-Owner: dexter Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 19 08:57:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 19 Jul 2021 08:57:53 +0000 Subject: Change in osmo-bsc[master]: Add new lchan_select_set_type() API helper In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24949 ) Change subject: Add new lchan_select_set_type() API helper ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24949 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I025a40962a5e5d40543b297a0760e47618fb525c Gerrit-Change-Number: 24949 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Mon, 19 Jul 2021 08:57:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 19 08:58:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 19 Jul 2021 08:58:17 +0000 Subject: Change in osmo-bsc[master]: _select_sdcch_for_call: Avoid 2nd lchan lookup when finally selecting it In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24950 ) Change subject: _select_sdcch_for_call: Avoid 2nd lchan lookup when finally selecting it ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24950 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1054c18f58c9e249f263e3e97a365a1fd8b03a93 Gerrit-Change-Number: 24950 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Mon, 19 Jul 2021 08:58:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 19 08:58:35 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 19 Jul 2021 08:58:35 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test: set bind address for the RTP Emulation In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24957 ) Change subject: ttcn3-bts-test: set bind address for the RTP Emulation ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24957 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ia20ccd9e6db61d7a105523648c678db90ad345eb Gerrit-Change-Number: 24957 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 19 Jul 2021 08:58: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 Jul 19 08:58:37 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 19 Jul 2021 08:58:37 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test: set bind address for the RTP Emulation In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24957 ) Change subject: ttcn3-bts-test: set bind address for the RTP Emulation ...................................................................... ttcn3-bts-test: set bind address for the RTP Emulation Otherwise the loopback address is used, what causes test cases employing the RTP Emulation component to fail: Connection refused (unexpected) Change-Id: Ia20ccd9e6db61d7a105523648c678db90ad345eb --- M ttcn3-bts-test/BTS_Tests.cfg 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved; Verified diff --git a/ttcn3-bts-test/BTS_Tests.cfg b/ttcn3-bts-test/BTS_Tests.cfg index 4e1d2bf..fd2e05d 100644 --- a/ttcn3-bts-test/BTS_Tests.cfg +++ b/ttcn3-bts-test/BTS_Tests.cfg @@ -15,6 +15,7 @@ BTS_Tests.mp_pcu_socket := "/data/unix/pcu_sock" L1CTL_PortType.m_l1ctl_sock_path := "/data/unix/osmocom_l2" BTS_Tests.mp_ctrl_ip := "172.18.9.20" +BTS_Tests.mp_rtpem_bind_ip := "172.18.9.10" [MAIN_CONTROLLER] -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24957 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ia20ccd9e6db61d7a105523648c678db90ad345eb Gerrit-Change-Number: 24957 Gerrit-PatchSet: 1 Gerrit-Owner: 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 Jul 19 09:00:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 19 Jul 2021 09:00:33 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy_peer: Free a cell as soon as no BSS BVC uses it In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24956 ) Change subject: gbproxy_peer: Free a cell as soon as no BSS BVC uses it ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24956 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: Ib874cbebcea58fa4bf15e1ff40fe11601573e531 Gerrit-Change-Number: 24956 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 19 Jul 2021 09:00: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 Jul 19 09:01:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 19 Jul 2021 09:01:06 +0000 Subject: Change in osmo-hlr[master]: db v6: determine 3G AUC IND from VLR name In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/16764 ) Change subject: db v6: determine 3G AUC IND from VLR name ...................................................................... db v6: determine 3G AUC IND from VLR name Each VLR requesting auth tuples should use a distinct IND pool for 3G auth. So far we tied the IND to the GSUP peer connection; MSC and SGSN were always distinct GSUP peers, they ended up using distinct INDs. However, we have implemented a GSUP proxy, so that, in a distributed setup, a remotely roaming subscriber has only one direct GSUP peer proxying for both remote MSC and SGSN. That means as soon as a subscriber roams to a different site, we would use the GSUP proxy name to determine the IND instead of the separate MSC and SGSN. The site's MSC and SGSN appear as the same client, get the same IND bucket, waste SQNs rapidly and cause auth tuple generation load. So instead of using the local client as IND, persistently keep a list of VLR names and assign a different IND to each. Use the gsup_req->source_name as indicator, which reflects the actual remote VLR's name (remote MSC or SGSN). Persist the site <-> IND assignments in the database. Add an IND test to db_test.c There was an earlier patch version that separated the IND pools by cn_domain, but it turned out to add complex semantics, while only solving one aspect of the "adjacent VLR" problem. We need a solution not only for CS vs PS, but also for 2,3G vs 4G, and for sites that are physically adjacent to each other. This patch version does not offer any automatic solution for that -- as soon as more than 2^IND_bitlen (usually 32) VLRs show up, it is the responsibility of the admin to ensure the 'ind' table in the hlr.db does not have unfortunate IND assignments. So far no VTY commands exist for that, they may be added in the future. Related: OS#4319 Change-Id: I6f0a6bbef3a27507605c3b4a0e1a89bdfd468374 --- M configure.ac M include/osmocom/hlr/db.h M include/osmocom/hlr/gsup_server.h M sql/hlr.sql M src/db.c M src/db_hlr.c M src/gsup_server.c M src/hlr.c M src/hlr_vty.c M tests/Makefile.am M tests/db/db_test.c M tests/db/db_test.err M tests/db_upgrade/db_upgrade_test.ok D tests/gsup_server/Makefile.am D tests/gsup_server/gsup_server_test.c D tests/gsup_server/gsup_server_test.err D tests/gsup_server/gsup_server_test.ok M tests/testsuite.at 18 files changed, 296 insertions(+), 341 deletions(-) Approvals: laforge: Looks good to me, approved daniel: 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/configure.ac b/configure.ac index c496409..d1c14a0 100644 --- a/configure.ac +++ b/configure.ac @@ -206,7 +206,6 @@ tests/Makefile tests/auc/Makefile tests/auc/gen_ts_55_205_test_sets/Makefile - tests/gsup_server/Makefile tests/gsup/Makefile tests/db/Makefile tests/db_upgrade/Makefile diff --git a/include/osmocom/hlr/db.h b/include/osmocom/hlr/db.h index a771409..c43aa4f 100644 --- a/include/osmocom/hlr/db.h +++ b/include/osmocom/hlr/db.h @@ -4,6 +4,7 @@ #include #include +#include struct hlr; @@ -40,6 +41,9 @@ DB_STMT_SET_LAST_LU_SEEN_PS, DB_STMT_EXISTS_BY_IMSI, DB_STMT_EXISTS_BY_MSISDN, + DB_STMT_IND_ADD, + DB_STMT_IND_SELECT, + DB_STMT_IND_DEL, _NUM_DB_STMT }; @@ -173,6 +177,9 @@ int db_subscr_purge(struct db_context *dbc, const char *by_imsi, bool purge_val, bool is_ps); +int db_ind(struct db_context *dbc, const struct osmo_cni_peer_id *vlr, unsigned int *ind); +int db_ind_del(struct db_context *dbc, const struct osmo_cni_peer_id *vlr); + /*! Call sqlite3_column_text() and copy result to a char[]. * \param[out] buf A char[] used as sizeof() arg(!) and osmo_strlcpy() target. * \param[in] stmt An sqlite3_stmt*. diff --git a/include/osmocom/hlr/gsup_server.h b/include/osmocom/hlr/gsup_server.h index ce7556e..9c562e2 100644 --- a/include/osmocom/hlr/gsup_server.h +++ b/include/osmocom/hlr/gsup_server.h @@ -42,8 +42,6 @@ //struct oap_state oap_state; struct tlv_parsed ccm; - unsigned int auc_3g_ind; /*!< IND index used for UMTS AKA SQN */ - /* Set when Location Update is received: */ bool supports_cs; /* client supports OSMO_GSUP_CN_DOMAIN_CS */ bool supports_ps; /* client supports OSMO_GSUP_CN_DOMAIN_PS */ diff --git a/sql/hlr.sql b/sql/hlr.sql index 98e586d..e855a6c 100644 --- a/sql/hlr.sql +++ b/sql/hlr.sql @@ -79,8 +79,16 @@ ind_bitlen INTEGER NOT NULL DEFAULT 5 ); +CREATE TABLE ind ( + -- 3G auth IND pool to be used for this VLR + ind INTEGER PRIMARY KEY, + -- VLR identification, usually the GSUP source_name + vlr TEXT NOT NULL, + UNIQUE (vlr) +); + CREATE UNIQUE INDEX idx_subscr_imsi ON subscriber (imsi); -- Set HLR database schema version number -- Note: This constant is currently duplicated in src/db.c and must be kept in sync! -PRAGMA user_version = 5; +PRAGMA user_version = 6; diff --git a/src/db.c b/src/db.c index 4fd2654..23dcbbc 100644 --- a/src/db.c +++ b/src/db.c @@ -28,7 +28,7 @@ #include "db_bootstrap.h" /* This constant is currently duplicated in sql/hlr.sql and must be kept in sync! */ -#define CURRENT_SCHEMA_VERSION 5 +#define CURRENT_SCHEMA_VERSION 6 #define SEL_COLUMNS \ "id," \ @@ -93,6 +93,9 @@ [DB_STMT_SET_LAST_LU_SEEN_PS] = "UPDATE subscriber SET last_lu_seen_ps = datetime($val, 'unixepoch') WHERE id = $subscriber_id", [DB_STMT_EXISTS_BY_IMSI] = "SELECT 1 FROM subscriber WHERE imsi = $imsi", [DB_STMT_EXISTS_BY_MSISDN] = "SELECT 1 FROM subscriber WHERE msisdn = $msisdn", + [DB_STMT_IND_ADD] = "INSERT INTO ind (vlr) VALUES ($vlr)", + [DB_STMT_IND_SELECT] = "SELECT ind FROM ind WHERE vlr = $vlr", + [DB_STMT_IND_DEL] = "DELETE FROM ind WHERE vlr = $vlr", }; static void sql3_error_log_cb(void *arg, int err_code, const char *msg) @@ -487,6 +490,29 @@ return rc; } +static int db_upgrade_v6(struct db_context *dbc) +{ + int rc; + const char *statements[] = { + "CREATE TABLE ind (\n" + " -- 3G auth IND pool to be used for this VLR\n" + " ind INTEGER PRIMARY KEY,\n" + " -- VLR identification, usually the GSUP source_name\n" + " vlr TEXT NOT NULL,\n" + " UNIQUE (vlr)\n" + ")" + , + "PRAGMA user_version = 6", + }; + + rc = db_run_statements(dbc, statements, ARRAY_SIZE(statements)); + if (rc != SQLITE_DONE) { + LOGP(DDB, LOGL_ERROR, "Unable to update HLR database schema to version 6\n"); + return rc; + } + return rc; +} + typedef int (*db_upgrade_func_t)(struct db_context *dbc); static db_upgrade_func_t db_upgrade_path[] = { db_upgrade_v1, @@ -494,6 +520,7 @@ db_upgrade_v3, db_upgrade_v4, db_upgrade_v5, + db_upgrade_v6, }; static int db_get_user_version(struct db_context *dbc) diff --git a/src/db_hlr.c b/src/db_hlr.c index e88b5fc..591908f 100644 --- a/src/db_hlr.c +++ b/src/db_hlr.c @@ -972,3 +972,106 @@ return ret; } + +static int _db_ind_run(struct db_context *dbc, sqlite3_stmt *stmt, const char *vlr, bool reset) +{ + int rc; + + if (!db_bind_text(stmt, "$vlr", vlr)) + return -EIO; + + /* execute the statement */ + rc = sqlite3_step(stmt); + if (reset) + db_remove_reset(stmt); + return rc; +} + +static int _db_ind_add(struct db_context *dbc, const char *vlr) +{ + sqlite3_stmt *stmt = dbc->stmt[DB_STMT_IND_ADD]; + if (_db_ind_run(dbc, stmt, vlr, true) != SQLITE_DONE) { + LOGP(DDB, LOGL_ERROR, "Cannot create IND entry for %s\n", osmo_quote_str_c(OTC_SELECT, vlr, -1)); + return -EIO; + } + return 0; +} + +static int _db_ind_del(struct db_context *dbc, const char *vlr) +{ + sqlite3_stmt *stmt = dbc->stmt[DB_STMT_IND_DEL]; + _db_ind_run(dbc, stmt, vlr, true); + /* We don't really care about the result. If it didn't exist, then that was the goal anyway. */ + return 0; +} + +static int _db_ind_get(struct db_context *dbc, const char *vlr, unsigned int *ind) +{ + int ret = 0; + sqlite3_stmt *stmt = dbc->stmt[DB_STMT_IND_SELECT]; + int rc = _db_ind_run(dbc, stmt, vlr, false); + if (rc == SQLITE_DONE) { + /* Does not exist yet */ + ret = -ENOENT; + goto out; + } else if (rc != SQLITE_ROW) { + LOGP(DDB, LOGL_ERROR, "Error executing SQL: %d\n", rc); + ret = -EIO; + goto out; + } + + OSMO_ASSERT(ind); + *ind = sqlite3_column_int64(stmt, 0); +out: + db_remove_reset(stmt); + return ret; +} + +int _db_ind(struct db_context *dbc, const struct osmo_cni_peer_id *vlr, + unsigned int *ind, bool del) +{ + const char *vlr_name = NULL; + int rc; + + switch (vlr->type) { + case OSMO_CNI_PEER_ID_IPA_NAME: + if (vlr->ipa_name.len < 2 || vlr->ipa_name.val[vlr->ipa_name.len - 1] != '\0') { + LOGP(DDB, LOGL_ERROR, "Expecting VLR ipa_name to be zero terminated; found %s\n", + osmo_ipa_name_to_str(&vlr->ipa_name)); + return -ENOTSUP; + } + vlr_name = (const char*)vlr->ipa_name.val; + break; + default: + LOGP(DDB, LOGL_ERROR, "Unsupported osmo_cni_peer_id type: %s\n", + osmo_cni_peer_id_type_name(vlr->type)); + return -ENOTSUP; + } + + if (del) + return _db_ind_del(dbc, vlr_name); + + rc = _db_ind_get(dbc, vlr_name, ind); + if (!rc) + return 0; + + /* Does not exist yet, create. */ + rc = _db_ind_add(dbc, vlr_name); + if (rc) { + LOGP(DDB, LOGL_ERROR, "Error creating IND entry for %s\n", osmo_quote_str_c(OTC_SELECT, vlr_name, -1)); + return rc; + } + + /* To be sure, query again from scratch. */ + return _db_ind_get(dbc, vlr_name, ind); +} + +int db_ind(struct db_context *dbc, const struct osmo_cni_peer_id *vlr, unsigned int *ind) +{ + return _db_ind(dbc, vlr, ind, false); +} + +int db_ind_del(struct db_context *dbc, const struct osmo_cni_peer_id *vlr) +{ + return _db_ind(dbc, vlr, NULL, true); +} diff --git a/src/gsup_server.c b/src/gsup_server.c index 756473a..f0d8101 100644 --- a/src/gsup_server.c +++ b/src/gsup_server.c @@ -317,43 +317,6 @@ return 0; } -/* Add conn to the clients list in a way that conn->auc_3g_ind takes the lowest - * unused integer and the list of clients remains sorted by auc_3g_ind. - * Keep this function non-static to allow linking in a unit test. */ -void osmo_gsup_server_add_conn(struct llist_head *clients, - struct osmo_gsup_conn *conn) -{ - struct osmo_gsup_conn *c; - struct osmo_gsup_conn *prev_conn; - - c = llist_first_entry_or_null(clients, struct osmo_gsup_conn, list); - - /* Is the first index, 0, unused? */ - if (!c || c->auc_3g_ind > 0) { - conn->auc_3g_ind = 0; - llist_add(&conn->list, clients); - return; - } - - /* Look for a gap later on */ - prev_conn = NULL; - llist_for_each_entry(c, clients, list) { - /* skip first item, we know it has auc_3g_ind == 0. */ - if (!prev_conn) { - prev_conn = c; - continue; - } - if (c->auc_3g_ind > prev_conn->auc_3g_ind + 1) - break; - prev_conn = c; - } - - OSMO_ASSERT(prev_conn); - - conn->auc_3g_ind = prev_conn->auc_3g_ind + 1; - llist_add(&conn->list, &prev_conn->list); -} - static void update_fd_settings(int fd) { int ret; @@ -386,10 +349,9 @@ /* link data structure with server structure */ conn->server = gsups; - osmo_gsup_server_add_conn(&gsups->clients, conn); + llist_add_tail(&conn->list, &gsups->clients); - LOGP(DLGSUP, LOGL_INFO, "New GSUP client %s:%d (IND=%u)\n", - conn->conn->addr, conn->conn->port, conn->auc_3g_ind); + LOGP(DLGSUP, LOGL_INFO, "New GSUP client %s:%d\n", conn->conn->addr, conn->conn->port); update_fd_settings(fd); diff --git a/src/hlr.c b/src/hlr.c index 45d0b90..294da23 100644 --- a/src/hlr.c +++ b/src/hlr.c @@ -281,13 +281,14 @@ ***********************************************************************/ /* process an incoming SAI request */ -static int rx_send_auth_info(unsigned int auc_3g_ind, struct osmo_gsup_req *req) +static int rx_send_auth_info(struct osmo_gsup_req *req) { struct osmo_gsup_message gsup_out = { .message_type = OSMO_GSUP_MSGT_SEND_AUTH_INFO_RESULT, }; bool separation_bit = false; int num_auth_vectors = OSMO_GSUP_MAX_NUM_AUTH_INFO; + unsigned int auc_3g_ind; int rc; subscr_create_on_demand(req->gsup.imsi); @@ -298,6 +299,14 @@ if (req->gsup.num_auth_vectors > 0 && req->gsup.num_auth_vectors <= OSMO_GSUP_MAX_NUM_AUTH_INFO) num_auth_vectors = req->gsup.num_auth_vectors; + rc = db_ind(g_hlr->dbc, &req->source_name, &auc_3g_ind); + if (rc) { + LOG_GSUP_REQ(req, LOGL_ERROR, + "Unable to determine 3G auth IND for source %s (rc=%d)," + " generating tuples with IND = 0\n", + osmo_cni_peer_id_to_str(&req->source_name), rc); + auc_3g_ind = 0; + } rc = db_get_auc(g_hlr->dbc, req->gsup.imsi, auc_3g_ind, gsup_out.auth_vectors, @@ -517,7 +526,7 @@ switch (req->gsup.message_type) { /* requests sent to us */ case OSMO_GSUP_MSGT_SEND_AUTH_INFO_REQUEST: - rx_send_auth_info(conn->auc_3g_ind, req); + rx_send_auth_info(req); break; case OSMO_GSUP_MSGT_UPDATE_LOCATION_REQUEST: rx_upd_loc_req(conn, req); diff --git a/src/hlr_vty.c b/src/hlr_vty.c index df2270b..2fd4783 100644 --- a/src/hlr_vty.c +++ b/src/hlr_vty.c @@ -116,8 +116,8 @@ rc = osmo_gsup_conn_ccm_get(conn, (uint8_t **) &name, IPAC_IDTAG_SERNR); OSMO_ASSERT(rc); - vty_out(vty, " '%s' from %s:%5u, CS=%u, PS=%u, 3G_IND=%u%s", - name, isc->addr, isc->port, conn->supports_cs, conn->supports_ps, conn->auc_3g_ind, + vty_out(vty, " '%s' from %s:%5u, CS=%u, PS=%u%s", + name, isc->addr, isc->port, conn->supports_cs, conn->supports_ps, VTY_NEWLINE); } diff --git a/tests/Makefile.am b/tests/Makefile.am index 9015494..9270efa 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,6 +1,5 @@ SUBDIRS = \ auc \ - gsup_server \ db \ gsup \ db_upgrade \ diff --git a/tests/db/db_test.c b/tests/db/db_test.c index 0c68238..00434cf 100644 --- a/tests/db/db_test.c +++ b/tests/db/db_test.c @@ -918,6 +918,50 @@ comment_end(); } +static void test_ind() +{ + comment_start(); + +#define ASSERT_IND(VLR, IND) do { \ + unsigned int ind; \ + struct osmo_cni_peer_id vlr; \ + OSMO_ASSERT(!osmo_cni_peer_id_set_str(&vlr, OSMO_CNI_PEER_ID_IPA_NAME, VLR)); \ + ASSERT_RC(db_ind(dbc, &vlr, &ind), 0); \ + fprintf(stderr, "%s ind = %u\n\n", osmo_quote_str((char*)vlr.ipa_name.val, vlr.ipa_name.len), ind); \ + if (ind != (IND)) \ + fprintf(stderr, " ERROR: expected " #IND "\n"); \ + } while (0) +#define IND_DEL(VLR) do { \ + struct osmo_cni_peer_id vlr; \ + OSMO_ASSERT(!osmo_cni_peer_id_set_str(&vlr, OSMO_CNI_PEER_ID_IPA_NAME, VLR)); \ + ASSERT_RC(db_ind_del(dbc, &vlr), 0); \ + fprintf(stderr, "%s ind deleted\n\n", osmo_quote_str((char*)vlr.ipa_name.val, vlr.ipa_name.len)); \ + } while (0) + + ASSERT_IND("msc-23", 1); + ASSERT_IND("sgsn-11", 2); + ASSERT_IND("msc-42", 3); + ASSERT_IND("sgsn-22", 4); + ASSERT_IND("msc-0x17", 5); + ASSERT_IND("sgsn-0xaa", 6); + ASSERT_IND("msc-42", 3); + ASSERT_IND("sgsn-22", 4); + ASSERT_IND("msc-0x17", 5); + ASSERT_IND("sgsn-0xaa", 6); + ASSERT_IND("sgsn-0xbb", 7); + ASSERT_IND("msc-0x2a", 8); + ASSERT_IND("msc-42", 3); + ASSERT_IND("sgsn-22", 4); + ASSERT_IND("msc-23", 1); + ASSERT_IND("sgsn-11", 2); + + IND_DEL("msc-0x17"); /* dropped IND == 5 */ + ASSERT_IND("msc-0x2a", 8); /* known CS remains where it is */ + ASSERT_IND("any-unknown", 9); /* new VLR takes a new IND from the end */ + + comment_end(); +} + static struct { bool verbose; } cmdline_opts = { @@ -1002,6 +1046,7 @@ test_subscr_aud(); test_subscr_aud_invalid_len(); test_subscr_sqn(); + test_ind(); printf("Done\n"); db_close(dbc); diff --git a/tests/db/db_test.err b/tests/db/db_test.err index 871e722..ddf6d00 100644 --- a/tests/db/db_test.err +++ b/tests/db/db_test.err @@ -1613,3 +1613,83 @@ ===== test_subscr_sqn: SUCCESS + +===== test_ind +db_ind(dbc, &vlr, &ind) --> 0 + +"msc-23\0" ind = 1 + +db_ind(dbc, &vlr, &ind) --> 0 + +"sgsn-11\0" ind = 2 + +db_ind(dbc, &vlr, &ind) --> 0 + +"msc-42\0" ind = 3 + +db_ind(dbc, &vlr, &ind) --> 0 + +"sgsn-22\0" ind = 4 + +db_ind(dbc, &vlr, &ind) --> 0 + +"msc-0x17\0" ind = 5 + +db_ind(dbc, &vlr, &ind) --> 0 + +"sgsn-0xaa\0" ind = 6 + +db_ind(dbc, &vlr, &ind) --> 0 + +"msc-42\0" ind = 3 + +db_ind(dbc, &vlr, &ind) --> 0 + +"sgsn-22\0" ind = 4 + +db_ind(dbc, &vlr, &ind) --> 0 + +"msc-0x17\0" ind = 5 + +db_ind(dbc, &vlr, &ind) --> 0 + +"sgsn-0xaa\0" ind = 6 + +db_ind(dbc, &vlr, &ind) --> 0 + +"sgsn-0xbb\0" ind = 7 + +db_ind(dbc, &vlr, &ind) --> 0 + +"msc-0x2a\0" ind = 8 + +db_ind(dbc, &vlr, &ind) --> 0 + +"msc-42\0" ind = 3 + +db_ind(dbc, &vlr, &ind) --> 0 + +"sgsn-22\0" ind = 4 + +db_ind(dbc, &vlr, &ind) --> 0 + +"msc-23\0" ind = 1 + +db_ind(dbc, &vlr, &ind) --> 0 + +"sgsn-11\0" ind = 2 + +db_ind_del(dbc, &vlr) --> 0 + +"msc-0x17\0" ind deleted + +db_ind(dbc, &vlr, &ind) --> 0 + +"msc-0x2a\0" ind = 8 + +db_ind(dbc, &vlr, &ind) --> 0 + +"any-unknown\0" ind = 9 + +===== test_ind: SUCCESS + diff --git a/tests/db_upgrade/db_upgrade_test.ok b/tests/db_upgrade/db_upgrade_test.ok index 2bc6a39..0a45f7c 100644 --- a/tests/db_upgrade/db_upgrade_test.ok +++ b/tests/db_upgrade/db_upgrade_test.ok @@ -85,6 +85,7 @@ DDB Database test.db' has been upgraded to HLR DB schema version 3 DDB Database test.db' has been upgraded to HLR DB schema version 4 DDB Database test.db' has been upgraded to HLR DB schema version 5 +DDB Database test.db' has been upgraded to HLR DB schema version 6 DMAIN Cmdline option --db-check: Database was opened successfully, quitting. Resulting db: @@ -117,6 +118,13 @@ 5|5|44444444444444444444444444444444|44444444444444444444444444444444||0|5 5|5|55555555555555555555555555555555||55555555555555555555555555555555|0|6 +Table: ind +name|type|notnull|dflt_value|pk +ind|INTEGER|0||1 +vlr|TEXT|1||0 + +Table ind contents: + Table: subscriber name|type|notnull|dflt_value|pk ggsn_number|VARCHAR(15)|0||0 @@ -171,5 +179,5 @@ rc = 0 DMAIN hlr starting DDB using database: test.db -DDB Database test.db' has HLR DB schema version 5 +DDB Database test.db' has HLR DB schema version 6 DMAIN Cmdline option --db-check: Database was opened successfully, quitting. diff --git a/tests/gsup_server/Makefile.am b/tests/gsup_server/Makefile.am deleted file mode 100644 index 34acd30..0000000 --- a/tests/gsup_server/Makefile.am +++ /dev/null @@ -1,44 +0,0 @@ -AM_CPPFLAGS = \ - $(all_includes) \ - $(NULL) - -AM_CFLAGS = \ - -Wall \ - -ggdb3 \ - -I$(top_srcdir)/include \ - $(LIBOSMOCORE_CFLAGS) \ - $(LIBOSMOGSM_CFLAGS) \ - $(LIBOSMOABIS_CFLAGS) \ - $(NULL) - -AM_LDFLAGS = \ - -no-install \ - $(NULL) - -EXTRA_DIST = \ - gsup_server_test.ok \ - gsup_server_test.err \ - $(NULL) - -noinst_PROGRAMS = \ - gsup_server_test \ - $(NULL) - -gsup_server_test_SOURCES = \ - gsup_server_test.c \ - $(NULL) - -gsup_server_test_LDADD = \ - $(top_srcdir)/src/gsup_server.c \ - $(top_srcdir)/src/gsup_router.c \ - $(top_srcdir)/src/gsup_send.c \ - $(top_srcdir)/src/gsupclient/cni_peer_id.c \ - $(top_srcdir)/src/gsupclient/gsup_req.c \ - $(LIBOSMOCORE_LIBS) \ - $(LIBOSMOGSM_LIBS) \ - $(LIBOSMOABIS_LIBS) \ - $(NULL) - -.PHONY: update_exp -update_exp: - $(builddir)/gsup_server_test >"$(srcdir)/gsup_server_test.ok" 2>"$(srcdir)/gsup_server_test.err" diff --git a/tests/gsup_server/gsup_server_test.c b/tests/gsup_server/gsup_server_test.c deleted file mode 100644 index 4aec69b..0000000 --- a/tests/gsup_server/gsup_server_test.c +++ /dev/null @@ -1,145 +0,0 @@ -/* (C) 2017 by sysmocom s.f.m.c. GmbH - * All Rights Reserved - * - * Author: Neels Hofmeyr - * - * 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 General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - * - */ - -#include -#include -#include - -#define comment_start() printf("\n===== %s\n", __func__) -#define comment_end() printf("===== %s: SUCCESS\n\n", __func__) -#define btw(fmt, args...) printf("\n" fmt "\n", ## args) - -#define VERBOSE_ASSERT(val, expect_op, fmt) \ - do { \ - printf(#val " == " fmt "\n", (val)); \ - OSMO_ASSERT((val) expect_op); \ - } while (0) - -void osmo_gsup_server_add_conn(struct llist_head *clients, - struct osmo_gsup_conn *conn); - -static void test_add_conn(void) -{ - struct llist_head _list; - struct llist_head *clients = &_list; - struct osmo_gsup_conn conn_inst[23] = {}; - struct osmo_gsup_conn *conn; - unsigned int i; - - comment_start(); - - INIT_LLIST_HEAD(clients); - - btw("Add 10 items"); - for (i = 0; i < 10; i++) { - osmo_gsup_server_add_conn(clients, &conn_inst[i]); - printf("conn_inst[%u].auc_3g_ind == %u\n", i, conn_inst[i].auc_3g_ind); - OSMO_ASSERT(clients->next == &conn_inst[0].list); - } - - btw("Expecting a list of 0..9"); - i = 0; - llist_for_each_entry(conn, clients, list) { - printf("conn[%u].auc_3g_ind == %u\n", i, conn->auc_3g_ind); - OSMO_ASSERT(conn->auc_3g_ind == i); - OSMO_ASSERT(conn == &conn_inst[i]); - i++; - } - - btw("Punch two holes in the sequence in arbitrary order," - " a larger one from 2..4 and a single one at 7."); - llist_del(&conn_inst[4].list); - llist_del(&conn_inst[2].list); - llist_del(&conn_inst[3].list); - llist_del(&conn_inst[7].list); - - btw("Expecting a list of 0,1, 5,6, 8,9"); - i = 0; - llist_for_each_entry(conn, clients, list) { - printf("conn[%u].auc_3g_ind == %u\n", i, conn->auc_3g_ind); - i++; - } - - btw("Add conns, expecting them to take the open slots"); - osmo_gsup_server_add_conn(clients, &conn_inst[12]); - VERBOSE_ASSERT(conn_inst[12].auc_3g_ind, == 2, "%u"); - - osmo_gsup_server_add_conn(clients, &conn_inst[13]); - VERBOSE_ASSERT(conn_inst[13].auc_3g_ind, == 3, "%u"); - - osmo_gsup_server_add_conn(clients, &conn_inst[14]); - VERBOSE_ASSERT(conn_inst[14].auc_3g_ind, == 4, "%u"); - - osmo_gsup_server_add_conn(clients, &conn_inst[17]); - VERBOSE_ASSERT(conn_inst[17].auc_3g_ind, == 7, "%u"); - - osmo_gsup_server_add_conn(clients, &conn_inst[18]); - VERBOSE_ASSERT(conn_inst[18].auc_3g_ind, == 10, "%u"); - - btw("Expecting a list of 0..10"); - i = 0; - llist_for_each_entry(conn, clients, list) { - printf("conn[%u].auc_3g_ind == %u\n", i, conn->auc_3g_ind); - OSMO_ASSERT(conn->auc_3g_ind == i); - i++; - } - - btw("Does it also work for the first item?"); - llist_del(&conn_inst[0].list); - - btw("Expecting a list of 1..10"); - i = 0; - llist_for_each_entry(conn, clients, list) { - printf("conn[%u].auc_3g_ind == %u\n", i, conn->auc_3g_ind); - OSMO_ASSERT(conn->auc_3g_ind == i + 1); - i++; - } - - btw("Add another conn, should take auc_3g_ind == 0"); - osmo_gsup_server_add_conn(clients, &conn_inst[20]); - VERBOSE_ASSERT(conn_inst[20].auc_3g_ind, == 0, "%u"); - - btw("Expecting a list of 0..10"); - i = 0; - llist_for_each_entry(conn, clients, list) { - printf("conn[%u].auc_3g_ind == %u\n", i, conn->auc_3g_ind); - OSMO_ASSERT(conn->auc_3g_ind == i); - i++; - } - - btw("If a client reconnects, it will (likely) get the same auc_3g_ind"); - VERBOSE_ASSERT(conn_inst[5].auc_3g_ind, == 5, "%u"); - llist_del(&conn_inst[5].list); - conn_inst[5].auc_3g_ind = 423; - osmo_gsup_server_add_conn(clients, &conn_inst[5]); - VERBOSE_ASSERT(conn_inst[5].auc_3g_ind, == 5, "%u"); - - comment_end(); -} - -int main(int argc, char **argv) -{ - printf("test_gsup_server.c\n"); - - test_add_conn(); - - printf("Done\n"); - return 0; -} diff --git a/tests/gsup_server/gsup_server_test.err b/tests/gsup_server/gsup_server_test.err deleted file mode 100644 index e69de29..0000000 --- a/tests/gsup_server/gsup_server_test.err +++ /dev/null diff --git a/tests/gsup_server/gsup_server_test.ok b/tests/gsup_server/gsup_server_test.ok deleted file mode 100644 index 80d944c..0000000 --- a/tests/gsup_server/gsup_server_test.ok +++ /dev/null @@ -1,94 +0,0 @@ -test_gsup_server.c - -===== test_add_conn - -Add 10 items -conn_inst[0].auc_3g_ind == 0 -conn_inst[1].auc_3g_ind == 1 -conn_inst[2].auc_3g_ind == 2 -conn_inst[3].auc_3g_ind == 3 -conn_inst[4].auc_3g_ind == 4 -conn_inst[5].auc_3g_ind == 5 -conn_inst[6].auc_3g_ind == 6 -conn_inst[7].auc_3g_ind == 7 -conn_inst[8].auc_3g_ind == 8 -conn_inst[9].auc_3g_ind == 9 - -Expecting a list of 0..9 -conn[0].auc_3g_ind == 0 -conn[1].auc_3g_ind == 1 -conn[2].auc_3g_ind == 2 -conn[3].auc_3g_ind == 3 -conn[4].auc_3g_ind == 4 -conn[5].auc_3g_ind == 5 -conn[6].auc_3g_ind == 6 -conn[7].auc_3g_ind == 7 -conn[8].auc_3g_ind == 8 -conn[9].auc_3g_ind == 9 - -Punch two holes in the sequence in arbitrary order, a larger one from 2..4 and a single one at 7. - -Expecting a list of 0,1, 5,6, 8,9 -conn[0].auc_3g_ind == 0 -conn[1].auc_3g_ind == 1 -conn[2].auc_3g_ind == 5 -conn[3].auc_3g_ind == 6 -conn[4].auc_3g_ind == 8 -conn[5].auc_3g_ind == 9 - -Add conns, expecting them to take the open slots -conn_inst[12].auc_3g_ind == 2 -conn_inst[13].auc_3g_ind == 3 -conn_inst[14].auc_3g_ind == 4 -conn_inst[17].auc_3g_ind == 7 -conn_inst[18].auc_3g_ind == 10 - -Expecting a list of 0..10 -conn[0].auc_3g_ind == 0 -conn[1].auc_3g_ind == 1 -conn[2].auc_3g_ind == 2 -conn[3].auc_3g_ind == 3 -conn[4].auc_3g_ind == 4 -conn[5].auc_3g_ind == 5 -conn[6].auc_3g_ind == 6 -conn[7].auc_3g_ind == 7 -conn[8].auc_3g_ind == 8 -conn[9].auc_3g_ind == 9 -conn[10].auc_3g_ind == 10 - -Does it also work for the first item? - -Expecting a list of 1..10 -conn[0].auc_3g_ind == 1 -conn[1].auc_3g_ind == 2 -conn[2].auc_3g_ind == 3 -conn[3].auc_3g_ind == 4 -conn[4].auc_3g_ind == 5 -conn[5].auc_3g_ind == 6 -conn[6].auc_3g_ind == 7 -conn[7].auc_3g_ind == 8 -conn[8].auc_3g_ind == 9 -conn[9].auc_3g_ind == 10 - -Add another conn, should take auc_3g_ind == 0 -conn_inst[20].auc_3g_ind == 0 - -Expecting a list of 0..10 -conn[0].auc_3g_ind == 0 -conn[1].auc_3g_ind == 1 -conn[2].auc_3g_ind == 2 -conn[3].auc_3g_ind == 3 -conn[4].auc_3g_ind == 4 -conn[5].auc_3g_ind == 5 -conn[6].auc_3g_ind == 6 -conn[7].auc_3g_ind == 7 -conn[8].auc_3g_ind == 8 -conn[9].auc_3g_ind == 9 -conn[10].auc_3g_ind == 10 - -If a client reconnects, it will (likely) get the same auc_3g_ind -conn_inst[5].auc_3g_ind == 5 -conn_inst[5].auc_3g_ind == 5 -===== test_add_conn: SUCCESS - -Done diff --git a/tests/testsuite.at b/tests/testsuite.at index 956ef87..65f90b4 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -22,13 +22,6 @@ AT_CHECK([$abs_top_builddir/tests/gsup/gsup_test], [], [expout], [experr]) AT_CLEANUP -AT_SETUP([gsup_server]) -AT_KEYWORDS([gsup_server]) -cat $abs_srcdir/gsup_server/gsup_server_test.ok > expout -cat $abs_srcdir/gsup_server/gsup_server_test.err > experr -AT_CHECK([$abs_top_builddir/tests/gsup_server/gsup_server_test], [], [expout], [experr]) -AT_CLEANUP - AT_SETUP([db]) AT_KEYWORDS([db]) cat $abs_srcdir/db/db_test.ok > expout -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16764 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I6f0a6bbef3a27507605c3b4a0e1a89bdfd468374 Gerrit-Change-Number: 16764 Gerrit-PatchSet: 16 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 19 09:03:05 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 19 Jul 2021 09:03:05 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: refactor request handler array In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24940 ) Change subject: mgcp_protocol: refactor request handler array ...................................................................... mgcp_protocol: refactor request handler array the various types of MGCP requests are implemented in request handlers functions. The function pointers to those functions are held in an array that is used to find the right handler and call it then. The struct used to model the array is defined somewhat away from the array definition and there is also a macro in between that does not help to make the code more understandable. Lets refactor this a bit to have it more distinct. Change-Id: I2ef167b2ac179d2b0683a27a095f9662fda460bf Related: SYS#5535 --- M src/libosmo-mgcp/mgcp_protocol.c 1 file changed, 29 insertions(+), 18 deletions(-) Approvals: daniel: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index 895dd9e..f6daffc 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -46,22 +46,47 @@ #include #include +/* Request handler specification, here we specify an array with function + * pointers to the various MGCP requests implemented below */ struct mgcp_request { + /* request name (e.g. "MDCX") */ char *name; + + /* function pointer to the request handler */ struct msgb *(*handle_request) (struct mgcp_parse_data * data); + + /* a human readable name that describes the request */ char *debug_name; }; -#define MGCP_REQUEST(NAME, REQ, DEBUG_NAME) \ - { .name = NAME, .handle_request = REQ, .debug_name = DEBUG_NAME }, - - static struct msgb *handle_audit_endpoint(struct mgcp_parse_data *data); static struct msgb *handle_create_con(struct mgcp_parse_data *data); static struct msgb *handle_delete_con(struct mgcp_parse_data *data); static struct msgb *handle_modify_con(struct mgcp_parse_data *data); static struct msgb *handle_rsip(struct mgcp_parse_data *data); static struct msgb *handle_noti_req(struct mgcp_parse_data *data); +static const struct mgcp_request mgcp_requests[] = { + { .name = "AUEP", + .handle_request = handle_audit_endpoint, + .debug_name = "AuditEndpoint" }, + { .name = "CRCX", + .handle_request = handle_create_con, + .debug_name = "CreateConnection" }, + { .name = "DLCX", + .handle_request = handle_delete_con, + .debug_name = "DeleteConnection" }, + { .name = "MDCX", + .handle_request = handle_modify_con, + .debug_name = "ModifiyConnection" }, + { .name = "RQNT", + .handle_request = handle_noti_req, + .debug_name = "NotificationRequest" }, + + /* SPEC extension */ + { .name = "RSIP", + .handle_request = handle_rsip, + .debug_name = "ReSetInProgress" }, +}; /* Initalize transcoder */ static int setup_rtp_processing(struct mgcp_endpoint *endp, @@ -95,20 +120,6 @@ return cfg->setup_rtp_processing_cb(endp, conn_dst, conn_src); } -/* array of function pointers for handling various - * messages. In the future this might be binary sorted - * for performance reasons. */ -static const struct mgcp_request mgcp_requests[] = { - MGCP_REQUEST("AUEP", handle_audit_endpoint, "AuditEndpoint") - MGCP_REQUEST("CRCX", handle_create_con, "CreateConnection") - MGCP_REQUEST("DLCX", handle_delete_con, "DeleteConnection") - MGCP_REQUEST("MDCX", handle_modify_con, "ModifiyConnection") - MGCP_REQUEST("RQNT", handle_noti_req, "NotificationRequest") - - /* SPEC extension */ - MGCP_REQUEST("RSIP", handle_rsip, "ReSetInProgress") -}; - /* Helper function to allocate some memory for responses and retransmissions */ static struct msgb *mgcp_msgb_alloc(void) { -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24940 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I2ef167b2ac179d2b0683a27a095f9662fda460bf Gerrit-Change-Number: 24940 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 19 09:14:52 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 19 Jul 2021 09:14:52 +0000 Subject: Change in osmo-bts[master]: allow to configure multiple oml remote-ip addresses In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24513 ) Change subject: allow to configure multiple oml remote-ip addresses ...................................................................... Patch Set 11: (1 comment) > Patch Set 11: > > This patch is not yet ready. If you do VTY cmd "no oml remote-ip 1.2.3.4" while abis link is connected, the program will abort hitting the assert I mentioned in my previous comment. (sorry I confused that in the ticket updates) I checked this again. See my commet. I don't believe that that the assert can be ever be hit. https://gerrit.osmocom.org/c/osmo-bts/+/24513/10/src/common/abis.c File src/common/abis.c: https://gerrit.osmocom.org/c/osmo-bts/+/24513/10/src/common/abis.c at 92 PS10, Line 92: > AFAIU you can also receive the other new event here now, which would make this assert? I have checked this twice now, I am very sure that this action is not executed when the other new event is received since it is received in the allstate action which is is executed before the normal action. Also the other event is not permitted in this state. See also: http://git.osmocom.org/libosmocore/tree/src/fsm.c#n864 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24513 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I205f68a3a7f35fee4c38a7cfba2b014237df2727 Gerrit-Change-Number: 24513 Gerrit-PatchSet: 11 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 19 Jul 2021 09:14:52 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 19 09:17:03 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 19 Jul 2021 09:17:03 +0000 Subject: Change in osmo-bts[master]: allow to configure multiple oml remote-ip addresses In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24513 ) Change subject: allow to configure multiple oml remote-ip addresses ...................................................................... Patch Set 11: I am trying this out now to see if it crashes. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24513 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I205f68a3a7f35fee4c38a7cfba2b014237df2727 Gerrit-Change-Number: 24513 Gerrit-PatchSet: 11 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 19 Jul 2021 09:17: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 Mon Jul 19 09:21:36 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 19 Jul 2021 09:21:36 +0000 Subject: Change in osmo-bts[master]: allow to configure multiple oml remote-ip addresses In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24513 ) Change subject: allow to configure multiple oml remote-ip addresses ...................................................................... Patch Set 11: Code-Review+2 Good point, that makes sense, thanks for explaining -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24513 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I205f68a3a7f35fee4c38a7cfba2b014237df2727 Gerrit-Change-Number: 24513 Gerrit-PatchSet: 11 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 19 Jul 2021 09:21: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 Jul 19 09:23:26 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 19 Jul 2021 09:23:26 +0000 Subject: Change in osmo-bts[master]: allow to configure multiple oml remote-ip addresses In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24513 ) Change subject: allow to configure multiple oml remote-ip addresses ...................................................................... Patch Set 11: > Patch Set 11: Code-Review+2 > > Good point, that makes sense, thanks for explaining Also no crash ;-) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24513 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I205f68a3a7f35fee4c38a7cfba2b014237df2727 Gerrit-Change-Number: 24513 Gerrit-PatchSet: 11 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 19 Jul 2021 09:23:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 19 09:27:11 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 19 Jul 2021 09:27:11 +0000 Subject: Change in osmo-bts[master]: allow to configure multiple oml remote-ip addresses In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24513 ) Change subject: allow to configure multiple oml remote-ip addresses ...................................................................... allow to configure multiple oml remote-ip addresses At the moment we can only configure a single BSC in the BTS configuration. This also means that if this single BSC fails for some reason the BTS has no alternate BSC to connect to. Lets extend the remote-ip parameter so that it can be used multiple times so that an operater can configure any number of BSCs that are tried one after another during BTS startup. Change-Id: I205f68a3a7f35fee4c38a7cfba2b014237df2727 Related: SYS#4971 --- M include/osmo-bts/abis.h M include/osmo-bts/bts.h M src/common/abis.c M src/common/bts.c M src/common/main.c M src/common/vty.c M src/osmo-bts-omldummy/main.c 7 files changed, 292 insertions(+), 80 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved laforge: Looks good to me, but someone else must approve diff --git a/include/osmo-bts/abis.h b/include/osmo-bts/abis.h index 62407ec..8963c3c 100644 --- a/include/osmo-bts/abis.h +++ b/include/osmo-bts/abis.h @@ -16,9 +16,14 @@ LINK_STATE_CONNECT, }; +enum abis_link_fsm_event { + ABIS_LINK_EV_SIGN_LINK_DOWN, + ABIS_LINK_EV_VTY_RM_ADDR, +}; + void abis_init(struct gsm_bts *bts); -struct e1inp_line *abis_open(struct gsm_bts *bts, char *dst_host, - char *model_name); +int abis_open(struct gsm_bts *bts, char *model_name); + int abis_oml_sendmsg(struct msgb *msg); diff --git a/include/osmo-bts/bts.h b/include/osmo-bts/bts.h index 6a61d01..6e0e47b 100644 --- a/include/osmo-bts/bts.h +++ b/include/osmo-bts/bts.h @@ -133,6 +133,12 @@ struct gsm_abis_mo mo; }; +/* Struct that holds one OML-Address (Address of the BSC) */ +struct bsc_oml_host { + struct llist_head list; + char *addr; +}; + /* One BTS */ struct gsm_bts { /* list header in net->bts_list */ @@ -295,7 +301,7 @@ } etws; struct paging_state *paging_state; - char *bsc_oml_host; + struct llist_head bsc_oml_hosts; struct llist_head oml_queue; unsigned int rtp_jitter_buf_ms; bool rtp_jitter_adaptive; @@ -363,6 +369,7 @@ } gsmtap; struct osmo_fsm_inst *shutdown_fi; /* FSM instance to manage shutdown procedure during process exit */ + struct osmo_fsm_inst *abis_link_fi; /* FSM instance to manage abis connection during process startup and link failure */ struct osmo_tdef *T_defs; /* Timer defines */ void *model_priv; /* Allocated by bts_model, contains model specific data pointer */ diff --git a/src/common/abis.c b/src/common/abis.c index abef826..3325fab 100644 --- a/src/common/abis.c +++ b/src/common/abis.c @@ -38,11 +38,13 @@ #include #include #include +#include #include #include #include #include +#include #include #include #include @@ -54,6 +56,204 @@ static struct gsm_bts *g_bts; +static struct e1inp_line_ops line_ops; + +static struct ipaccess_unit bts_dev_info; + +#define S(x) (1 << (x)) + +enum abis_link_fsm_state { + ABIS_LINK_ST_CONNECTING, + ABIS_LINK_ST_CONNECTED, + ABIS_LINK_ST_FAILED, +}; + +static const struct value_string abis_link_fsm_event_names[] = { + OSMO_VALUE_STRING(ABIS_LINK_EV_SIGN_LINK_DOWN), + OSMO_VALUE_STRING(ABIS_LINK_EV_VTY_RM_ADDR), + {} +}; + +struct abis_link_fsm_priv { + struct llist_head *bsc_oml_host; + struct gsm_bts *bts; + char *model_name; + int line_ctr; +}; + +static void abis_link_connected(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct abis_link_fsm_priv *priv = fi->priv; + struct gsm_bts *bts = priv->bts; + struct gsm_bts_trx *trx; + bool oml_rsl_was_connected = false; + + OSMO_ASSERT(event == ABIS_LINK_EV_SIGN_LINK_DOWN); + + /* First remove the OML signalling link */ + if (bts->oml_link) { + struct timespec now; + + e1inp_sign_link_destroy(bts->oml_link); + + /* Log a special notice if the OML connection was dropped relatively quickly. */ + if (bts->oml_conn_established_timestamp.tv_sec != 0 && clock_gettime(CLOCK_MONOTONIC, &now) == 0 && + bts->oml_conn_established_timestamp.tv_sec + OSMO_BTS_OML_CONN_EARLY_DISCONNECT >= now.tv_sec) { + LOGP(DABIS, LOGL_FATAL, "OML link was closed early within %" PRIu64 " seconds. " + "If this situation persists, please check your BTS and BSC configuration files for errors. " + "A common error is a mismatch between unit_id configuration parameters of BTS and BSC.\n", + (uint64_t) (now.tv_sec - g_bts->oml_conn_established_timestamp.tv_sec)); + } + bts->oml_link = NULL; + oml_rsl_was_connected = true; + } + memset(&g_bts->oml_conn_established_timestamp, 0, sizeof(bts->oml_conn_established_timestamp)); + + if (g_bts->osmo_link) { + e1inp_sign_link_destroy(g_bts->osmo_link); + g_bts->osmo_link = NULL; + oml_rsl_was_connected = true; + } + + /* Then iterate over the RSL signalling links */ + llist_for_each_entry(trx, &bts->trx_list, list) { + if (trx->rsl_link) { + e1inp_sign_link_destroy(trx->rsl_link); + trx->rsl_link = NULL; + oml_rsl_was_connected = true; + } + } + + /* Note: if there was an OML or RSL connection present (the BTS was connected to a BSC). Then we will not try + * to connect to an alternate BSC. Instead we will shut down the BTS process. This will ensure that all states + * in the BTS (hardware and software) are reset properly. It is then up to the process management of the host + * to restart osmo-bts. */ + if (oml_rsl_was_connected) + osmo_fsm_inst_state_chg(fi, ABIS_LINK_ST_FAILED, 0, 0); + else + osmo_fsm_inst_state_chg(fi, ABIS_LINK_ST_CONNECTING, 0, 0); +} + +static void abis_link_connecting_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) +{ + struct e1inp_line *line; + struct abis_link_fsm_priv *priv = fi->priv; + struct gsm_bts *bts = priv->bts; + struct bsc_oml_host *bsc_oml_host; + + if (priv->bsc_oml_host) { + /* Get a BSC host from the list and move the list head one position forward. */ + bsc_oml_host = (struct bsc_oml_host *)priv->bsc_oml_host; + if (priv->bsc_oml_host == llist_last(&bts->bsc_oml_hosts)) + priv->bsc_oml_host = NULL; + else + priv->bsc_oml_host = priv->bsc_oml_host->next; + } else { + LOGP(DABIS, LOGL_FATAL, "No BSC available, A-bis connection establishment failed\n"); + osmo_fsm_inst_state_chg(fi, ABIS_LINK_ST_FAILED, 0, 0); + return; + } + + LOGP(DABIS, LOGL_NOTICE, "A-bis connection establishment to BSC (%s) in progress...\n", bsc_oml_host->addr); + + /* patch in various data from VTY and other sources */ + line_ops.cfg.ipa.addr = bsc_oml_host->addr; + osmo_get_macaddr(bts_dev_info.mac_addr, "eth0"); + bts_dev_info.site_id = bts->ip_access.site_id; + bts_dev_info.bts_id = bts->ip_access.bts_id; + bts_dev_info.unit_name = priv->model_name; + if (bts->description) + bts_dev_info.unit_name = bts->description; + bts_dev_info.location2 = priv->model_name; + + line = e1inp_line_find(priv->line_ctr); + if (line) { + e1inp_line_get2(line, __FILE__); /* We want a new reference for returned line */ + } else + line = e1inp_line_create(priv->line_ctr, "ipa"); /* already comes with a reference */ + + /* The abis connection may fail and we may have to try again with a different BSC (if configured). The next + * attempt must happen on a different line. */ + priv->line_ctr++; + + if (!line) { + osmo_fsm_inst_state_chg(fi, ABIS_LINK_ST_FAILED, 0, 0); + return; + } + e1inp_line_bind_ops(line, &line_ops); + + /* This will open the OML connection now */ + if (e1inp_line_update(line) < 0) { + osmo_fsm_inst_state_chg(fi, ABIS_LINK_ST_FAILED, 0, 0); + return; + } + + /* The TCP connection to the BSC is now in progress. */ + osmo_fsm_inst_state_chg(fi, ABIS_LINK_ST_CONNECTED, 0, 0); +} + +static void abis_link_failed_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) +{ + struct abis_link_fsm_priv *priv = fi->priv; + struct gsm_bts *bts = priv->bts; + + /* None of the configured BSCs was reachable or there was an existing + * OML/RSL connection that beoke. Initiate BTS process shut down now. */ + bts_model_abis_close(bts); +} + +static void abis_link_allstate(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct abis_link_fsm_priv *priv = fi->priv; + struct gsm_bts *bts = priv->bts; + + if (event != ABIS_LINK_EV_VTY_RM_ADDR) + return; + + if (priv->bsc_oml_host == data) { + if (llist_count(&bts->bsc_oml_hosts) <= 1) + priv->bsc_oml_host = NULL; + else if (priv->bsc_oml_host == llist_last(&bts->bsc_oml_hosts)) + priv->bsc_oml_host = priv->bsc_oml_host->prev; + else + priv->bsc_oml_host = priv->bsc_oml_host->next; + } +} + +static struct osmo_fsm_state abis_link_fsm_states[] = { + [ABIS_LINK_ST_CONNECTED] = { + .name = "CONNECTED", + .in_event_mask = + S(ABIS_LINK_EV_SIGN_LINK_DOWN), + .out_state_mask = + S(ABIS_LINK_ST_CONNECTING) | + S(ABIS_LINK_ST_FAILED), + .action = abis_link_connected, + }, + [ABIS_LINK_ST_CONNECTING] = { + .name = "CONNECTING", + .out_state_mask = + S(ABIS_LINK_ST_CONNECTING) | + S(ABIS_LINK_ST_CONNECTED) | + S(ABIS_LINK_ST_FAILED), + .onenter = abis_link_connecting_onenter, + }, + [ABIS_LINK_ST_FAILED] = { + .name = "FAILED", + .onenter = abis_link_failed_onenter, + }, +}; + +static struct osmo_fsm abis_link_fsm = { + .name = "abis_link", + .states = abis_link_fsm_states, + .num_states = ARRAY_SIZE(abis_link_fsm_states), + .log_subsys = DABIS, + .event_names = abis_link_fsm_event_names, + .allstate_action = abis_link_allstate, + .allstate_event_mask = S(ABIS_LINK_EV_VTY_RM_ADDR), +}; + int abis_oml_sendmsg(struct msgb *msg) { struct gsm_bts *bts = msg->trx->bts; @@ -144,41 +344,8 @@ static void sign_link_down(struct e1inp_line *line) { - struct gsm_bts_trx *trx; LOGPIL(line, DABIS, LOGL_ERROR, "Signalling link down\n"); - - /* First remove the OML signalling link */ - if (g_bts->oml_link) { - struct timespec now; - - e1inp_sign_link_destroy(g_bts->oml_link); - - /* Log a special notice if the OML connection was dropped relatively quickly. */ - if (g_bts->oml_conn_established_timestamp.tv_sec != 0 && clock_gettime(CLOCK_MONOTONIC, &now) == 0 && - g_bts->oml_conn_established_timestamp.tv_sec + OSMO_BTS_OML_CONN_EARLY_DISCONNECT >= now.tv_sec) { - LOGP(DABIS, LOGL_FATAL, "OML link was closed early within %" PRIu64 " seconds. " - "If this situation persists, please check your BTS and BSC configuration files for errors. " - "A common error is a mismatch between unit_id configuration parameters of BTS and BSC.\n", - (uint64_t)(now.tv_sec - g_bts->oml_conn_established_timestamp.tv_sec)); - } - g_bts->oml_link = NULL; - } - memset(&g_bts->oml_conn_established_timestamp, 0, sizeof(g_bts->oml_conn_established_timestamp)); - - if (g_bts->osmo_link) { - e1inp_sign_link_destroy(g_bts->osmo_link); - g_bts->osmo_link = NULL; - } - - /* Then iterate over the RSL signalling links */ - llist_for_each_entry(trx, &g_bts->trx_list, list) { - if (trx->rsl_link) { - e1inp_sign_link_destroy(trx->rsl_link); - trx->rsl_link = NULL; - } - } - - bts_model_abis_close(g_bts); + osmo_fsm_inst_dispatch(g_bts->abis_link_fi, ABIS_LINK_EV_SIGN_LINK_DOWN, NULL); } @@ -277,33 +444,27 @@ osmo_signal_register_handler(SS_L_INPUT, &inp_s_cbfn, bts); } -struct e1inp_line *abis_open(struct gsm_bts *bts, char *dst_host, - char *model_name) +int abis_open(struct gsm_bts *bts, char *model_name) { - struct e1inp_line *line; + struct abis_link_fsm_priv *abis_link_fsm_priv; - /* patch in various data from VTY and other sources */ - line_ops.cfg.ipa.addr = dst_host; - osmo_get_macaddr(bts_dev_info.mac_addr, "eth0"); - bts_dev_info.site_id = bts->ip_access.site_id; - bts_dev_info.bts_id = bts->ip_access.bts_id; - bts_dev_info.unit_name = model_name; - if (bts->description) - bts_dev_info.unit_name = bts->description; - bts_dev_info.location2 = model_name; + if (llist_empty(&bts->bsc_oml_hosts)) { + LOGP(DABIS, LOGL_FATAL, "No BSC configured, cannot start BTS without knowing BSC OML IP\n"); + return -EINVAL; + } - line = e1inp_line_find(0); - if (line) { - e1inp_line_get2(line, __FILE__); /* We want a new reference for returned line */ - } else - line = e1inp_line_create(0, "ipa"); /* already comes with a reference */ - if (!line) - return NULL; - e1inp_line_bind_ops(line, &line_ops); + OSMO_ASSERT(osmo_fsm_register(&abis_link_fsm) == 0); + bts->abis_link_fi = osmo_fsm_inst_alloc(&abis_link_fsm, bts, NULL, LOGL_DEBUG, "abis_link"); + OSMO_ASSERT(bts->abis_link_fi); - /* This will open the OML connection now */ - if (e1inp_line_update(line) < 0) - return NULL; + abis_link_fsm_priv = talloc_zero(bts->abis_link_fi, struct abis_link_fsm_priv); + OSMO_ASSERT(abis_link_fsm_priv); + abis_link_fsm_priv->bsc_oml_host = bts->bsc_oml_hosts.next; + abis_link_fsm_priv->bts = bts; + abis_link_fsm_priv->model_name = model_name; + bts->abis_link_fi->priv = abis_link_fsm_priv; - return line; + osmo_fsm_inst_state_chg_ms(bts->abis_link_fi, ABIS_LINK_ST_CONNECTING, 1, 0); + + return 0; } diff --git a/src/common/bts.c b/src/common/bts.c index 27c7f74..48adf42 100644 --- a/src/common/bts.c +++ b/src/common/bts.c @@ -402,6 +402,7 @@ bts->smscb_queue_hyst = 2; INIT_LLIST_HEAD(&bts->oml_queue); + INIT_LLIST_HEAD(&bts->bsc_oml_hosts); /* register DTX DL FSM */ rc = osmo_fsm_register(&dtx_dl_amr_fsm); diff --git a/src/common/main.c b/src/common/main.c index 0b7d3fb..bc5cf3b 100644 --- a/src/common/main.c +++ b/src/common/main.c @@ -272,7 +272,6 @@ int bts_main(int argc, char **argv) { struct gsm_bts_trx *trx; - struct e1inp_line *line; int rc; /* Track the use of talloc NULL memory contexts */ @@ -397,16 +396,8 @@ signal(SIGUSR2, &signal_handler); osmo_init_ignore_signals(); - if (!g_bts->bsc_oml_host) { - fprintf(stderr, "Cannot start BTS without knowing BSC OML IP\n"); + if (abis_open(g_bts, "osmo-bts") != 0) exit(1); - } - - line = abis_open(g_bts, g_bts->bsc_oml_host, "osmo-bts"); - if (!line) { - fprintf(stderr, "unable to connect to BSC\n"); - exit(2); - } rc = phy_links_open(); if (rc < 0) { diff --git a/src/common/vty.c b/src/common/vty.c index a7d1e84..fe506a5 100644 --- a/src/common/vty.c +++ b/src/common/vty.c @@ -41,7 +41,7 @@ #include #include #include - +#include #include #include @@ -282,6 +282,7 @@ const struct gsm_bts_trx *trx; const char *sapi_buf; int i; + struct bsc_oml_host *bsc_oml_host; vty_out(vty, "bts %u%s", bts->nr, VTY_NEWLINE); if (bts->description) @@ -291,7 +292,8 @@ vty_out(vty, " auto-band%s", VTY_NEWLINE); vty_out(vty, " ipa unit-id %u %u%s", bts->ip_access.site_id, bts->ip_access.bts_id, VTY_NEWLINE); - vty_out(vty, " oml remote-ip %s%s", bts->bsc_oml_host, VTY_NEWLINE); + llist_for_each_entry(bsc_oml_host, &bts->bsc_oml_hosts, list) + vty_out(vty, " oml remote-ip %s%s", bsc_oml_host->addr, VTY_NEWLINE); vty_out(vty, " rtp jitter-buffer %u", bts->rtp_jitter_buf_ms); if (bts->rtp_jitter_adaptive) vty_out(vty, " adaptive"); @@ -507,11 +509,51 @@ "OML Parameters\n" "OML IP Address\n" "OML IP Address\n") { struct gsm_bts *bts = vty->index; + struct bsc_oml_host *bsc_oml_host; - if (bts->bsc_oml_host) - talloc_free(bts->bsc_oml_host); + /* stop when the address is already in the list */ + llist_for_each_entry(bsc_oml_host, &bts->bsc_oml_hosts, list) { + if (strcmp(argv[0], bsc_oml_host->addr) == 0) { + vty_out(vty, "%% duplicate BSC (A-Bis/OML) ip address configured ('%s')%s", + argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + } - bts->bsc_oml_host = talloc_strdup(bts, argv[0]); + bsc_oml_host = talloc_zero(bts, struct bsc_oml_host); + OSMO_ASSERT(bsc_oml_host); + bsc_oml_host->addr = talloc_strdup(bsc_oml_host, argv[0]); + OSMO_ASSERT(bsc_oml_host->addr); + llist_add_tail(&bsc_oml_host->list, &bts->bsc_oml_hosts); + + return CMD_SUCCESS; +} + +DEFUN(cfg_bts_no_oml_ip, + cfg_bts_no_oml_ip_cmd, + "no oml remote-ip A.B.C.D", + NO_STR "OML Parameters\n" "OML IP Address\n" "OML IP Address\n") +{ + struct gsm_bts *bts = vty->index; + struct bsc_oml_host *bsc_oml_host; + struct bsc_oml_host *bsc_oml_host_del = NULL; + + llist_for_each_entry(bsc_oml_host, &bts->bsc_oml_hosts, list) { + if (strcmp(argv[0], bsc_oml_host->addr) == 0) + bsc_oml_host_del = bsc_oml_host; + } + + if (bsc_oml_host_del) { + if (bts->abis_link_fi) { + osmo_fsm_inst_dispatch(bts->abis_link_fi, ABIS_LINK_EV_VTY_RM_ADDR, bsc_oml_host_del); + llist_del(&bsc_oml_host_del->list); + talloc_free(bsc_oml_host_del); + } + } else { + vty_out(vty, "%% no such BSC (A-Bis/OML) ip address configured ('%s')%s", + argv[0], VTY_NEWLINE); + return CMD_WARNING; + } return CMD_SUCCESS; } @@ -2378,6 +2420,7 @@ install_element(CONFIG_NODE, &cfg_vty_telnet_port_cmd); install_element(BTS_NODE, &cfg_bts_unit_id_cmd); install_element(BTS_NODE, &cfg_bts_oml_ip_cmd); + install_element(BTS_NODE, &cfg_bts_no_oml_ip_cmd); 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); diff --git a/src/osmo-bts-omldummy/main.c b/src/osmo-bts-omldummy/main.c index a36e0db..c74af74 100644 --- a/src/osmo-bts-omldummy/main.c +++ b/src/osmo-bts-omldummy/main.c @@ -107,7 +107,7 @@ { struct gsm_bts *bts; struct gsm_bts_trx *trx; - struct e1inp_line *line; + struct bsc_oml_host *bsc_oml_host; int i; parse_cmdline(argc, argv); @@ -144,9 +144,13 @@ //btsb = bts_role_bts(bts); abis_init(bts); - line = abis_open(bts, cmdline.dst_host, "OMLdummy"); - if (!line) - exit(2); + bsc_oml_host = talloc_zero(bts, struct bsc_oml_host); + OSMO_ASSERT(bsc_oml_host); + bsc_oml_host->addr = talloc_strdup(bsc_oml_host, cmdline.dst_host); + OSMO_ASSERT(bsc_oml_host->addr); + llist_add_tail(&bsc_oml_host->list, &bts->bsc_oml_hosts); + if (abis_open(bts, "OMLdummy") != 0) + exit(1); while (1) { osmo_select_main(0); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24513 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I205f68a3a7f35fee4c38a7cfba2b014237df2727 Gerrit-Change-Number: 24513 Gerrit-PatchSet: 11 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter 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 Jul 19 09:55:19 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 19 Jul 2021 09:55:19 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: refactor MGCP request handling In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/24941 to look at the new patch set (#5). Change subject: mgcp_protocol: refactor MGCP request handling ...................................................................... mgcp_protocol: refactor MGCP request handling At the moment the MGCP request handling and message parsing is not clearly separated. The function mgcp_parse_header() in mgcp_msg.c is also responsible for resolving an endpoint. This leads to unclear layer separation. We eventually end up in a situation where we can not execute any request handler without beeing able to resolve an endpoint, however this is necessary if we want to implement wildcarded DLCX resquests. In the current situation a wildcarded DLCX is not possible to implement as we always have to resolve a an to get to the trunk which we need to iterate. However, we just can't resolve a free endpoint in a situation where all endpoints on te trunk are in use. We have to refactor the request handler so that the parsing in mgcp_msg only extracts us the endpoint name. The resolving is then done in mgcp_handle_message() in mgcp_protocol.c. Then we are able to decide what to do if we are unable to resolve an endpoint but still be able to resolve the trunk. This patch does not change the behaviour of osmo-mgw yet, but it lays the foundation for request handler implementations that can still perform useful actions if no endpoint but a trunk has been resolved. A wilcarded DLCX is such a case. It does not need an endpoint, just the trunk. Change-Id: I9f519d8a0ee8a513fa1e74acf3ee7dbc0991cdde Related: SYS#5535 --- M include/osmocom/mgcp/mgcp_protocol.h M src/libosmo-mgcp/mgcp_msg.c M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_sdp.c 4 files changed, 187 insertions(+), 132 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/41/24941/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24941 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I9f519d8a0ee8a513fa1e74acf3ee7dbc0991cdde Gerrit-Change-Number: 24941 Gerrit-PatchSet: 5 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 Jul 19 10:01:37 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 19 Jul 2021 10:01:37 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: add stats items to monitor trunk usage In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24942 ) Change subject: mgcp_ratectr: add stats items to monitor trunk usage ...................................................................... Patch Set 5: (3 comments) thanks for the review comments. I really think we should do something about the trunk_nr: #define LOGPTRUNK(trunk, cat, level, fmt, args...) \ LOGP(cat, level, "trunk:%u " fmt, \ <============ %u (!) trunk ? trunk->trunk_nr : 0, \ ## args) https://gerrit.osmocom.org/c/osmo-mgw/+/24942/4/src/libosmo-mgcp/mgcp_endp.c File src/libosmo-mgcp/mgcp_endp.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24942/4/src/libosmo-mgcp/mgcp_endp.c at 138 PS4, Line 138: if (endp->trunk->stats.common) { > can this be null? does it make sense that it's null? There is a problem with the unit-tests. They do not allocate the trunks really, they just create a variable with some endpoints in it, which are also variables. If I don't check, it crashes. https://gerrit.osmocom.org/c/osmo-mgw/+/24942/4/src/libosmo-mgcp/mgcp_ratectr.c File src/libosmo-mgcp/mgcp_ratectr.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24942/4/src/libosmo-mgcp/mgcp_ratectr.c at 257 PS4, Line 257: "Number of endpoints that exist on the trunk", > string not aligned to above line Done https://gerrit.osmocom.org/c/osmo-mgw/+/24942/4/src/libosmo-mgcp/mgcp_ratectr.c at 285 PS4, Line 285: snprintf(stat_name, sizeof(stat_name), "%s-%d:common", mgcp_trunk_type_strs_str(trunk->trunk_type), > is trunk_nr an int? I also don't understand why, I should check this back and refactor it too (if possible) - but it would be easier if we could do this in a follow up patch. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24942 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib7b654168dc3512f55e45cc4755dc1f6f423d023 Gerrit-Change-Number: 24942 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 19 Jul 2021 10:01: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 Jul 19 10:49:31 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 19 Jul 2021 10:49:31 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: refactor MGCP request handling In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24941 ) Change subject: mgcp_protocol: refactor MGCP request handling ...................................................................... Patch Set 5: Code-Review+1 You changed the log line to avoid saying "fail" in the log line, but my wonder was more in the direction of why are we logging a NOTICE level log line for a scenario which is expected when a wildcarded DLCX is received. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24941 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I9f519d8a0ee8a513fa1e74acf3ee7dbc0991cdde Gerrit-Change-Number: 24941 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 19 Jul 2021 10:49:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 19 10:51:53 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 19 Jul 2021 10:51:53 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: add stats items to monitor trunk usage In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24942 ) Change subject: mgcp_ratectr: add stats items to monitor trunk usage ...................................................................... Patch Set 5: (2 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/24942/4/src/libosmo-mgcp/mgcp_endp.c File src/libosmo-mgcp/mgcp_endp.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24942/4/src/libosmo-mgcp/mgcp_endp.c at 138 PS4, Line 138: if (endp->trunk->stats.common) { > There is a problem with the unit-tests. [?] Then I'd fix the unit tests to do proper stuff instead of adding specific code paths for unit tests like here. https://gerrit.osmocom.org/c/osmo-mgw/+/24942/4/src/libosmo-mgcp/mgcp_ratectr.c File src/libosmo-mgcp/mgcp_ratectr.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24942/4/src/libosmo-mgcp/mgcp_ratectr.c at 285 PS4, Line 285: snprintf(stat_name, sizeof(stat_name), "%s-%d:common", mgcp_trunk_type_strs_str(trunk->trunk_type), > I also don't understand why, I should check this back and refactor it too (if possible) - but it wou [?] sure no problem, I was just asking to make sure it was not already a unsigned int. Even if it's an int it may make more sense to put it as a %u in case at a later stage you move it to be unsigned, so that you then don't forget to change %d->%u here. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24942 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib7b654168dc3512f55e45cc4755dc1f6f423d023 Gerrit-Change-Number: 24942 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 19 Jul 2021 10:51:53 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: dexter Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 19 11:54:03 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 19 Jul 2021 11:54:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: fix osmo-stp.cfg for Iu tests References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24959 ) Change subject: msc: fix osmo-stp.cfg for Iu tests ...................................................................... msc: fix osmo-stp.cfg for Iu tests Change-Id: I102eb75f4b7ce46180fd45dd6548751e28a7f829 --- M msc/osmo-stp.cfg 1 file changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/59/24959/1 diff --git a/msc/osmo-stp.cfg b/msc/osmo-stp.cfg index fd18907..101b525 100644 --- a/msc/osmo-stp.cfg +++ b/msc/osmo-stp.cfg @@ -42,9 +42,16 @@ as virt-bsc1 m3ua asp virt-bsc1-0 routing-key 1 0.24.2 + asp virt-rnc0-0 23908 2905 m3ua + local-ip 127.0.0.1 + remote-ip 127.0.0.1 + as virt-rnc0 m3ua + asp virt-rnc0-0 + routing-key 2 0.24.3 route-table system update route 0.24.1 7.255.7 linkset virt-bsc0 update route 0.24.2 7.255.7 linkset virt-bsc1 + update route 0.24.3 7.255.7 linkset virt-rnc0 listen m3ua 2905 accept-asp-connections dynamic-permitted listen ipa 5000 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24959 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I102eb75f4b7ce46180fd45dd6548751e28a7f829 Gerrit-Change-Number: 24959 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 Jul 19 11:54:22 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 19 Jul 2021 11:54:22 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: adjust routing-key to docker-playground's osmo-msc.cfg References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24960 ) Change subject: msc: adjust routing-key to docker-playground's osmo-msc.cfg ...................................................................... msc: adjust routing-key to docker-playground's osmo-msc.cfg Change-Id: I1fed051e933e7d9ee6da21b65b730b1b1846705a --- M msc/osmo-msc.cfg 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/60/24960/1 diff --git a/msc/osmo-msc.cfg b/msc/osmo-msc.cfg index 6db0cd3..61b146e 100644 --- a/msc/osmo-msc.cfg +++ b/msc/osmo-msc.cfg @@ -55,7 +55,7 @@ remote-ip 127.0.0.1 as as-clnt-OsmoMSC-A m3ua asp asp-clnt-OsmoMSC-A - routing-key 2 0.23.1 + routing-key 3 0.23.1 network network country code 262 mobile network code 42 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24960 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1fed051e933e7d9ee6da21b65b730b1b1846705a Gerrit-Change-Number: 24960 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 Jul 19 12:10:40 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Mon, 19 Jul 2021 12:10:40 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy_peer: Free a cell as soon as no BSS BVC uses it In-Reply-To: References: Message-ID: daniel has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24956 ) Change subject: gbproxy_peer: Free a cell as soon as no BSS BVC uses it ...................................................................... gbproxy_peer: Free a cell as soon as no BSS BVC uses it This patch adds gbproxy_cell_cleanup_bvc() which removes the bvc pointer to the cell. If the BSS BVC of this cell is removed it frees the whole cell (removing all the SGSN BVC pointers to the cell). The SGSN-side BVCs are blocked at this point and will only be reestablished if this BVC is reset again from the BSS. Before this patch cells were never freed and might accumulate over time. They would only be reused if the bvci matched that of a previous cell. Related: OS#4960 Change-Id: Ib874cbebcea58fa4bf15e1ff40fe11601573e531 --- M include/osmocom/gbproxy/gb_proxy.h M src/gb_proxy_peer.c 2 files changed, 18 insertions(+), 15 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/gbproxy/gb_proxy.h b/include/osmocom/gbproxy/gb_proxy.h index 76a7d31..1e73a1d 100644 --- a/include/osmocom/gbproxy/gb_proxy.h +++ b/include/osmocom/gbproxy/gb_proxy.h @@ -288,6 +288,7 @@ struct gbproxy_cell *gbproxy_cell_by_cellid(struct gbproxy_config *cfg, const struct gprs_ra_id *raid, uint16_t cid); void gbproxy_cell_free(struct gbproxy_cell *cell); bool gbproxy_cell_add_sgsn_bvc(struct gbproxy_cell *cell, struct gbproxy_bvc *bvc); +void gbproxy_cell_cleanup_bvc(struct gbproxy_cell *cell, struct gbproxy_bvc *bvc); /* NSE handling */ struct gbproxy_nse *gbproxy_nse_alloc(struct gbproxy_config *cfg, uint16_t nsei, bool sgsn_facing); diff --git a/src/gb_proxy_peer.c b/src/gb_proxy_peer.c index 4eb427b..abbfa50 100644 --- a/src/gb_proxy_peer.c +++ b/src/gb_proxy_peer.c @@ -103,8 +103,6 @@ void gbproxy_bvc_free(struct gbproxy_bvc *bvc) { - struct gbproxy_cell *cell; - if (!bvc) return; @@ -117,21 +115,10 @@ osmo_fsm_inst_free(bvc->fi); - cell = bvc->cell; - if (cell) { - int i; - - if (cell->bss_bvc == bvc) - cell->bss_bvc = NULL; - - /* we could also be a SGSN-side BVC */ - for (i = 0; i < ARRAY_SIZE(cell->sgsn_bvc); i++) { - if (cell->sgsn_bvc[i] == bvc) - cell->sgsn_bvc[i] = NULL; - } + if (bvc->cell) { + gbproxy_cell_cleanup_bvc(bvc->cell, bvc); bvc->cell = NULL; } - talloc_free(bvc); } @@ -214,6 +201,21 @@ return NULL; } +void gbproxy_cell_cleanup_bvc(struct gbproxy_cell *cell, struct gbproxy_bvc *bvc) +{ + int i; + + if (cell->bss_bvc == bvc) + return gbproxy_cell_free(cell); + + /* we could also be a SGSN-side BVC */ + for (i = 0; i < ARRAY_SIZE(cell->sgsn_bvc); i++) { + if (cell->sgsn_bvc[i] == bvc) + cell->sgsn_bvc[i] = NULL; + } + +} + void gbproxy_cell_free(struct gbproxy_cell *cell) { unsigned int i; -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24956 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: Ib874cbebcea58fa4bf15e1ff40fe11601573e531 Gerrit-Change-Number: 24956 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 19 12:14:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 19 Jul 2021 12:14:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: adjust routing-key to docker-playground's osmo-msc.cfg In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24960 ) Change subject: msc: adjust routing-key to docker-playground's osmo-msc.cfg ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24960 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1fed051e933e7d9ee6da21b65b730b1b1846705a Gerrit-Change-Number: 24960 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 19 Jul 2021 12:14: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 Jul 19 12:14:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 19 Jul 2021 12:14:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: fix osmo-stp.cfg for Iu tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24959 ) Change subject: msc: fix osmo-stp.cfg for Iu tests ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24959 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I102eb75f4b7ce46180fd45dd6548751e28a7f829 Gerrit-Change-Number: 24959 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 19 Jul 2021 12:14:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 19 12:33:28 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 19 Jul 2021 12:33:28 +0000 Subject: Change in osmo-ci[master]: lint: checkpatch.pl: no spaces required for tdef References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/24961 ) Change subject: lint: checkpatch.pl: no spaces required for tdef ...................................................................... lint: checkpatch.pl: no spaces required for tdef Don't require spaces around equals sign for tdef entries. Related: OS#5087 Change-Id: I1f0b9ed5bd49ef9b5ab0e347b9260e71df34ff9c --- M lint/checkpatch/checkpatch.pl 1 file changed, 27 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/61/24961/1 diff --git a/lint/checkpatch/checkpatch.pl b/lint/checkpatch/checkpatch.pl index ca074a7..0b9e334 100755 --- a/lint/checkpatch/checkpatch.pl +++ b/lint/checkpatch/checkpatch.pl @@ -5170,6 +5170,33 @@ } } + # Osmocom specific: do not require spaces + # around the equals sign (=) inside + # struct osmo_tdef entries. (Assuming this is + # the case if the line contains '.T='.) + # + # Usually: + # struct osmo_tdef global_T_defs[] = { + # { .T=7, .default_val=50, .desc="Water Boiling Timeout" }, + # { .T=8, .default_val=300, .desc="Tea brewing" }, + # { .T=9, .default_val=5, .unit=OSMO_TDEF_M, .desc="Let tea cool down before drinking" }, + # { .T=10, .default_val=20, .unit=OSMO_TDEF_M, .desc="Forgot to drink tea while it's warm" }, + # {} + # }; + # + # Another example: + # struct osmo_tdef fr_tdefs[] = { + # { + # .T=391, // <- only here no spaces around "=" + # .default_val = 10, + # .min_val = 5, + # .max_val = 30, + # .desc = "Link integrity verification polling timer", + # .unit = OSMO_TDEF_S, + # }, ... + } elsif ($opline =~ /\.T=/) { + # pass + # All the others need spaces both sides. } elsif ($ctx !~ /[EWC]x[CWE]/) { my $ok = 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24961 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I1f0b9ed5bd49ef9b5ab0e347b9260e71df34ff9c Gerrit-Change-Number: 24961 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 Jul 19 12:33:28 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 19 Jul 2021 12:33:28 +0000 Subject: Change in osmo-ci[master]: lint: exclude kdf, milenage for libosmocore References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/24962 ) Change subject: lint: exclude kdf, milenage for libosmocore ...................................................................... lint: exclude kdf, milenage for libosmocore Imported code that doesn't follow our guidelines (e.g. spaces used instead of tabs). Related: OS#5087 Change-Id: Iccf59d66f35ede9710258faf9d4257584214bb17 --- M lint/checkpatch/checkpatch_osmo.sh 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/62/24962/1 diff --git a/lint/checkpatch/checkpatch_osmo.sh b/lint/checkpatch/checkpatch_osmo.sh index 88f0b2d..e88688a 100755 --- a/lint/checkpatch/checkpatch_osmo.sh +++ b/lint/checkpatch/checkpatch_osmo.sh @@ -4,6 +4,8 @@ # Excluded paths: # * \.(ok|err)$: stdout and stderr of regression tests # * ^lint/checkpatch/: so it does not warn about spelling errors in spelling.txt :) +# * ^src/gsm/kdf/: libosmocore: imported code +# * ^src/gsm/milenage/: libosmocore: imported code # Ignored checks: # * ASSIGN_IN_IF: not followed (e.g. 'if ((u8 = gsup_msg->cause))') @@ -31,6 +33,8 @@ $SCRIPT_DIR/checkpatch.pl \ --exclude '\.(ok|err)$' \ --exclude '^lint/checkpatch/' \ + --exclude '^src/gsm/kdf/' \ + --exclude '^src/gsm/milenage/' \ --ignore ASSIGN_IN_IF \ --ignore AVOID_EXTERNS \ --ignore BLOCK_COMMENT_STYLE \ -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24962 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Iccf59d66f35ede9710258faf9d4257584214bb17 Gerrit-Change-Number: 24962 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 Jul 19 12:38:52 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 19 Jul 2021 12:38:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: adjust routing-key to docker-playground's osmo-msc.cfg In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24960 ) Change subject: msc: adjust routing-key to docker-playground's osmo-msc.cfg ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24960 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1fed051e933e7d9ee6da21b65b730b1b1846705a Gerrit-Change-Number: 24960 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 19 Jul 2021 12:38: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 Jul 19 12:38:58 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 19 Jul 2021 12:38:58 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: fix osmo-stp.cfg for Iu tests In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24959 ) Change subject: msc: fix osmo-stp.cfg for Iu tests ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24959 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I102eb75f4b7ce46180fd45dd6548751e28a7f829 Gerrit-Change-Number: 24959 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 19 Jul 2021 12:38: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 Jul 19 12:39:56 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 19 Jul 2021 12:39:56 +0000 Subject: Change in osmo-ci[master]: lint: checkpatch.pl: no spaces required for tdef In-Reply-To: References: Message-ID: osmith has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-ci/+/24961 ) Change subject: lint: checkpatch.pl: no spaces required for tdef ...................................................................... lint: checkpatch.pl: no spaces required for tdef Don't require spaces around equals sign for tdef entries. Related: OS#5087 Change-Id: I1f0b9ed5bd49ef9b5ab0e347b9260e71df34ff9c --- M lint/checkpatch/checkpatch.pl 1 file changed, 27 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/61/24961/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24961 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I1f0b9ed5bd49ef9b5ab0e347b9260e71df34ff9c Gerrit-Change-Number: 24961 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 19 12:52:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 19 Jul 2021 12:52:08 +0000 Subject: Change in osmo-ci[master]: lint: exclude kdf, milenage for libosmocore In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24962 ) Change subject: lint: exclude kdf, milenage for libosmocore ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24962 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Iccf59d66f35ede9710258faf9d4257584214bb17 Gerrit-Change-Number: 24962 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 19 Jul 2021 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 Mon Jul 19 12:53:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 19 Jul 2021 12:53:42 +0000 Subject: Change in osmo-ci[master]: lint: checkpatch.pl: no spaces required for tdef In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24961 ) Change subject: lint: checkpatch.pl: no spaces required for tdef ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24961 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I1f0b9ed5bd49ef9b5ab0e347b9260e71df34ff9c Gerrit-Change-Number: 24961 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 19 Jul 2021 12:53:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 19 13:05:08 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 19 Jul 2021 13:05:08 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: refactor MGCP request handling In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24941 ) Change subject: mgcp_protocol: refactor MGCP request handling ...................................................................... Patch Set 5: (1 comment) > Patch Set 5: Code-Review+1 > > You changed the log line to avoid saying "fail" in the log line, but my wonder was more in the direction of why are we logging a NOTICE level log line for a scenario which is expected when a wildcarded DLCX is received. I have put the log level to notice because the line appears only when the all trunk resources are in use, which is already a problem but until that point we can not say if we are able to execute the request handler properly. Wildcarded DLCX is at the moment the only situation that would turn out well. Normally a wildcarded request will always get an endpoint, it will be always the next endpoint that is free. When all trunk resources are in use, we will get a trunk only. https://gerrit.osmocom.org/c/osmo-mgw/+/24941/4/src/libosmo-mgcp/mgcp_protocol.c File src/libosmo-mgcp/mgcp_protocol.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24941/4/src/libosmo-mgcp/mgcp_protocol.c at 374 PS4, Line 374: LOGP(DLMGCP, LOGL_NOTICE, > I still don't get why printing a failure here, if it's actually accepted to receive no endpoint, for [?] Maybe "cannot find endpoint" sounds better here. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24941 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I9f519d8a0ee8a513fa1e74acf3ee7dbc0991cdde Gerrit-Change-Number: 24941 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 19 Jul 2021 13:05:08 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 19 13:06:19 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 19 Jul 2021 13:06:19 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: add stats items to monitor trunk usage In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24942 ) Change subject: mgcp_ratectr: add stats items to monitor trunk usage ...................................................................... Patch Set 5: (2 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/24942/4/src/libosmo-mgcp/mgcp_endp.c File src/libosmo-mgcp/mgcp_endp.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24942/4/src/libosmo-mgcp/mgcp_endp.c at 138 PS4, Line 138: if (endp->trunk->stats.common) { > Then I'd fix the unit tests to do proper stuff instead of adding specific code paths for unit tests [?] Done https://gerrit.osmocom.org/c/osmo-mgw/+/24942/4/src/libosmo-mgcp/mgcp_ratectr.c File src/libosmo-mgcp/mgcp_ratectr.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24942/4/src/libosmo-mgcp/mgcp_ratectr.c at 285 PS4, Line 285: snprintf(stat_name, sizeof(stat_name), "%s-%d:common", mgcp_trunk_type_strs_str(trunk->trunk_type), > sure no problem, I was just asking to make sure it was not already a unsigned int. [?] I have fixed it now with a patch before this one. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24942 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib7b654168dc3512f55e45cc4755dc1f6f423d023 Gerrit-Change-Number: 24942 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 19 Jul 2021 13:06:19 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: dexter Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 19 13:08:54 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 19 Jul 2021 13:08:54 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: add stats items to monitor trunk usage 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/+/24942 to look at the new patch set (#6). Change subject: mgcp_ratectr: add stats items to monitor trunk usage ...................................................................... mgcp_ratectr: add stats items to monitor trunk usage We are currently counting events in rate counters, but there is currently no way to get a sample of the current situation of the trunk usage. In particular how many endpoints are currently in use. Change-Id: Ib7b654168dc3512f55e45cc4755dc1f6f423d023 Related: SYS#5535 --- M include/osmocom/mgcp/mgcp_ratectr.h M include/osmocom/mgcp/mgcp_trunk.h M src/libosmo-mgcp/mgcp_endp.c M src/libosmo-mgcp/mgcp_ratectr.c M src/libosmo-mgcp/mgcp_trunk.c M tests/mgcp/mgcp_test.c 6 files changed, 93 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/42/24942/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24942 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib7b654168dc3512f55e45cc4755dc1f6f423d023 Gerrit-Change-Number: 24942 Gerrit-PatchSet: 6 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 Mon Jul 19 13:08:54 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 19 Jul 2021 13:08:54 +0000 Subject: Change in osmo-mgw[master]: mgcp_trunk: use unsigned int instead of int as trunk_nr References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24963 ) Change subject: mgcp_trunk: use unsigned int instead of int as trunk_nr ...................................................................... mgcp_trunk: use unsigned int instead of int as trunk_nr the trunk_nr is in struct mgcp_trunk. The trunk number can not be negative and there is no magic value that makes use of the fact that it could be negative. Lets use unsigned int to make this less irretating. Change-Id: I5d0e1d76adb8c92d84331a0aca2496908e41d621 --- M include/osmocom/mgcp/mgcp_trunk.h M src/libosmo-mgcp/mgcp_endp.c M src/libosmo-mgcp/mgcp_ratectr.c M src/libosmo-mgcp/mgcp_trunk.c M src/libosmo-mgcp/mgcp_vty.c M src/osmo-mgw/mgw_main.c M tests/mgcp/mgcp_test.c 7 files changed, 63 insertions(+), 52 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/63/24963/1 diff --git a/include/osmocom/mgcp/mgcp_trunk.h b/include/osmocom/mgcp/mgcp_trunk.h index 326b16a..048ac5b 100644 --- a/include/osmocom/mgcp/mgcp_trunk.h +++ b/include/osmocom/mgcp/mgcp_trunk.h @@ -22,7 +22,7 @@ struct mgcp_config *cfg; - int trunk_nr; + unsigned int trunk_nr; enum mgcp_trunk_type trunk_type; char *audio_fmtp_extra; @@ -72,11 +72,11 @@ }; }; -struct mgcp_trunk *mgcp_trunk_alloc(struct mgcp_config *cfg, enum mgcp_trunk_type ttype, int nr); +struct mgcp_trunk *mgcp_trunk_alloc(struct mgcp_config *cfg, enum mgcp_trunk_type ttype, unsigned int nr); int mgcp_trunk_equip(struct mgcp_trunk *trunk); -struct mgcp_trunk *mgcp_trunk_by_num(const struct mgcp_config *cfg, enum mgcp_trunk_type ttype, int nr); +struct mgcp_trunk *mgcp_trunk_by_num(const struct mgcp_config *cfg, enum mgcp_trunk_type ttype, unsigned int nr); struct mgcp_trunk *mgcp_trunk_by_name(const struct mgcp_config *cfg, const char *epname); -int e1_trunk_nr_from_epname(const char *epname); +int e1_trunk_nr_from_epname(unsigned int *trunk_nr, const char *epname); struct mgcp_trunk *mgcp_trunk_by_line_num(const struct mgcp_config *cfg, unsigned int num); /* The virtual trunk is always created on trunk id 0 for historical reasons, diff --git a/src/libosmo-mgcp/mgcp_endp.c b/src/libosmo-mgcp/mgcp_endp.c index ddfd6cf..ae376b0 100644 --- a/src/libosmo-mgcp/mgcp_endp.c +++ b/src/libosmo-mgcp/mgcp_endp.c @@ -58,7 +58,7 @@ } /* Generate E1 endpoint name from given numeric parameters */ -static char *gen_e1_epname(void *ctx, const char *domain, uint8_t trunk_nr, +static char *gen_e1_epname(void *ctx, const char *domain, unsigned int trunk_nr, uint8_t ts_nr, uint8_t ss_nr) { unsigned int rate; diff --git a/src/libosmo-mgcp/mgcp_ratectr.c b/src/libosmo-mgcp/mgcp_ratectr.c index af1526a..1f8b233 100644 --- a/src/libosmo-mgcp/mgcp_ratectr.c +++ b/src/libosmo-mgcp/mgcp_ratectr.c @@ -195,7 +195,7 @@ rate_ctr_group_alloc(trunk, &mgcp_crcx_ctr_group_desc, crcx_rate_ctr_index); if (!ratectr->mgcp_crcx_ctr_group) return -EINVAL; - snprintf(ctr_name, sizeof(ctr_name), "%s-%d:crcx", mgcp_trunk_type_strs_str(trunk->trunk_type), + snprintf(ctr_name, sizeof(ctr_name), "%s-%u:crcx", mgcp_trunk_type_strs_str(trunk->trunk_type), trunk->trunk_nr); rate_ctr_group_set_name(ratectr->mgcp_crcx_ctr_group, ctr_name); talloc_set_destructor(ratectr->mgcp_crcx_ctr_group, free_rate_counter_group); @@ -206,7 +206,7 @@ rate_ctr_group_alloc(trunk, &mgcp_mdcx_ctr_group_desc, mdcx_rate_ctr_index); if (!ratectr->mgcp_mdcx_ctr_group) return -EINVAL; - snprintf(ctr_name, sizeof(ctr_name), "%s-%d:mdcx", mgcp_trunk_type_strs_str(trunk->trunk_type), + snprintf(ctr_name, sizeof(ctr_name), "%s-%u:mdcx", mgcp_trunk_type_strs_str(trunk->trunk_type), trunk->trunk_nr); rate_ctr_group_set_name(ratectr->mgcp_mdcx_ctr_group, ctr_name); talloc_set_destructor(ratectr->mgcp_mdcx_ctr_group, free_rate_counter_group); @@ -217,7 +217,7 @@ rate_ctr_group_alloc(trunk, &mgcp_dlcx_ctr_group_desc, dlcx_rate_ctr_index); if (!ratectr->mgcp_dlcx_ctr_group) return -EINVAL; - snprintf(ctr_name, sizeof(ctr_name), "%s-%d:dlcx", mgcp_trunk_type_strs_str(trunk->trunk_type), + snprintf(ctr_name, sizeof(ctr_name), "%s-%u:dlcx", mgcp_trunk_type_strs_str(trunk->trunk_type), trunk->trunk_nr); rate_ctr_group_set_name(ratectr->mgcp_dlcx_ctr_group, ctr_name); talloc_set_destructor(ratectr->mgcp_dlcx_ctr_group, free_rate_counter_group); @@ -228,7 +228,7 @@ all_rtp_conn_rate_ctr_index); if (!ratectr->all_rtp_conn_stats) return -EINVAL; - snprintf(ctr_name, sizeof(ctr_name), "%s-%d:rtp_conn", mgcp_trunk_type_strs_str(trunk->trunk_type), + snprintf(ctr_name, sizeof(ctr_name), "%s-%u:rtp_conn", mgcp_trunk_type_strs_str(trunk->trunk_type), trunk->trunk_nr); rate_ctr_group_set_name(ratectr->all_rtp_conn_stats, ctr_name); talloc_set_destructor(ratectr->all_rtp_conn_stats, free_rate_counter_group); @@ -240,7 +240,7 @@ ratectr->e1_stats = rate_ctr_group_alloc(trunk, &e1_rate_ctr_group_desc, mdcx_rate_ctr_index); if (!ratectr->e1_stats) return -EINVAL; - snprintf(ctr_name, sizeof(ctr_name), "%s-%d:e1", mgcp_trunk_type_strs_str(trunk->trunk_type), + snprintf(ctr_name, sizeof(ctr_name), "%s-%u:e1", mgcp_trunk_type_strs_str(trunk->trunk_type), trunk->trunk_nr); rate_ctr_group_set_name(ratectr->e1_stats, ctr_name); talloc_set_destructor(ratectr->e1_stats, free_rate_counter_group); diff --git a/src/libosmo-mgcp/mgcp_trunk.c b/src/libosmo-mgcp/mgcp_trunk.c index 08f99b3..c88c0a8 100644 --- a/src/libosmo-mgcp/mgcp_trunk.c +++ b/src/libosmo-mgcp/mgcp_trunk.c @@ -40,7 +40,7 @@ * \param[in] ttype trunk type. * \param[in] nr trunk number. * \returns pointer to allocated trunk, NULL on failure. */ -struct mgcp_trunk *mgcp_trunk_alloc(struct mgcp_config *cfg, enum mgcp_trunk_type ttype, int nr) +struct mgcp_trunk *mgcp_trunk_alloc(struct mgcp_config *cfg, enum mgcp_trunk_type ttype, unsigned int nr) { struct mgcp_trunk *trunk; @@ -171,7 +171,7 @@ * \param[in] ttype trunk type. * \param[in] nr trunk number. * \returns pointer to trunk configuration, NULL on error. */ -struct mgcp_trunk *mgcp_trunk_by_num(const struct mgcp_config *cfg, enum mgcp_trunk_type ttype, int nr) +struct mgcp_trunk *mgcp_trunk_by_num(const struct mgcp_config *cfg, enum mgcp_trunk_type ttype, unsigned int nr) { struct mgcp_trunk *trunk; @@ -184,9 +184,9 @@ } /* Made public for unit-testing, do not use from outside this file */ -int e1_trunk_nr_from_epname(const char *epname) +int e1_trunk_nr_from_epname(unsigned int *trunk_nr, const char *epname) { - unsigned long int trunk_nr; + unsigned long int trunk_nr_temp; size_t prefix_len; char *str_trunk_nr_end; @@ -195,13 +195,15 @@ return -EINVAL; errno = 0; - trunk_nr = strtoul(epname + prefix_len, &str_trunk_nr_end, 10); - if (errno == ERANGE || trunk_nr > 64 + trunk_nr_temp = strtoul(epname + prefix_len, &str_trunk_nr_end, 10); + if (errno == ERANGE || trunk_nr_temp > 64 || epname + prefix_len == str_trunk_nr_end || str_trunk_nr_end[0] != '/') return -EINVAL; - else - return trunk_nr; + else { + *trunk_nr = (unsigned int)trunk_nr_temp; + return 0; + } } /*! Find a trunk by the trunk prefix in the endpoint name. @@ -212,7 +214,8 @@ { size_t prefix_len; char epname_lc[MGCP_ENDPOINT_MAXLEN]; - int trunk_nr; + unsigned int trunk_nr; + int rc; osmo_str_tolower_buf(epname_lc, sizeof(epname_lc), epname); epname = epname_lc; @@ -222,8 +225,8 @@ return mgcp_trunk_by_num(cfg, MGCP_TRUNK_VIRTUAL, MGCP_VIRT_TRUNK_ID); } - trunk_nr = e1_trunk_nr_from_epname(epname); - if (trunk_nr >= 0) + rc = e1_trunk_nr_from_epname(&trunk_nr, epname); + if (rc == 0) return mgcp_trunk_by_num(cfg, MGCP_TRUNK_E1, trunk_nr); /* Earlier versions of osmo-mgw were accepting endpoint names diff --git a/src/libosmo-mgcp/mgcp_vty.c b/src/libosmo-mgcp/mgcp_vty.c index 369c1c1..6bc09d0 100644 --- a/src/libosmo-mgcp/mgcp_vty.c +++ b/src/libosmo-mgcp/mgcp_vty.c @@ -200,11 +200,11 @@ } static void dump_endpoint(struct vty *vty, struct mgcp_endpoint *endp, - int trunk_nr, enum mgcp_trunk_type trunk_type, int show_stats) + unsigned int trunk_nr, enum mgcp_trunk_type trunk_type, int show_stats) { struct mgcp_conn *conn; - vty_out(vty, "%s trunk %d endpoint %s:%s", + vty_out(vty, "%s trunk %u endpoint %s:%s", trunk_type == MGCP_TRUNK_VIRTUAL ? "Virtual" : "E1", trunk_nr, endp->name, VTY_NEWLINE); vty_out(vty, " Availability: %s%s", mgcp_endp_avail(endp) ? "available" : "not in service", VTY_NEWLINE); @@ -382,7 +382,7 @@ /* If a trunk is given, search on that specific trunk only */ endp = mgcp_endp_by_name_trunk(NULL, epname, trunk); if (!endp) { - vty_out(vty, "endpoint %s not configured on trunk %d%s", epname, trunk->trunk_nr, VTY_NEWLINE); + vty_out(vty, "endpoint %s not configured on trunk %u%s", epname, trunk->trunk_nr, VTY_NEWLINE); return; } } else { @@ -963,7 +963,7 @@ "trunk <0-64>", "Configure a SS7 trunk\n" "Trunk Nr\n") { struct mgcp_trunk *trunk; - int index = atoi(argv[0]); + unsigned int index = atoi(argv[0]); trunk = mgcp_trunk_by_num(g_cfg, MGCP_TRUNK_E1, index); if (!trunk) { @@ -995,7 +995,7 @@ && trunk->trunk_nr == MGCP_VIRT_TRUNK_ID) continue; - vty_out(vty, " trunk %d%s", trunk->trunk_nr, VTY_NEWLINE); + vty_out(vty, " trunk %u%s", trunk->trunk_nr, VTY_NEWLINE); vty_out(vty, " line %u%s", trunk->e1.vty_line_nr, VTY_NEWLINE); vty_out(vty, " %ssdp audio-payload send-ptime%s", trunk->audio_send_ptime ? "" : "no ", VTY_NEWLINE); @@ -1335,7 +1335,7 @@ } if (!trunk->endpoints) { - vty_out(vty, "%%Trunk %d has no endpoints allocated.%s", + vty_out(vty, "%%Trunk %u has no endpoints allocated.%s", trunk->trunk_nr, VTY_NEWLINE); return CMD_WARNING; } @@ -1396,7 +1396,7 @@ } if (!trunk->endpoints) { - vty_out(vty, "%%Trunk %d has no endpoints allocated.%s", + vty_out(vty, "%%Trunk %u has no endpoints allocated.%s", trunk->trunk_nr, VTY_NEWLINE); return CMD_WARNING; } @@ -1463,7 +1463,7 @@ } if (!trunk->endpoints) { - vty_out(vty, "%%Trunk %d has no endpoints allocated.%s", + vty_out(vty, "%%Trunk %u has no endpoints allocated.%s", trunk->trunk_nr, VTY_NEWLINE); return CMD_WARNING; } @@ -1496,7 +1496,7 @@ } if (!trunk->endpoints) { - vty_out(vty, "%%Trunk %d has no endpoints allocated.%s", + vty_out(vty, "%%Trunk %u has no endpoints allocated.%s", trunk->trunk_nr, VTY_NEWLINE); return CMD_WARNING; } @@ -1756,7 +1756,7 @@ llist_for_each_entry(trunk, &g_cfg->trunks, entry) { if (mgcp_trunk_equip(trunk) != 0) { LOGP(DLMGCP, LOGL_ERROR, - "Failed to initialize trunk %d (%d endpoints)\n", + "Failed to initialize trunk %u (%d endpoints)\n", trunk->trunk_nr, trunk->number_endpoints); return -1; } diff --git a/src/osmo-mgw/mgw_main.c b/src/osmo-mgw/mgw_main.c index 113f691..52a1622 100644 --- a/src/osmo-mgw/mgw_main.c +++ b/src/osmo-mgw/mgw_main.c @@ -235,7 +235,7 @@ /* reset endpoints */ if (reset_endpoints) { LOGP(DLMGCP, LOGL_NOTICE, - "Asked to reset endpoints: %d/%d\n", + "Asked to reset endpoints: %u/%d\n", reset_trunk->trunk_nr, reset_trunk->trunk_type); /* reset flag */ diff --git a/tests/mgcp/mgcp_test.c b/tests/mgcp/mgcp_test.c index 7397f5c..02d54bf 100644 --- a/tests/mgcp/mgcp_test.c +++ b/tests/mgcp/mgcp_test.c @@ -2149,42 +2149,50 @@ void test_e1_trunk_nr_from_epname() { - int trunk_nr; + unsigned int trunk_nr; + int rc; /* Note: e1_trunk_nr_from_epname does not check the text * after the E1 trunk number, after the delimiter * character "/" arbitrary text may follow. */ - trunk_nr = e1_trunk_nr_from_epname("ds/e1-0/s-1/su16-0"); + rc = e1_trunk_nr_from_epname(&trunk_nr, "ds/e1-0/s-1/su16-0"); OSMO_ASSERT(trunk_nr == 0); - trunk_nr = e1_trunk_nr_from_epname("ds/e1-1/s-1/su16-0"); + OSMO_ASSERT(rc == 0); + rc = e1_trunk_nr_from_epname(&trunk_nr, "ds/e1-1/s-1/su16-0"); OSMO_ASSERT(trunk_nr == 1); - trunk_nr = e1_trunk_nr_from_epname("ds/e1-2/s-2/su16-0"); + OSMO_ASSERT(rc == 0); + rc = e1_trunk_nr_from_epname(&trunk_nr, "ds/e1-2/s-2/su16-0"); OSMO_ASSERT(trunk_nr == 2); - trunk_nr = e1_trunk_nr_from_epname("ds/e1-3/s-23/su32-0"); + OSMO_ASSERT(rc == 0); + rc = e1_trunk_nr_from_epname(&trunk_nr, "ds/e1-3/s-23/su32-0"); OSMO_ASSERT(trunk_nr == 3); - trunk_nr = e1_trunk_nr_from_epname("ds/e1-3/xxxxxxx"); + OSMO_ASSERT(rc == 0); + rc = e1_trunk_nr_from_epname(&trunk_nr, "ds/e1-3/xxxxxxx"); OSMO_ASSERT(trunk_nr == 3); - trunk_nr = e1_trunk_nr_from_epname("ds/e1-24/s-1/su16-0"); + OSMO_ASSERT(rc == 0); + rc = e1_trunk_nr_from_epname(&trunk_nr, "ds/e1-24/s-1/su16-0"); OSMO_ASSERT(trunk_nr == 24); - trunk_nr = e1_trunk_nr_from_epname("ds/e1-64/s-1/su16-0"); + OSMO_ASSERT(rc == 0); + rc = e1_trunk_nr_from_epname(&trunk_nr, "ds/e1-64/s-1/su16-0"); OSMO_ASSERT(trunk_nr == 64); + OSMO_ASSERT(rc == 0); /* The following endpoint strings should fail, either the * trunk number exceeds the valid range or the trunk prefix * is wrong. Also when the delimiter character "/" at the * end of the trunk is wrong the parsing should fail. */ - trunk_nr = e1_trunk_nr_from_epname("ds/e1-65/s-1/su16-0"); - OSMO_ASSERT(trunk_nr == -EINVAL); - trunk_nr = e1_trunk_nr_from_epname("ds/e1--1/s-1/su16-0"); - OSMO_ASSERT(trunk_nr == -EINVAL); - trunk_nr = e1_trunk_nr_from_epname("xxxxxx4zyz"); - OSMO_ASSERT(trunk_nr == -EINVAL); - trunk_nr = e1_trunk_nr_from_epname("ds/e1+2/s-1/su16-0"); - OSMO_ASSERT(trunk_nr == -EINVAL); - trunk_nr = e1_trunk_nr_from_epname("ds/e2-24/s-1/su16-0"); - OSMO_ASSERT(trunk_nr == -EINVAL); - trunk_nr = e1_trunk_nr_from_epname("ds/e1-24s-1/su16-0"); - OSMO_ASSERT(trunk_nr == -EINVAL); + rc = e1_trunk_nr_from_epname(&trunk_nr, "ds/e1-65/s-1/su16-0"); + OSMO_ASSERT(rc == -EINVAL); + rc = e1_trunk_nr_from_epname(&trunk_nr, "ds/e1--1/s-1/su16-0"); + OSMO_ASSERT(rc == -EINVAL); + rc = e1_trunk_nr_from_epname(&trunk_nr, "xxxxxx4zyz"); + OSMO_ASSERT(rc == -EINVAL); + rc = e1_trunk_nr_from_epname(&trunk_nr, "ds/e1+2/s-1/su16-0"); + OSMO_ASSERT(rc == -EINVAL); + rc = e1_trunk_nr_from_epname(&trunk_nr, "ds/e2-24/s-1/su16-0"); + OSMO_ASSERT(rc == -EINVAL); + rc = e1_trunk_nr_from_epname(&trunk_nr, "ds/e1-24s-1/su16-0"); + OSMO_ASSERT(rc == -EINVAL); return; } -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24963 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I5d0e1d76adb8c92d84331a0aca2496908e41d621 Gerrit-Change-Number: 24963 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 Jul 19 14:11:06 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Mon, 19 Jul 2021 14:11:06 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy_ctrl: Fix crash in nsvc-state ctrl command References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24964 ) Change subject: gbproxy_ctrl: Fix crash in nsvc-state ctrl command ...................................................................... gbproxy_ctrl: Fix crash in nsvc-state ctrl command ctrl_nsvc_state_cb() expects us to pass a struct nsvc_cb_data so do that instead of passing only the ctrl_cmd. Related: OS#5200, SYS#5542 Change-Id: I8bc67cc9bc90dab9cfca30b062d1d78897aa1e51 --- M src/gb_proxy_ctrl.c 1 file changed, 16 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gbproxy refs/changes/64/24964/1 diff --git a/src/gb_proxy_ctrl.c b/src/gb_proxy_ctrl.c index 35ef81b..99dcbe1 100644 --- a/src/gb_proxy_ctrl.c +++ b/src/gb_proxy_ctrl.c @@ -64,15 +64,27 @@ /* NS-VCs for SGSN */ hash_for_each(cfg->sgsn_nses, i, nse_peer, list) { nse = gprs_ns2_nse_by_nsei(nsi, nse_peer->nsei); - if (nse) - gprs_ns2_nse_foreach_nsvc(nse, &ctrl_nsvc_state_cb, cmd); + if (nse) { + struct nsvc_cb_data cb_data = { + .cmd = cmd, + .nsei = nse_peer->nsei, + .is_sgsn = true, + }; + gprs_ns2_nse_foreach_nsvc(nse, &ctrl_nsvc_state_cb, &cb_data); + } } /* NS-VCs for BSS peers */ hash_for_each(cfg->bss_nses, i, nse_peer, list) { nse = gprs_ns2_nse_by_nsei(nsi, nse_peer->nsei); - if (nse) - gprs_ns2_nse_foreach_nsvc(nse, &ctrl_nsvc_state_cb, cmd); + if (nse) { + struct nsvc_cb_data cb_data = { + .cmd = cmd, + .nsei = nse_peer->nsei, + .is_sgsn = true, + }; + gprs_ns2_nse_foreach_nsvc(nse, &ctrl_nsvc_state_cb, &cb_data); + } } return CTRL_CMD_REPLY; -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24964 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I8bc67cc9bc90dab9cfca30b062d1d78897aa1e51 Gerrit-Change-Number: 24964 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 19 14:11:06 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Mon, 19 Jul 2021 14:11:06 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy_ctrl: Ignore SIG-BVCI in ctrl commands References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24965 ) Change subject: gbproxy_ctrl: Ignore SIG-BVCI in ctrl commands ...................................................................... gbproxy_ctrl: Ignore SIG-BVCI in ctrl commands Both ctrl commands gbproxy-state and number-of-peers should only operate on PtP-BVCs. This patch avoids a crash in gbproxy-state and fixes the count of number-of-peers to only include PtP-BVCs. Related: SYS#5542, OS#5200 Change-Id: Ida5f9ad0a16b991e77eec0e3cdb779dcfa472fab --- M src/gb_proxy_ctrl.c 1 file changed, 7 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gbproxy refs/changes/65/24965/1 diff --git a/src/gb_proxy_ctrl.c b/src/gb_proxy_ctrl.c index 99dcbe1..1d51d22 100644 --- a/src/gb_proxy_ctrl.c +++ b/src/gb_proxy_ctrl.c @@ -103,6 +103,9 @@ hash_for_each(cfg->bss_nses, i, nse_peer, list) { struct gbproxy_bvc *bvc; hash_for_each(nse_peer->bvcs, j, bvc, list) { + if (bvc->bvci == 0) + continue; + struct gprs_ra_id *raid = &bvc->cell->id.raid; cmd->reply = talloc_asprintf_append(cmd->reply, "%u,%u,%u-%u-%u-%u,%s\n", @@ -127,8 +130,11 @@ int i, j; hash_for_each(cfg->bss_nses, i, nse_peer, list) { - hash_for_each(nse_peer->bvcs, j, bvc, list) + hash_for_each(nse_peer->bvcs, j, bvc, list) { + if (bvc->bvci == 0) + continue; count++; + } } cmd->reply = talloc_strdup(cmd, ""); -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24965 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: Ida5f9ad0a16b991e77eec0e3cdb779dcfa472fab Gerrit-Change-Number: 24965 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 19 14:13:16 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 19 Jul 2021 14:13:16 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy_ctrl: Fix crash in nsvc-state ctrl command In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24964 ) Change subject: gbproxy_ctrl: Fix crash in nsvc-state ctrl command ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-gbproxy/+/24964/1/src/gb_proxy_ctrl.c File src/gb_proxy_ctrl.c: https://gerrit.osmocom.org/c/osmo-gbproxy/+/24964/1/src/gb_proxy_ctrl.c at 70 PS1, Line 70: .nsei = nse_peer->nsei, is this correct? or should you use something like nse->nsei? Same below. -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24964 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I8bc67cc9bc90dab9cfca30b062d1d78897aa1e51 Gerrit-Change-Number: 24964 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 19 Jul 2021 14:13: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 Mon Jul 19 14:14:27 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 19 Jul 2021 14:14:27 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy_ctrl: Ignore SIG-BVCI in ctrl commands In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24965 ) Change subject: gbproxy_ctrl: Ignore SIG-BVCI in ctrl commands ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24965 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: Ida5f9ad0a16b991e77eec0e3cdb779dcfa472fab Gerrit-Change-Number: 24965 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 19 Jul 2021 14:14:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 19 14:40:20 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Mon, 19 Jul 2021 14:40:20 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy_ctrl: Fix crash in nsvc-state ctrl command In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24964 ) Change subject: gbproxy_ctrl: Fix crash in nsvc-state ctrl command ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-gbproxy/+/24964/1/src/gb_proxy_ctrl.c File src/gb_proxy_ctrl.c: https://gerrit.osmocom.org/c/osmo-gbproxy/+/24964/1/src/gb_proxy_ctrl.c at 70 PS1, Line 70: .nsei = nse_peer->nsei, > is this correct? or should you use something like nse->nsei? Same below. struct gprs_ns2_nse is not public so I can't access nse->nsei from outside libosmocore. -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24964 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I8bc67cc9bc90dab9cfca30b062d1d78897aa1e51 Gerrit-Change-Number: 24964 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 19 Jul 2021 14:40: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 Mon Jul 19 15:01:46 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 19 Jul 2021 15:01:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: fix osmo-stp.cfg for Iu tests In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24959 ) Change subject: msc: fix osmo-stp.cfg for Iu tests ...................................................................... msc: fix osmo-stp.cfg for Iu tests Change-Id: I102eb75f4b7ce46180fd45dd6548751e28a7f829 --- M msc/osmo-stp.cfg 1 file changed, 7 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/msc/osmo-stp.cfg b/msc/osmo-stp.cfg index fd18907..101b525 100644 --- a/msc/osmo-stp.cfg +++ b/msc/osmo-stp.cfg @@ -42,9 +42,16 @@ as virt-bsc1 m3ua asp virt-bsc1-0 routing-key 1 0.24.2 + asp virt-rnc0-0 23908 2905 m3ua + local-ip 127.0.0.1 + remote-ip 127.0.0.1 + as virt-rnc0 m3ua + asp virt-rnc0-0 + routing-key 2 0.24.3 route-table system update route 0.24.1 7.255.7 linkset virt-bsc0 update route 0.24.2 7.255.7 linkset virt-bsc1 + update route 0.24.3 7.255.7 linkset virt-rnc0 listen m3ua 2905 accept-asp-connections dynamic-permitted listen ipa 5000 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24959 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I102eb75f4b7ce46180fd45dd6548751e28a7f829 Gerrit-Change-Number: 24959 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 19 15:01:47 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 19 Jul 2021 15:01:47 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: adjust routing-key to docker-playground's osmo-msc.cfg In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24960 ) Change subject: msc: adjust routing-key to docker-playground's osmo-msc.cfg ...................................................................... msc: adjust routing-key to docker-playground's osmo-msc.cfg Change-Id: I1fed051e933e7d9ee6da21b65b730b1b1846705a --- M msc/osmo-msc.cfg 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve diff --git a/msc/osmo-msc.cfg b/msc/osmo-msc.cfg index 6db0cd3..61b146e 100644 --- a/msc/osmo-msc.cfg +++ b/msc/osmo-msc.cfg @@ -55,7 +55,7 @@ remote-ip 127.0.0.1 as as-clnt-OsmoMSC-A m3ua asp asp-clnt-OsmoMSC-A - routing-key 2 0.23.1 + routing-key 3 0.23.1 network network country code 262 mobile network code 42 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24960 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1fed051e933e7d9ee6da21b65b730b1b1846705a Gerrit-Change-Number: 24960 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Tue Jul 20 08:37:04 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 20 Jul 2021 08:37:04 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in xUbuntu_21.04/x86_64 In-Reply-To: References: Message-ID: <60f68b3ab5d0d_633b2ab5cf5ac5f8166002b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/xUbuntu_21.04/x86_64 Package network:osmocom:nightly/osmo-mgw failed to build in xUbuntu_21.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 57s] update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode [ 57s] Processing triggers for install-info (6.7.0.dfsg.2-6) ... [ 57s] Processing triggers for man-db (2.9.4-2) ... [ 58s] [384/496] installing libpam-runtime-1.3.1-5ubuntu6 [ 58s] Processing triggers for man-db (2.9.4-2) ... [ 58s] [385/496] installing mime-support-3.66 [ 58s] [386/496] installing python3-minimal-3.9.4-1 [ 58s] Processing triggers for man-db (2.9.4-2) ... [ 58s] [387/496] installing sgmlspl-1.03ii-36 [ 58s] Processing triggers for man-db (2.9.4-2) ... [ 58s] [388/496] installing docbook-xml-4.5-9 [ 59s] Processing triggers for sgml-base (1.30) ... [ 59s] [389/496] installing libtirpc3-1.3.1-1build1 [ 59s] Processing triggers for libc-bin (2.33-0ubuntu5) ... [ 60s] [390/496] installing pkg-config-0.29.2-1ubuntu1 [ 60s] Processing triggers for man-db (2.9.4-2) ... [ 60s] [391/496] installing ubuntu-mono-20.10-0ubuntu1 [ 60s] [392/496] installing bash-5.1-2ubuntu1 [ 60s] 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 [ 60s] Processing triggers for install-info (6.7.0.dfsg.2-6) ... [ 60s] Processing triggers for man-db (2.9.4-2) ... [ 60s] [393/496] installing fontconfig-2.13.1-4.2ubuntu3 [28866s] Regenerating fonts cache... donqemu-kvm: terminating on signal 15 from pid 23843 () Job seems to be stuck here, killed. (after 28800 seconds of inactivity) [28866s] ### VM INTERACTION END ### [28866s] No buildstatus set, either the base system is broken (kernel/initrd/udev/glibc/bash/perl) [28866s] or the build host has a kernel or hardware problem... -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue Jul 20 09:48:21 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 20 Jul 2021 09:48:21 +0000 Subject: Change in osmo-bsc[master]: Add new lchan_select_set_type() API helper In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24949 ) Change subject: Add new lchan_select_set_type() API helper ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24949 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I025a40962a5e5d40543b297a0760e47618fb525c Gerrit-Change-Number: 24949 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Tue, 20 Jul 2021 09:48:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 20 09:48:58 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 20 Jul 2021 09:48:58 +0000 Subject: Change in osmo-bsc[master]: _select_sdcch_for_call: Avoid 2nd lchan lookup when finally selecting it In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24950 ) Change subject: _select_sdcch_for_call: Avoid 2nd lchan lookup when finally selecting it ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24950 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1054c18f58c9e249f263e3e97a365a1fd8b03a93 Gerrit-Change-Number: 24950 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Tue, 20 Jul 2021 09:48:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 20 09:49:57 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 20 Jul 2021 09:49:57 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: Allow rx LCHAN_EV_RLL_REL_IND in state BORKEN In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24955 ) Change subject: lchan_fsm: Allow rx LCHAN_EV_RLL_REL_IND in state BORKEN ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24955 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Idc7796d41f3483c89559746d9a00fdf32bf67c57 Gerrit-Change-Number: 24955 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Tue, 20 Jul 2021 09: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 Tue Jul 20 10:07:04 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 20 Jul 2021 10:07:04 +0000 Subject: Change in osmo-bsc[master]: Add new lchan_select_set_type() API helper In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24949 ) Change subject: Add new lchan_select_set_type() API helper ...................................................................... Add new lchan_select_set_type() API helper It's an easy helper, but it helps in standarizing and finding similar places in code. Morevoer, it will be used in follow-up commit where we first use lchan_avail_by_type and finally we select it in a later stage. Change-Id: I025a40962a5e5d40543b297a0760e47618fb525c --- M include/osmocom/bsc/lchan_select.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/lchan_select.c 3 files changed, 21 insertions(+), 10 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve daniel: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/bsc/lchan_select.h b/include/osmocom/bsc/lchan_select.h index aa2f40e..3bb0d1c 100644 --- a/include/osmocom/bsc/lchan_select.h +++ b/include/osmocom/bsc/lchan_select.h @@ -6,3 +6,4 @@ struct gsm_lchan *lchan_select_by_chan_mode(struct gsm_bts *bts, enum gsm48_chan_mode chan_mode, enum channel_rate chan_rate); struct gsm_lchan *lchan_avail_by_type(struct gsm_bts *bts, enum gsm_chan_t type, bool log); +void lchan_select_set_type(struct gsm_lchan *lchan, enum gsm_chan_t type); diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index d76d02d..9b6fa62 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -6299,7 +6299,7 @@ } /* configure the lchan */ - lchan->type = lchan_t; + lchan_select_set_type(lchan, lchan_t); if (!strcmp(codec_str, "hr") || !strcmp(codec_str, "fr")) { info = (struct lchan_activate_info) { .activ_for = ACTIVATE_FOR_VTY, @@ -6792,9 +6792,9 @@ return CMD_WARNING; } - /* lchan_select_*() sets the lchan->type, we need to do the same here, so that activation will work out. */ - to_lchan->type = chan_mode_to_chan_type(from_lchan->current_ch_mode_rate.chan_mode, - from_lchan->current_ch_mode_rate.chan_rate); + /* Set lchan type, so that activation will work out. */ + lchan_select_set_type(to_lchan, chan_mode_to_chan_type(from_lchan->current_ch_mode_rate.chan_mode, + from_lchan->current_ch_mode_rate.chan_rate)); LOG_LCHAN(from_lchan, LOGL_NOTICE, "VTY requests re-assignment of this lchan to %s%s\n", gsm_lchan_name(to_lchan), to_lchan->vamos.is_secondary ? " (to VAMOS mode)" : ""); diff --git a/src/osmo-bsc/lchan_select.c b/src/osmo-bsc/lchan_select.c index 3618fb4..022d516 100644 --- a/src/osmo-bsc/lchan_select.c +++ b/src/osmo-bsc/lchan_select.c @@ -296,16 +296,26 @@ { struct gsm_lchan *lchan = NULL; - lchan = lchan_avail_by_type(bts, type, true); - LOG_BTS(bts, DRLL, LOGL_DEBUG, "lchan_select_by_type(%s)\n", gsm_lchant_name(type)); - if (lchan) { - lchan->type = type; - LOG_LCHAN(lchan, LOGL_INFO, "Selected\n"); - } else + lchan = lchan_avail_by_type(bts, type, true); + + if (!lchan) { LOG_BTS(bts, DRLL, LOGL_NOTICE, "Failed to select %s channel\n", gsm_lchant_name(type)); + return NULL; + } + lchan_select_set_type(lchan, type); return lchan; } + +/* Set available lchan to given type. Usually used on lchan obtained with + * lchan_avail_by_type. The next logical step is lchan_activate() on it, which + * would possibly cause dynamic timeslot pchan switching, taken care of by the + * lchan and timeslot FSMs. */ +void lchan_select_set_type(struct gsm_lchan *lchan, enum gsm_chan_t type) +{ + lchan->type = type; + LOG_LCHAN(lchan, LOGL_INFO, "Selected\n"); +} -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24949 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I025a40962a5e5d40543b297a0760e47618fb525c Gerrit-Change-Number: 24949 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 20 10:07:04 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 20 Jul 2021 10:07:04 +0000 Subject: Change in osmo-bsc[master]: _select_sdcch_for_call: Avoid 2nd lchan lookup when finally selecting it In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24950 ) Change subject: _select_sdcch_for_call: Avoid 2nd lchan lookup when finally selecting it ...................................................................... _select_sdcch_for_call: Avoid 2nd lchan lookup when finally selecting it We already looked it up, it's not necessary to look it up again by calling lchan_select_by_type(). Let's instead call lchan_select_set_type() directly on the lchan pointer. Related: SYS#5309 Change-Id: I1054c18f58c9e249f263e3e97a365a1fd8b03a93 --- M src/osmo-bsc/abis_rsl.c 1 file changed, 1 insertion(+), 2 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve daniel: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 9b6429d..c84aeda 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1964,8 +1964,7 @@ } select_lchan: - /* FIXME: we already have lchan, simply do lchan->type = GSM_LCHAN_SDCCH? Split lchan_select_by_type in 2 functions? */ - lchan = lchan_select_by_type(bts, GSM_LCHAN_SDCCH); + lchan_select_set_type(lchan, GSM_LCHAN_SDCCH); return lchan; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24950 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1054c18f58c9e249f263e3e97a365a1fd8b03a93 Gerrit-Change-Number: 24950 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 20 10:07:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 20 Jul 2021 10:07:17 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm: Allow rx LCHAN_EV_RLL_REL_IND in state BORKEN In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24955 ) Change subject: lchan_fsm: Allow rx LCHAN_EV_RLL_REL_IND in state BORKEN ...................................................................... lchan_fsm: Allow rx LCHAN_EV_RLL_REL_IND in state BORKEN As seen in osmo-bsc log: DCHAN ERROR abis_rsl.c:2287 lchan(12-0-2-TCH_H-1){BORKEN}: Event LCHAN_EV_RLL_REL_IND not permitted Related: SYS#5523 Change-Id: Idc7796d41f3483c89559746d9a00fdf32bf67c57 --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve daniel: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index c9222c2..aa616d0 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -1458,6 +1458,7 @@ case LCHAN_EV_RTP_RELEASED: case LCHAN_EV_RTP_ERROR: + case LCHAN_EV_RLL_REL_IND: return; default: @@ -1647,6 +1648,7 @@ | S(LCHAN_EV_RSL_RF_CHAN_REL_ACK) | S(LCHAN_EV_RTP_ERROR) | S(LCHAN_EV_RTP_RELEASED) + | S(LCHAN_EV_RLL_REL_IND) , .out_state_mask = 0 | S(LCHAN_ST_WAIT_RF_RELEASE_ACK) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24955 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Idc7796d41f3483c89559746d9a00fdf32bf67c57 Gerrit-Change-Number: 24955 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 20 12:40:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 20 Jul 2021 12:40:08 +0000 Subject: Change in libosmo-abis[master]: osmo_ortp: Fix seqno reset to 0 upon ssrc_changed References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24966 ) Change subject: osmo_ortp: Fix seqno reset to 0 upon ssrc_changed ...................................................................... osmo_ortp: Fix seqno reset to 0 upon ssrc_changed It was spotted in an osmo-mgw instance receiving RTP from osmo-bts 1.2.3 that sometimes the seqno was reset to 0 (while tx_timestamp was kept properly). This seems to be the only possible way osmo-bts can reset the seqno to 0 (calling rtp_session_reset()), since osmo_rtp_socket_create already sets it to other values and inside ortp rtp_session_reset() is the only one setting it to 0. If SSRC changes, we are fine resetting some Rx state, which is done by calling rtp_session_resync. However, calling rtp_session_reset() is too much, since it erases other stuff like Tx state, which sholdn't be affected in this case, since we are still transmitting the same stream. Related: OS#3104 Related: OS#3299 Related: SYS#5498 Fixes: 28eeb6bc9365bbe47125775fcb1f696317c22466 Change-Id: Ic6006b4991c85413b009b70f8f3a6f97c41990ec --- M src/trau/osmo_ortp.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/66/24966/1 diff --git a/src/trau/osmo_ortp.c b/src/trau/osmo_ortp.c index b72f681..011f097 100644 --- a/src/trau/osmo_ortp.c +++ b/src/trau/osmo_ortp.c @@ -142,8 +142,8 @@ uint32_t ssrc = rtp_session_get_recv_ssrc(rs); LOGP(DLMIB, LOGL_INFO, - "osmo-ortp(%d): ssrc_changed to 0x%08x, resetting\n", port, ssrc); - rtp_session_reset(rs); + "osmo-ortp(%d): ssrc_changed to 0x%08x, resyncing\n", port, ssrc); + rtp_session_resync(rs); } static void ortp_sig_cb_pt(RtpSession *rs, void *data) -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24966 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ic6006b4991c85413b009b70f8f3a6f97c41990ec Gerrit-Change-Number: 24966 Gerrit-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 Jul 20 12:42:05 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 20 Jul 2021 12:42:05 +0000 Subject: Change in libosmo-abis[master]: osmo_ortp: Fix seqno reset to 0 upon ssrc_changed In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24966 ) Change subject: osmo_ortp: Fix seqno reset to 0 upon ssrc_changed ...................................................................... Patch Set 1: I don't think we really need to call rtp_session_reset(9 there, but in case we did for some reason, an alternate fix would be something like: """ uint16_t seqno = rtp_session_get_seq_number(rs); rtp_session_reset(rs); rtp_session_set_seq_number(rs, seqno); """ -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24966 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ic6006b4991c85413b009b70f8f3a6f97c41990ec Gerrit-Change-Number: 24966 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 20 Jul 2021 12:42: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 Tue Jul 20 13:44:14 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 20 Jul 2021 13:44:14 +0000 Subject: Change in libosmo-abis[master]: osmo_ortp: Fix seqno reset to 0 upon ssrc_changed In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24966 ) Change subject: osmo_ortp: Fix seqno reset to 0 upon ssrc_changed ...................................................................... Patch Set 1: Code-Review+1 _reset() seems to do quite a bit more than _resync(), but I don't really know what is needed and what not. So as long as the tests still work... +1 for keeping the log message in sync -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24966 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ic6006b4991c85413b009b70f8f3a6f97c41990ec Gerrit-Change-Number: 24966 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 20 Jul 2021 13:44: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 Jul 20 14:40:30 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 20 Jul 2021 14:40:30 +0000 Subject: Change in osmo-mgw[master]: mgcp_trunk: use unsigned int instead of int as trunk_nr 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/+/24963 to look at the new patch set (#2). Change subject: mgcp_trunk: use unsigned int instead of int as trunk_nr ...................................................................... mgcp_trunk: use unsigned int instead of int as trunk_nr the trunk_nr is in struct mgcp_trunk. The trunk number can not be negative and there is no magic value that makes use of the fact that it could be negative. Lets use unsigned int to make this less irretating. Change-Id: I5d0e1d76adb8c92d84331a0aca2496908e41d621 Related: SYS#5535 --- M include/osmocom/mgcp/mgcp_trunk.h M src/libosmo-mgcp/mgcp_endp.c M src/libosmo-mgcp/mgcp_ratectr.c M src/libosmo-mgcp/mgcp_trunk.c M src/libosmo-mgcp/mgcp_vty.c M src/osmo-mgw/mgw_main.c M tests/mgcp/mgcp_test.c 7 files changed, 63 insertions(+), 52 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/63/24963/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24963 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I5d0e1d76adb8c92d84331a0aca2496908e41d621 Gerrit-Change-Number: 24963 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 Jul 20 14:42:14 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 20 Jul 2021 14:42:14 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: refactor MGCP request handling In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/24941 to look at the new patch set (#7). Change subject: mgcp_protocol: refactor MGCP request handling ...................................................................... mgcp_protocol: refactor MGCP request handling At the moment the MGCP request handling and message parsing is not clearly separated. The function mgcp_parse_header() in mgcp_msg.c is also responsible for resolving an endpoint. This leads to unclear layer separation. We eventually end up in a situation where we can not execute any request handler without beeing able to resolve an endpoint, however this is necessary if we want to implement wildcarded DLCX resquests. In the current situation a wildcarded DLCX is not possible to implement as we always have to resolve a an to get to the trunk which we need to iterate. However, we just can't resolve a free endpoint in a situation where all endpoints on te trunk are in use. We have to refactor the request handler so that the parsing in mgcp_msg only extracts us the endpoint name. The resolving is then done in mgcp_handle_message() in mgcp_protocol.c. Then we are able to decide what to do if we are unable to resolve an endpoint but still be able to resolve the trunk. This patch does not change the behaviour of osmo-mgw yet, but it lays the foundation for request handler implementations that can still perform useful actions if no endpoint but a trunk has been resolved. A wilcarded DLCX is such a case. It does not need an endpoint, just the trunk. Change-Id: I9f519d8a0ee8a513fa1e74acf3ee7dbc0991cdde Related: SYS#5535 --- M include/osmocom/mgcp/mgcp_protocol.h M src/libosmo-mgcp/mgcp_msg.c M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_sdp.c 4 files changed, 208 insertions(+), 139 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/41/24941/7 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24941 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I9f519d8a0ee8a513fa1e74acf3ee7dbc0991cdde Gerrit-Change-Number: 24941 Gerrit-PatchSet: 7 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 Jul 20 14:48:07 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 20 Jul 2021 14:48:07 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: refactor MGCP request handling In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24941 ) Change subject: mgcp_protocol: refactor MGCP request handling ...................................................................... Patch Set 7: I have updated this a bit since it did not address an important part yet. The exception that we plan to make for DLCX when to go ahead with the trunk without having an endpoint resolved only makes sense if the request is wildcarded. This should be addressed by the logic that parses the request. This also will make the request handler implementation easier. Please note: the situation adescribed above: no endpoint resolved + wildcarded request will only resolve no endpoint when the trunk resources are exhausted. This is a very rare situation but it poses the risk of a deadlock in a situation where all endpoints are exhausted and the BSC wants to recover from this by restarting along with a wildcarded DLCX. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24941 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I9f519d8a0ee8a513fa1e74acf3ee7dbc0991cdde Gerrit-Change-Number: 24941 Gerrit-PatchSet: 7 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 20 Jul 2021 14:48: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 Tue Jul 20 14:50:34 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 20 Jul 2021 14:50:34 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: refactor MGCP request handling In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/24941 to look at the new patch set (#8). Change subject: mgcp_protocol: refactor MGCP request handling ...................................................................... mgcp_protocol: refactor MGCP request handling At the moment the MGCP request handling and message parsing is not clearly separated. The function mgcp_parse_header() in mgcp_msg.c is also responsible for resolving an endpoint. This leads to unclear layer separation. We eventually end up in a situation where we can not execute any request handler without beeing able to resolve an endpoint, however this is necessary if we want to implement wildcarded DLCX resquests. In the current situation a wildcarded DLCX is not possible to implement as we always have to resolve a an to get to the trunk which we need to iterate. However, we just can't resolve a free endpoint in a situation where all endpoints on te trunk are in use. We have to refactor the request handler so that the parsing in mgcp_msg only extracts us the endpoint name. The resolving is then done in mgcp_handle_message() in mgcp_protocol.c. Then we are able to decide what to do if we are unable to resolve an endpoint but still be able to resolve the trunk. This patch does not change the behaviour of osmo-mgw yet, but it lays the foundation for request handler implementations that can still perform useful actions if no endpoint but a trunk has been resolved. A wilcarded DLCX is such a case. It does not need an endpoint, just the trunk. Change-Id: I9f519d8a0ee8a513fa1e74acf3ee7dbc0991cdde Related: SYS#5535 --- M include/osmocom/mgcp/mgcp_protocol.h M src/libosmo-mgcp/mgcp_msg.c M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_sdp.c 4 files changed, 208 insertions(+), 139 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/41/24941/8 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24941 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I9f519d8a0ee8a513fa1e74acf3ee7dbc0991cdde Gerrit-Change-Number: 24941 Gerrit-PatchSet: 8 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 Jul 20 14:53:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 20 Jul 2021 14:53:06 +0000 Subject: Change in osmo-mgw[master]: mgcp_trunk: use unsigned int instead of int as trunk_nr In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24963 ) Change subject: mgcp_trunk: use unsigned int instead of int as trunk_nr ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24963 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I5d0e1d76adb8c92d84331a0aca2496908e41d621 Gerrit-Change-Number: 24963 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 20 Jul 2021 14:53:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 20 14:53:57 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 20 Jul 2021 14:53:57 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: refactor MGCP request handling In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24941 ) Change subject: mgcp_protocol: refactor MGCP request handling ...................................................................... Patch Set 8: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/24941/8/src/libosmo-mgcp/mgcp_protocol.c File src/libosmo-mgcp/mgcp_protocol.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24941/8/src/libosmo-mgcp/mgcp_protocol.c at 57 PS8, Line 57: /* pointer to endpoint resource (may be null NULL for wildcarded requests) */ null NULL -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24941 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I9f519d8a0ee8a513fa1e74acf3ee7dbc0991cdde Gerrit-Change-Number: 24941 Gerrit-PatchSet: 8 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 20 Jul 2021 14:53: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 Jul 20 14:54:37 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 20 Jul 2021 14:54:37 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Allow disabling dyn TS SDCCH8 tests References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24967 ) Change subject: bsc: Allow disabling dyn TS SDCCH8 tests ...................................................................... bsc: Allow disabling dyn TS SDCCH8 tests With this we'll avoid running the test in latest. This way we'll not fail after changing the TS for the test and hence other tests won't be affected. Related: SYS#5309 Change-Id: Ib956401030e6a97db218823c997c61c335fbd581 --- M bsc/BSC_Tests.ttcn 1 file changed, 10 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/67/24967/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index f562df3..2b11dc9 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -684,6 +684,11 @@ unconditionally once new version of osmo-bsc is released (current version: 1.4.1) */ boolean mp_enable_osmux_test := true; + + /* Whether to enable dyn TS SDCCH8 tests. Can be dropped completely and enable + unconditionally once new version of osmo-bsc is released (current + version: 1.7.0) */ + boolean mp_enable_dyn_sdcch8_test := true; /* Value set in osmo-bsc.cfg "ms max power" */ uint8_t mp_exp_ms_power_level := 7; } @@ -9510,9 +9515,11 @@ execute( TC_dyn_pdch_ipa_act_nack() ); execute( TC_dyn_pdch_osmo_act_deact() ); execute( TC_dyn_pdch_osmo_act_nack() ); - execute( TC_dyn_ts_sdcch8_act_deact() ); - execute (TC_dyn_ts_sdcch8_tch_call_act_deact() ); - execute( TC_dyn_ts_sdcch8_act_nack() ); + if (mp_enable_dyn_sdcch8_test) { + execute( TC_dyn_ts_sdcch8_act_deact() ); + execute (TC_dyn_ts_sdcch8_tch_call_act_deact() ); + execute( TC_dyn_ts_sdcch8_act_nack() ); + } execute( TC_chopped_ipa_ping() ); execute( TC_chopped_ipa_payload() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24967 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib956401030e6a97db218823c997c61c335fbd581 Gerrit-Change-Number: 24967 Gerrit-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 Jul 20 15:01:12 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 20 Jul 2021 15:01:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Drop mp_enable_osmux_test References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24968 ) Change subject: bsc: Drop mp_enable_osmux_test ...................................................................... bsc: Drop mp_enable_osmux_test This module parameter is not needed anymore, since latest already supports this feature for a while. Change-Id: I3a2a4f984443a40285440a7fc54b1797a943e4b0 --- M bsc/BSC_Tests.ttcn 1 file changed, 2 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/68/24968/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 2b11dc9..ae805e3 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -680,11 +680,6 @@ }; boolean mp_enable_lcs_tests := true; - /* Whether to enable osmux tests. Can be dropped completely and enable - unconditionally once new version of osmo-bsc is released (current - version: 1.4.1) */ - boolean mp_enable_osmux_test := true; - /* Whether to enable dyn TS SDCCH8 tests. Can be dropped completely and enable unconditionally once new version of osmo-bsc is released (current version: 1.7.0) */ @@ -1121,9 +1116,7 @@ activate(as_Tguard()); f_init_vty("VirtMSC"); - if (mp_enable_osmux_test) { - f_vty_allow_osmux(allow_osmux); - } + f_vty_allow_osmux(allow_osmux); var my_BooleanList allow_attach := { false, false, false }; f_init_statsd("VirtMSC", vc_STATSD, mp_test_ip, mp_bsc_statsd_port); @@ -9415,9 +9408,7 @@ execute( TC_assignment_codec_req_hr_fr() ); execute( TC_assignment_codec_req_fr_hr() ); - if (mp_enable_osmux_test) { - execute( TC_assignment_osmux() ); - } + execute( TC_assignment_osmux() ); /* RLL Establish Indication on inactive DCHAN / SAPI */ execute( TC_rll_est_ind_inact_lchan() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24968 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3a2a4f984443a40285440a7fc54b1797a943e4b0 Gerrit-Change-Number: 24968 Gerrit-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 Jul 20 15:02:07 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 20 Jul 2021 15:02:07 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: refactor MGCP request handling In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/24941 to look at the new patch set (#9). Change subject: mgcp_protocol: refactor MGCP request handling ...................................................................... mgcp_protocol: refactor MGCP request handling At the moment the MGCP request handling and message parsing is not clearly separated. The function mgcp_parse_header() in mgcp_msg.c is also responsible for resolving an endpoint. This leads to unclear layer separation. We eventually end up in a situation where we can not execute any request handler without beeing able to resolve an endpoint, however this is necessary if we want to implement wildcarded DLCX resquests. In the current situation a wildcarded DLCX is not possible to implement as we always have to resolve a an to get to the trunk which we need to iterate. However, we just can't resolve a free endpoint in a situation where all endpoints on te trunk are in use. We have to refactor the request handler so that the parsing in mgcp_msg only extracts us the endpoint name. The resolving is then done in mgcp_handle_message() in mgcp_protocol.c. Then we are able to decide what to do if we are unable to resolve an endpoint but still be able to resolve the trunk. This patch does not change the behaviour of osmo-mgw yet, but it lays the foundation for request handler implementations that can still perform useful actions if no endpoint but a trunk has been resolved. A wilcarded DLCX is such a case. It does not need an endpoint, just the trunk. Change-Id: I9f519d8a0ee8a513fa1e74acf3ee7dbc0991cdde Related: SYS#5535 --- M include/osmocom/mgcp/mgcp_protocol.h M src/libosmo-mgcp/mgcp_msg.c M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_sdp.c 4 files changed, 208 insertions(+), 139 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/41/24941/9 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24941 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I9f519d8a0ee8a513fa1e74acf3ee7dbc0991cdde Gerrit-Change-Number: 24941 Gerrit-PatchSet: 9 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 Jul 20 15:02:07 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 20 Jul 2021 15:02:07 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: add stats items to monitor trunk usage 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/+/24942 to look at the new patch set (#7). Change subject: mgcp_ratectr: add stats items to monitor trunk usage ...................................................................... mgcp_ratectr: add stats items to monitor trunk usage We are currently counting events in rate counters, but there is currently no way to get a sample of the current situation of the trunk usage. In particular how many endpoints are currently in use. Change-Id: Ib7b654168dc3512f55e45cc4755dc1f6f423d023 Related: SYS#5535 --- M include/osmocom/mgcp/mgcp_ratectr.h M include/osmocom/mgcp/mgcp_trunk.h M src/libosmo-mgcp/mgcp_endp.c M src/libosmo-mgcp/mgcp_ratectr.c M src/libosmo-mgcp/mgcp_trunk.c M tests/mgcp/mgcp_test.c 6 files changed, 94 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/42/24942/7 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24942 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib7b654168dc3512f55e45cc4755dc1f6f423d023 Gerrit-Change-Number: 24942 Gerrit-PatchSet: 7 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 Jul 20 15:03:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 20 Jul 2021 15:03:28 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc: Disable dyn TS SDCCH8 tests for latest References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/24969 ) Change subject: ttcn3-bsc: Disable dyn TS SDCCH8 tests for latest ...................................................................... ttcn3-bsc: Disable dyn TS SDCCH8 tests for latest With this we'll avoid running the test in latest. This way we'll not fail after changing the TS for the test and hence other tests won't be affected. Related: SYS#5309 Change-Id: If941c110501cd5f9c1d5084cc4d054e1eafb14f4 --- M ttcn3-bsc-test/BSC_Tests.cfg M ttcn3-bsc-test/jenkins-sccplite.sh M ttcn3-bsc-test/jenkins.sh M ttcn3-bsc-test/sccplite/BSC_Tests.cfg 4 files changed, 12 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/69/24969/1 diff --git a/ttcn3-bsc-test/BSC_Tests.cfg b/ttcn3-bsc-test/BSC_Tests.cfg index ad189c9..7620eb7 100644 --- a/ttcn3-bsc-test/BSC_Tests.cfg +++ b/ttcn3-bsc-test/BSC_Tests.cfg @@ -13,6 +13,7 @@ BSC_Tests.mp_bsc_ip := "172.18.2.20"; BSC_Tests.mp_test_ip := "172.18.2.203"; BSC_Tests.mp_enable_osmux_test := true; +BSC_Tests.mp_enable_dyn_sdcch8_test := true; BSC_Tests.mp_bssap_cfg := { { transport := BSSAP_TRANSPORT_AoIP, diff --git a/ttcn3-bsc-test/jenkins-sccplite.sh b/ttcn3-bsc-test/jenkins-sccplite.sh index bc6eaa0..7fb0525 100755 --- a/ttcn3-bsc-test/jenkins-sccplite.sh +++ b/ttcn3-bsc-test/jenkins-sccplite.sh @@ -16,6 +16,11 @@ mkdir $VOL_BASE_DIR/bsc-tester cp sccplite/BSC_Tests.cfg $VOL_BASE_DIR/bsc-tester/ +# Dynamic TS SDCCH8 must be disabled until release AFTER osmo-bsc 1.7.0 is tagged +if image_suffix_is_latest; then + sed "s/BSC_Tests.mp_enable_dyn_sdcch8_test := true;/BSC_Tests.mp_enable_dyn_sdcch8_test := false;/g" -i $VOL_BASE_DIR/bsc-tester/BSC_Tests.cfg +fi + mkdir $VOL_BASE_DIR/bsc cp sccplite/osmo-bsc.cfg $VOL_BASE_DIR/bsc/ diff --git a/ttcn3-bsc-test/jenkins.sh b/ttcn3-bsc-test/jenkins.sh index 18236a2..dfa1f6f 100755 --- a/ttcn3-bsc-test/jenkins.sh +++ b/ttcn3-bsc-test/jenkins.sh @@ -14,6 +14,11 @@ mkdir $VOL_BASE_DIR/bsc-tester cp BSC_Tests.cfg $VOL_BASE_DIR/bsc-tester/ +# Dynamic TS SDCCH8 must be disabled until release AFTER osmo-bsc 1.7.0 is tagged +if image_suffix_is_latest; then + sed "s/BSC_Tests.mp_enable_dyn_sdcch8_test := true;/BSC_Tests.mp_enable_dyn_sdcch8_test := false;/g" -i $VOL_BASE_DIR/bsc-tester/BSC_Tests.cfg +fi + mkdir $VOL_BASE_DIR/stp cp osmo-stp.cfg $VOL_BASE_DIR/stp/ diff --git a/ttcn3-bsc-test/sccplite/BSC_Tests.cfg b/ttcn3-bsc-test/sccplite/BSC_Tests.cfg index f1f02d6..b77537f 100644 --- a/ttcn3-bsc-test/sccplite/BSC_Tests.cfg +++ b/ttcn3-bsc-test/sccplite/BSC_Tests.cfg @@ -13,6 +13,7 @@ BSC_Tests.mp_bsc_ip := "172.18.12.20"; BSC_Tests.mp_test_ip := "172.18.12.203"; BSC_Tests.mp_enable_osmux_test := true; +BSC_Tests.mp_enable_dyn_sdcch8_test := true; BSC_Tests.mp_bssap_cfg := { { transport := BSSAP_TRANSPORT_SCCPlite_SERVER, -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24969 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: If941c110501cd5f9c1d5084cc4d054e1eafb14f4 Gerrit-Change-Number: 24969 Gerrit-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 Jul 20 15:03:30 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 20 Jul 2021 15:03:30 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc: Drop mp_enable_osmux_test References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/24970 ) Change subject: ttcn3-bsc: Drop mp_enable_osmux_test ...................................................................... ttcn3-bsc: Drop mp_enable_osmux_test This module parameter is never set to false anymore, since latest already supports the feature for a while. The module parameter will be removed soon in osmo-ttcn3-hacks, so let's drop using it here too. Change-Id: Idf459365e9aa42f7efd2a418cadea63ec49bdd7a --- M ttcn3-bsc-test-vamos/BSC_Tests.cfg M ttcn3-bsc-test/BSC_Tests.cfg M ttcn3-bsc-test/sccplite/BSC_Tests.cfg 3 files changed, 0 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/70/24970/1 diff --git a/ttcn3-bsc-test-vamos/BSC_Tests.cfg b/ttcn3-bsc-test-vamos/BSC_Tests.cfg index 8850705..cbab789 100644 --- a/ttcn3-bsc-test-vamos/BSC_Tests.cfg +++ b/ttcn3-bsc-test-vamos/BSC_Tests.cfg @@ -12,7 +12,6 @@ [MODULE_PARAMETERS] BSC_Tests.mp_bsc_ip := "172.18.31.20"; BSC_Tests.mp_test_ip := "172.18.31.203"; -BSC_Tests.mp_enable_osmux_test := true; BSC_Tests.mp_bssap_cfg := { { transport := BSSAP_TRANSPORT_AoIP, diff --git a/ttcn3-bsc-test/BSC_Tests.cfg b/ttcn3-bsc-test/BSC_Tests.cfg index 7620eb7..8ec9409 100644 --- a/ttcn3-bsc-test/BSC_Tests.cfg +++ b/ttcn3-bsc-test/BSC_Tests.cfg @@ -12,7 +12,6 @@ [MODULE_PARAMETERS] BSC_Tests.mp_bsc_ip := "172.18.2.20"; BSC_Tests.mp_test_ip := "172.18.2.203"; -BSC_Tests.mp_enable_osmux_test := true; BSC_Tests.mp_enable_dyn_sdcch8_test := true; BSC_Tests.mp_bssap_cfg := { { diff --git a/ttcn3-bsc-test/sccplite/BSC_Tests.cfg b/ttcn3-bsc-test/sccplite/BSC_Tests.cfg index b77537f..d5f8bd7 100644 --- a/ttcn3-bsc-test/sccplite/BSC_Tests.cfg +++ b/ttcn3-bsc-test/sccplite/BSC_Tests.cfg @@ -12,7 +12,6 @@ [MODULE_PARAMETERS] BSC_Tests.mp_bsc_ip := "172.18.12.20"; BSC_Tests.mp_test_ip := "172.18.12.203"; -BSC_Tests.mp_enable_osmux_test := true; BSC_Tests.mp_enable_dyn_sdcch8_test := true; BSC_Tests.mp_bssap_cfg := { { -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24970 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Idf459365e9aa42f7efd2a418cadea63ec49bdd7a Gerrit-Change-Number: 24970 Gerrit-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 Jul 20 15:03:56 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 20 Jul 2021 15:03:56 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: refactor MGCP request handling In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24941 ) Change subject: mgcp_protocol: refactor MGCP request handling ...................................................................... Patch Set 9: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24941 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I9f519d8a0ee8a513fa1e74acf3ee7dbc0991cdde Gerrit-Change-Number: 24941 Gerrit-PatchSet: 9 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 20 Jul 2021 15: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 Tue Jul 20 15:05:40 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 20 Jul 2021 15:05:40 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: add stats items to monitor trunk usage In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24942 ) Change subject: mgcp_ratectr: add stats items to monitor trunk usage ...................................................................... Patch Set 7: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24942 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib7b654168dc3512f55e45cc4755dc1f6f423d023 Gerrit-Change-Number: 24942 Gerrit-PatchSet: 7 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 20 Jul 2021 15:05:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 20 15:23:53 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 20 Jul 2021 15:23:53 +0000 Subject: Change in osmo-mgw[master]: mgcp_msg: add trunk parameter to mgcp_check_param for logging References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24971 ) Change subject: mgcp_msg: add trunk parameter to mgcp_check_param for logging ...................................................................... mgcp_msg: add trunk parameter to mgcp_check_param for logging There is not always an endp pointer present when mgcp_check_param() is called but we always have a trunk pointer. Lets add a trunk parameter so that the function can pick LOGPTRUNK when endp is not available. Change-Id: I7327c5a105e7f0e20cabf64623ff9f36fd83bbb8 Related: SYS#5535 --- M include/osmocom/mgcp/mgcp_msg.h M src/libosmo-mgcp/mgcp_msg.c M src/libosmo-mgcp/mgcp_protocol.c 3 files changed, 15 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/71/24971/1 diff --git a/include/osmocom/mgcp/mgcp_msg.h b/include/osmocom/mgcp/mgcp_msg.h index 7732865..87987d3 100644 --- a/include/osmocom/mgcp/mgcp_msg.h +++ b/include/osmocom/mgcp/mgcp_msg.h @@ -39,7 +39,7 @@ int mgcp_parse_osmux_cid(const char *line); -int mgcp_check_param(const struct mgcp_endpoint *endp, const char *line); +bool mgcp_check_param(const struct mgcp_endpoint *endp, struct mgcp_trunk *trunk, const char *line); int mgcp_verify_call_id(struct mgcp_endpoint *endp, const char *callid); diff --git a/src/libosmo-mgcp/mgcp_msg.c b/src/libosmo-mgcp/mgcp_msg.c index f8b486a..421dcbf 100644 --- a/src/libosmo-mgcp/mgcp_msg.c +++ b/src/libosmo-mgcp/mgcp_msg.c @@ -31,6 +31,7 @@ #include #include #include +#include /*! Display an mgcp message on the log output. * \param[in] message mgcp message string @@ -208,22 +209,24 @@ } /*! Check MGCP parameter line (string) for plausibility. - * \param[in] endp pointer to endpoint (only used for log output) + * \param[in] endp pointer to endpoint (only used for log output, may be NULL) + * \param[in] trunk pointer to trunk (only used for log output, may be NULL if endp is not NULL) * \param[in] line single parameter line from the MGCP message - * \returns 1 when line seems plausible, 0 on error */ -int mgcp_check_param(const struct mgcp_endpoint *endp, const char *line) + * \returns true when line seems plausible, false on error */ +bool mgcp_check_param(const struct mgcp_endpoint *endp, struct mgcp_trunk *trunk, const char *line) { const size_t line_len = strlen(line); if (line[0] != '\0' && line_len < 2) { - LOGP(DLMGCP, LOGL_ERROR, - "Wrong MGCP option format: '%s' on %s\n", - line, endp->name); - return 0; + if (!endp) + LOGPENDP(endp, DLMGCP, LOGL_NOTICE, "wrong MGCP option format: '%s'\n", line); + else + LOGPTRUNK(trunk, DLMGCP, LOGL_NOTICE, "wrong MGCP option format: '%s'\n", line); + return false; } /* FIXME: A couple more checks wouldn't hurt... */ - return 1; + return true; } /*! Check if the specified callid seems plausible. diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index b7ae748..ef82cfd 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -851,7 +851,7 @@ /* parse CallID C: and LocalParameters L: */ for_each_line(line, pdata->save) { - if (!mgcp_check_param(endp, line)) + if (!mgcp_check_param(endp, trunk, line)) continue; switch (toupper(line[0])) { @@ -1143,7 +1143,7 @@ } for_each_line(line, pdata->save) { - if (!mgcp_check_param(endp, line)) + if (!mgcp_check_param(endp, trunk, line)) continue; switch (toupper(line[0])) { @@ -1388,7 +1388,7 @@ } for_each_line(line, pdata->save) { - if (!mgcp_check_param(endp, line)) + if (!mgcp_check_param(endp, trunk, line)) continue; switch (toupper(line[0])) { -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24971 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7327c5a105e7f0e20cabf64623ff9f36fd83bbb8 Gerrit-Change-Number: 24971 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 Jul 20 15:23:53 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 20 Jul 2021 15:23:53 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: rafctor function create_response_with_sdp References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24972 ) Change subject: mgcp_protocol: rafctor function create_response_with_sdp ...................................................................... mgcp_protocol: rafctor function create_response_with_sdp The function create_response_calls add_params, which is rather short. The code in there can also be put in create_response_with_sdp. The decision whether the endpoint name (Z) should be added or not, should be made by the caller. Change-Id: I7e29c513f4386832646e96194ed6c2397405ed3b Related: SYS#5535 --- M src/libosmo-mgcp/mgcp_protocol.c 1 file changed, 17 insertions(+), 27 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/72/24972/1 diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index ef82cfd..5ff94af 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -237,33 +237,13 @@ return create_resp(endp, code, " FAIL", msg, trans, NULL, NULL); } -/* Add MGCP parameters to a message buffer */ -static int add_params(struct msgb *msg, const struct mgcp_endpoint *endp, - const struct mgcp_conn_rtp *conn) -{ - int rc; - - /* NOTE: Only in the virtual trunk we allow dynamic endpoint names */ - if (endp->wildcarded_req - && endp->trunk->trunk_type == MGCP_TRUNK_VIRTUAL) { - rc = msgb_printf(msg, "Z: %s\r\n", endp->name); - if (rc < 0) - return -EINVAL; - } - - rc = msgb_printf(msg, "I: %s\r\n", conn->conn->id); - if (rc < 0) - return -EINVAL; - - return 0; -} - /* Format MGCP response string (with SDP attached) */ static struct msgb *create_response_with_sdp(struct mgcp_endpoint *endp, struct mgcp_conn_rtp *conn, const char *msg, const char *trans_id, - bool add_conn_params) + bool add_epname, + bool add_conn_id) { /* cfg->local_ip allows overwritting the announced IP address with * regards to the one we actually bind to. Useful in behind-NAT @@ -281,9 +261,16 @@ if (!sdp) return NULL; - /* Attach optional connection parameters */ - if (add_conn_params) { - rc = add_params(sdp, endp, conn); + /* Attach optional endpoint name */ + if (add_epname) { + rc = msgb_printf(sdp, "Z: %s\r\n", endp->name); + if (rc < 0) + goto error; + } + + /* Attach optional connection id */ + if (add_conn_id) { + rc = msgb_printf(sdp, "I: %s\r\n", conn->conn->id); if (rc < 0) goto error; } @@ -1091,7 +1078,10 @@ "CRCX: connection successfully created\n"); rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_SUCCESS)); mgcp_endp_update(endp); - return create_response_with_sdp(endp, conn, "CRCX", pdata->trans, true); + + /* NOTE: Only in the virtual trunk we allow dynamic endpoint names */ + bool add_epname = rq->wildcarded && endp->trunk->trunk_type == MGCP_TRUNK_VIRTUAL; + return create_response_with_sdp(endp, conn, "CRCX", pdata->trans, add_epname, true); error2: mgcp_endp_release(endp); LOGPENDP(endp, DLMGCP, LOGL_NOTICE, @@ -1339,7 +1329,7 @@ LOGPCONN(conn->conn, DLMGCP, LOGL_NOTICE, "MDCX: connection successfully modified\n"); mgcp_endp_update(endp); - return create_response_with_sdp(endp, conn, "MDCX", pdata->trans, false); + return create_response_with_sdp(endp, conn, "MDCX", pdata->trans, false, false); error3: return create_err_response(endp, error_code, "MDCX", pdata->trans); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24972 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7e29c513f4386832646e96194ed6c2397405ed3b Gerrit-Change-Number: 24972 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 Jul 20 15:23:54 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 20 Jul 2021 15:23:54 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: add support for wildcarded DLCX References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24973 ) Change subject: mgcp_protocol: add support for wildcarded DLCX ...................................................................... mgcp_protocol: add support for wildcarded DLCX The request handler handle_delete_con currently rejects wildcarded DLCX requests even though a wildcarded DLCX would be a valuable tool to remove lingering connections from the trunk in case osmo-bsc has to be restarted. Change-Id: I5c2de6b2b61ee64ba9c0618fd20e8fc2fe6a5ed3 Related: SYS#5535 --- M include/osmocom/mgcp/mgcp_ratectr.h M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_ratectr.c 3 files changed, 49 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/73/24973/1 diff --git a/include/osmocom/mgcp/mgcp_ratectr.h b/include/osmocom/mgcp/mgcp_ratectr.h index 0bd6f88..5212f9b 100644 --- a/include/osmocom/mgcp/mgcp_ratectr.h +++ b/include/osmocom/mgcp/mgcp_ratectr.h @@ -53,7 +53,6 @@ /* Trunk-global MCGP DLCX related rate counters */ enum { MGCP_DLCX_SUCCESS, - MGCP_DLCX_FAIL_WILDCARD, MGCP_DLCX_FAIL_NO_CONN, MGCP_DLCX_FAIL_INVALID_CALLID, MGCP_DLCX_FAIL_INVALID_CONNID, diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index 5ff94af..a16e7cd 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -46,6 +46,14 @@ #include #include +/* A combination of LOGPENDP and LOGPTRUNK that automatically falls back to + * LOGPTRUNK when the endp parameter is NULL */ +#define LOGPEPTR(endp, trunk, cat, level, fmt, args...) \ + if (endp) \ + LOGPENDP(endp, cat, level, fmt, ## args); \ + else \ + LOGPTRUNK(trunk, cat, level, fmt, ## args); \ + /* Request data passed to the request handler */ struct mgcp_request_data { /* request name (e.g. "MDCX") */ @@ -102,7 +110,7 @@ { .name = "DLCX", .handle_request = handle_delete_con, .debug_name = "DeleteConnection", - .require_endp = true }, + .require_endp = false }, { .name = "MDCX", .handle_request = handle_modify_con, .debug_name = "ModifiyConnection", @@ -1351,26 +1359,21 @@ char stats[1048]; const char *conn_id = NULL; struct mgcp_conn_rtp *conn = NULL; + unsigned int i; - LOGPENDP(endp, DLMGCP, LOGL_NOTICE, - "DLCX: deleting connection ...\n"); + /* NOTE: In this handler we can not take it for granted that the endp + * pointer will be populated, however it is guaranteed that only. */ - if (!mgcp_endp_avail(endp)) { + LOGPEPTR(endp, trunk, DLMGCP, LOGL_NOTICE, "DLCX: deleting connection(s) ...\n"); + + if (endp && !mgcp_endp_avail(endp)) { rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_FAIL_AVAIL)); LOGPENDP(endp, DLMGCP, LOGL_ERROR, "DLCX: selected endpoint not available!\n"); return create_err_response(NULL, 501, "DLCX", pdata->trans); } - /* Prohibit wildcarded requests */ - if (endp->wildcarded_req) { - LOGPENDP(endp, DLMGCP, LOGL_ERROR, - "DLCX: wildcarded endpoint names not supported.\n"); - rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_FAIL_WILDCARD)); - return create_err_response(endp, 507, "DLCX", pdata->trans); - } - - if (llist_count(&endp->conns) <= 0) { + if (endp && !rq->wildcarded && llist_empty(&endp->conns)) { LOGPENDP(endp, DLMGCP, LOGL_ERROR, "DLCX: endpoint is not holding a connection.\n"); rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_FAIL_NO_CONN)); @@ -1383,6 +1386,14 @@ switch (toupper(line[0])) { case 'C': + /* If we have no endpoint, but a call id in the request, + then this request cannot be handled */ + if (!endp) { + LOGPTRUNK(trunk, DLMGCP, LOGL_NOTICE, "cannot handle requests with call-id (C) without endpoint -- abort!"); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_FAIL_UNHANDLED_PARAM)); + return create_err_response(NULL, 539, "DLCX", pdata->trans); + } + if (mgcp_verify_call_id(endp, line + 3) != 0) { error_code = 516; rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_FAIL_INVALID_CALLID)); @@ -1390,6 +1401,14 @@ } break; case 'I': + /* If we have no endpoint, but a connection id in the request, + then this request cannot be handled */ + if (!endp) { + LOGPTRUNK(trunk, DLMGCP, LOGL_NOTICE, "cannot handle requests with conn-id (I) without endpoint -- abort!"); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_FAIL_UNHANDLED_PARAM)); + return create_err_response(NULL, 539, "DLCX", pdata->trans); + } + conn_id = (const char *)line + 3; if ((error_code = mgcp_verify_ci(endp, conn_id))) { rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_FAIL_INVALID_CONNID)); @@ -1400,9 +1419,7 @@ silent = strcasecmp("noanswer", line + 3) == 0; break; default: - LOGPENDP(endp, DLMGCP, LOGL_NOTICE, - "DLCX: Unhandled MGCP option: '%c'/%d\n", - line[0], line[0]); + LOGPEPTR(endp, trunk, DLMGCP, LOGL_NOTICE, "DLCX: Unhandled MGCP option: '%c'/%d\n", line[0], line[0]); rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_FAIL_UNHANDLED_PARAM)); return create_err_response(NULL, 539, "DLCX", pdata->trans); break; @@ -1432,9 +1449,23 @@ } } + /* Handle wildcarded DLCX that refers to the whole trunk. This means + * that we walk over all endpoints on the trunk in order to drop all + * connections on the trunk. (see also RFC3435 Annex F.7) */ + if (rq->wildcarded) { + int num_conns = 0; + for (i = 0; i < trunk->number_endpoints; i++) { + num_conns += llist_count(&trunk->endpoints[i]->conns); + mgcp_endp_release(trunk->endpoints[i]); + } + rate_ctr_add(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_SUCCESS), num_conns); + return create_ok_response(NULL, 200, "DLCX", pdata->trans); + } + /* When no connection id is supplied, we will interpret this as a - * wildcarded DLCX and drop all connections at once. (See also - * RFC3435 Section F.7) */ + * wildcarded DLCX that refers to the selected endpoint. This means + * that we drop all connections on that specific endpoint at once. + * (See also RFC3435 Section F.7) */ if (!conn_id) { int num_conns = llist_count(&endp->conns); LOGPENDP(endp, DLMGCP, LOGL_NOTICE, diff --git a/src/libosmo-mgcp/mgcp_ratectr.c b/src/libosmo-mgcp/mgcp_ratectr.c index 740a3b0..8f0924a 100644 --- a/src/libosmo-mgcp/mgcp_ratectr.c +++ b/src/libosmo-mgcp/mgcp_ratectr.c @@ -109,7 +109,6 @@ static const struct rate_ctr_desc mgcp_dlcx_ctr_desc[] = { [MGCP_DLCX_SUCCESS] = { "dlcx:success", "DLCX command processed successfully." }, - [MGCP_DLCX_FAIL_WILDCARD] = { "dlcx:wildcard", "wildcard names in DLCX commands are unsupported." }, [MGCP_DLCX_FAIL_NO_CONN] = { "dlcx:no_conn", "endpoint specified in DLCX command has no active connections." }, [MGCP_DLCX_FAIL_INVALID_CALLID] = { "dlcx:callid", "CallId specified in DLCX command mismatches endpoint's CallId ." }, -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24973 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I5c2de6b2b61ee64ba9c0618fd20e8fc2fe6a5ed3 Gerrit-Change-Number: 24973 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 Jul 20 15:23:54 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 20 Jul 2021 15:23:54 +0000 Subject: Change in osmo-mgw[master]: remove struct member wildcarded_req from struct mgcp_endpoint References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24974 ) Change subject: remove struct member wildcarded_req from struct mgcp_endpoint ...................................................................... remove struct member wildcarded_req from struct mgcp_endpoint The struct member bool wildcarded_req is no longer needed Change-Id: Iabd2df8f0f8fcce964af647e3a6d8e4c3006ab29 Related: SYS#5535 --- M include/osmocom/mgcp/mgcp_endp.h M src/libosmo-mgcp/mgcp_endp.c 2 files changed, 0 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/74/24974/1 diff --git a/include/osmocom/mgcp/mgcp_endp.h b/include/osmocom/mgcp/mgcp_endp.h index db1a897..b6bd7b3 100644 --- a/include/osmocom/mgcp/mgcp_endp.h +++ b/include/osmocom/mgcp/mgcp_endp.h @@ -111,10 +111,6 @@ /*! Last MGCP response (in case re-transmission is required) */ char *last_response; - /*! Memorize if this endpoint was choosen by the MGW (wildcarded, true) - * or if the user has choosen the particular endpoint explicitly. */ - bool wildcarded_req; - /*! MGCP_X_OSMO_IGN_* flags from 'X-Osmo-IGN:' header */ uint32_t x_osmo_ign; diff --git a/src/libosmo-mgcp/mgcp_endp.c b/src/libosmo-mgcp/mgcp_endp.c index 7df4a80..c304013 100644 --- a/src/libosmo-mgcp/mgcp_endp.c +++ b/src/libosmo-mgcp/mgcp_endp.c @@ -136,7 +136,6 @@ endp->local_options.string = NULL; talloc_free(endp->local_options.codec); endp->local_options.codec = NULL; - endp->wildcarded_req = false; if (endp->trunk->trunk_type == MGCP_TRUNK_E1) mgcp_e1_endp_release(endp); @@ -278,7 +277,6 @@ LOGPENDP(endp, DLMGCP, LOGL_DEBUG, "(trunk:%d) found free endpoint: %s\n", trunk->trunk_nr, endp->name); - endp->wildcarded_req = true; return endp; } @@ -297,7 +295,6 @@ LOGPENDP(endp, DLMGCP, LOGL_DEBUG, "(trunk:%d) found endpoint: %s\n", trunk->trunk_nr, endp->name); - endp->wildcarded_req = false; return endp; } -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24974 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Iabd2df8f0f8fcce964af647e3a6d8e4c3006ab29 Gerrit-Change-Number: 24974 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 Jul 20 15:33:27 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 20 Jul 2021 15:33:27 +0000 Subject: Change in osmo-mgw[master]: mgcp_msg: add trunk parameter to mgcp_check_param for logging In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24971 ) Change subject: mgcp_msg: add trunk parameter to mgcp_check_param for logging ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24971 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7327c5a105e7f0e20cabf64623ff9f36fd83bbb8 Gerrit-Change-Number: 24971 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 20 Jul 2021 15:33: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 Jul 20 15:33:56 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 20 Jul 2021 15:33:56 +0000 Subject: Change in docker-playground[master]: MGCP_Test: set STATSVTY.CTRL_HOSTNAME References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/24975 ) Change subject: MGCP_Test: set STATSVTY.CTRL_HOSTNAME ...................................................................... MGCP_Test: set STATSVTY.CTRL_HOSTNAME The the following patch I61e23e264bc85eb36d07431c7839fb445c110947 introduces the stats interface on the MGCP_Test testsuite. This means that STATSVTY.CTRL_HOSTNAME must be set up correctly, otherwise all testcases will fail. Change-Id: I693cc17dbf6836e7a74b34111671b6e589744a63 Related: SYS#5535 --- M ttcn3-mgw-test/MGCP_Test.cfg 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/75/24975/1 diff --git a/ttcn3-mgw-test/MGCP_Test.cfg b/ttcn3-mgw-test/MGCP_Test.cfg index b70514e..f984173 100644 --- a/ttcn3-mgw-test/MGCP_Test.cfg +++ b/ttcn3-mgw-test/MGCP_Test.cfg @@ -6,6 +6,7 @@ [TESTPORT_PARAMETERS] *.MGWVTY.CTRL_HOSTNAME := "172.18.4.180" +*.STATSVTY.CTRL_HOSTNAME := "172.18.4.180" [MODULE_PARAMETERS] mp_local_ipv4 := "172.18.4.181"; -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24975 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I693cc17dbf6836e7a74b34111671b6e589744a63 Gerrit-Change-Number: 24975 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 Jul 20 15:34:48 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 20 Jul 2021 15:34:48 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: test DLCX request to non existant endpoint References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24976 ) Change subject: MGCP_Test: test DLCX request to non existant endpoint ...................................................................... MGCP_Test: test DLCX request to non existant endpoint Since we now support wildcarded DLCX request, which so not necessarly require a specific endpoint (the trunk is enough). We should also check what happens when we send a DLCX request to a non existent endpoint. The situation would be very similar. osmo-mgw will be unable to resolve the endpoint, but the trunk will be resolved. However eventually the request is not wildcarded and we expect that osmo-mgw is rejecting it. Change-Id: I3d8c6f84404c1c95f97f113813528175523d36b8 Related: SYS#5535 --- M mgw/MGCP_Test.ttcn 1 file changed, 22 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/76/24976/1 diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn index f4d7812..8548ea4 100644 --- a/mgw/MGCP_Test.ttcn +++ b/mgw/MGCP_Test.ttcn @@ -1026,6 +1026,27 @@ setverdict(pass); } + /* DLCX to non existing endpoint */ + testcase TC_dlcx_non_existant_ep() runs on dummy_CT { + var template MgcpCommand cmd; + var MgcpResponse resp; + var MgcpEndpoint ep := c_mgw_ep_rtpbridge & "AA@" & c_mgw_domain; + var template MgcpResponse rtmpl := { + line := { + code := ("500"), + string := ? + }, + params:= { }, + sdp := omit + }; + + f_init(ep); + + cmd := ts_DLCX(get_next_trans_id(), ep, '41234'H); + resp := mgcp_transceive_mgw(cmd, rtmpl); + setverdict(pass); + } + /* test valid wildcarded MDCX */ testcase TC_mdcx_wildcarded() runs on dummy_CT { /* Note: A wildcarded MDCX is not allowed, so we expect the @@ -2459,6 +2480,7 @@ execute(TC_crcx_wildcarded_exhaust()); execute(TC_mdcx_without_crcx()); execute(TC_dlcx_without_crcx()); + execute(TC_dlcx_non_existant_ep()); execute(TC_mdcx_wildcarded()); execute(TC_dlcx_wildcarded()); execute(TC_crcx_and_dlcx_ep_callid_connid()); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24976 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3d8c6f84404c1c95f97f113813528175523d36b8 Gerrit-Change-Number: 24976 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 Jul 20 15:35:43 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 20 Jul 2021 15:35:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: upgrade expected behavior for TC_dlcx_wildcarded In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24821 ) Change subject: MGCP_Test: upgrade expected behavior for TC_dlcx_wildcarded ...................................................................... Patch Set 3: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24821 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I61e23e264bc85eb36d07431c7839fb445c110947 Gerrit-Change-Number: 24821 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: daniel Gerrit-Comment-Date: Tue, 20 Jul 2021 15:35:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 20 15:36:22 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 20 Jul 2021 15:36:22 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: rafctor function create_response_with_sdp In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24972 ) Change subject: mgcp_protocol: rafctor function create_response_with_sdp ...................................................................... Patch Set 1: (4 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/24972/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-mgw/+/24972/1//COMMIT_MSG at 7 PS1, Line 7: mgcp_protocol: rafctor function create_response_with_sdp refactor? https://gerrit.osmocom.org/c/osmo-mgw/+/24972/1//COMMIT_MSG at 9 PS1, Line 9: The function create_response_calls add_params, which is rather short. I think you got the underscores incorrectly. https://gerrit.osmocom.org/c/osmo-mgw/+/24972/1/src/libosmo-mgcp/mgcp_protocol.c File src/libosmo-mgcp/mgcp_protocol.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24972/1/src/libosmo-mgcp/mgcp_protocol.c at 1083 PS1, Line 1083: bool add_epname = rq->wildcarded && endp->trunk->trunk_type == MGCP_TRUNK_VIRTUAL; IIUC if wildcarded then endp should be null? so simply check for null endp in create_response_with_sdp? https://gerrit.osmocom.org/c/osmo-mgw/+/24972/1/src/libosmo-mgcp/mgcp_protocol.c at 1332 PS1, Line 1332: return create_response_with_sdp(endp, conn, "MDCX", pdata->trans, false, false); why not adding the conn here? -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24972 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7e29c513f4386832646e96194ed6c2397405ed3b Gerrit-Change-Number: 24972 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 20 Jul 2021 15:36:22 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 20 15:39:55 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 20 Jul 2021 15:39:55 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: add support for wildcarded DLCX In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24973 ) Change subject: mgcp_protocol: add support for wildcarded DLCX ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/24973/1/src/libosmo-mgcp/mgcp_protocol.c File src/libosmo-mgcp/mgcp_protocol.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24973/1/src/libosmo-mgcp/mgcp_protocol.c at 1365 PS1, Line 1365: * pointer will be populated, however it is guaranteed that only. */ guaranteed that only? what? https://gerrit.osmocom.org/c/osmo-mgw/+/24973/1/src/libosmo-mgcp/mgcp_protocol.c at 1376 PS1, Line 1376: if (endp && !rq->wildcarded && llist_empty(&endp->conns)) { can we still have endp and be wildcarded? -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24973 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I5c2de6b2b61ee64ba9c0618fd20e8fc2fe6a5ed3 Gerrit-Change-Number: 24973 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 20 Jul 2021 15:39:55 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 20 15:40:34 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 20 Jul 2021 15:40:34 +0000 Subject: Change in osmo-mgw[master]: remove struct member wildcarded_req from struct mgcp_endpoint In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24974 ) Change subject: remove struct member wildcarded_req from struct mgcp_endpoint ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24974 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Iabd2df8f0f8fcce964af647e3a6d8e4c3006ab29 Gerrit-Change-Number: 24974 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 20 Jul 2021 15:40:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 20 15:40:59 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 20 Jul 2021 15:40:59 +0000 Subject: Change in docker-playground[master]: MGCP_Test: set STATSVTY.CTRL_HOSTNAME In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24975 ) Change subject: MGCP_Test: set STATSVTY.CTRL_HOSTNAME ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24975 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I693cc17dbf6836e7a74b34111671b6e589744a63 Gerrit-Change-Number: 24975 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 20 Jul 2021 15:40:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 20 15:42:10 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 20 Jul 2021 15:42:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: test DLCX request to non existant endpoint In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24976 ) Change subject: MGCP_Test: test DLCX request to non existant endpoint ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24976 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3d8c6f84404c1c95f97f113813528175523d36b8 Gerrit-Change-Number: 24976 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 20 Jul 2021 15:42:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 20 15:45:30 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 20 Jul 2021 15:45:30 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc: Drop mp_enable_osmux_test In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24970 ) Change subject: ttcn3-bsc: Drop mp_enable_osmux_test ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24970 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Idf459365e9aa42f7efd2a418cadea63ec49bdd7a Gerrit-Change-Number: 24970 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: dexter Gerrit-Comment-Date: Tue, 20 Jul 2021 15:45:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 20 15:48:04 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 20 Jul 2021 15:48:04 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Drop mp_enable_osmux_test In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24968 ) Change subject: bsc: Drop mp_enable_osmux_test ...................................................................... Patch Set 1: Code-Review+1 what happens when this patch is merged before the one for docker-playground? Is it safe to set a module parameter that does not exist anymore? Maybe this needs a Depends tag but I do not know that for sure. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24968 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3a2a4f984443a40285440a7fc54b1797a943e4b0 Gerrit-Change-Number: 24968 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Tue, 20 Jul 2021 15:48: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 Jul 20 15:56:03 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 20 Jul 2021 15:56:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Drop mp_enable_osmux_test In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24968 ) Change subject: bsc: Drop mp_enable_osmux_test ...................................................................... Patch Set 1: Sure, this one needs to be merged after the docker-playground one. I'll take care of merging everything together. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24968 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3a2a4f984443a40285440a7fc54b1797a943e4b0 Gerrit-Change-Number: 24968 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Tue, 20 Jul 2021 15:56:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 20 15:57:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 20 Jul 2021 15:57:08 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc: Drop mp_enable_osmux_test In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24970 ) Change subject: ttcn3-bsc: Drop mp_enable_osmux_test ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24970 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Idf459365e9aa42f7efd2a418cadea63ec49bdd7a Gerrit-Change-Number: 24970 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 20 Jul 2021 15: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 Tue Jul 20 15:57:16 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 20 Jul 2021 15:57:16 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc: Disable dyn TS SDCCH8 tests for latest In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24969 ) Change subject: ttcn3-bsc: Disable dyn TS SDCCH8 tests for latest ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24969 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: If941c110501cd5f9c1d5084cc4d054e1eafb14f4 Gerrit-Change-Number: 24969 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 20 Jul 2021 15:57: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 Jul 21 08:31:38 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 21 Jul 2021 08:31:38 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: refactor function create_response_with_sdp 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/+/24972 to look at the new patch set (#2). Change subject: mgcp_protocol: refactor function create_response_with_sdp ...................................................................... mgcp_protocol: refactor function create_response_with_sdp The function create_response_with_sdp calls add_params, which is rather short. The code in there can also be put in create_response_with_sdp. The decision whether the endpoint name (Z) should be added or not, should be made by the caller. Change-Id: I7e29c513f4386832646e96194ed6c2397405ed3b Related: SYS#5535 --- M src/libosmo-mgcp/mgcp_protocol.c 1 file changed, 17 insertions(+), 27 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/72/24972/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24972 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7e29c513f4386832646e96194ed6c2397405ed3b Gerrit-Change-Number: 24972 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 Jul 21 08:31:48 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 21 Jul 2021 08:31:48 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: refactor function create_response_with_sdp In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24972 ) Change subject: mgcp_protocol: refactor function create_response_with_sdp ...................................................................... Patch Set 1: (4 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/24972/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-mgw/+/24972/1//COMMIT_MSG at 7 PS1, Line 7: mgcp_protocol: rafctor function create_response_with_sdp > refactor? Done https://gerrit.osmocom.org/c/osmo-mgw/+/24972/1//COMMIT_MSG at 9 PS1, Line 9: The function create_response_calls add_params, which is rather short. > I think you got the underscores incorrectly. Done https://gerrit.osmocom.org/c/osmo-mgw/+/24972/1/src/libosmo-mgcp/mgcp_protocol.c File src/libosmo-mgcp/mgcp_protocol.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24972/1/src/libosmo-mgcp/mgcp_protocol.c at 1083 PS1, Line 1083: bool add_epname = rq->wildcarded && endp->trunk->trunk_type == MGCP_TRUNK_VIRTUAL; > IIUC if wildcarded then endp should be null? so simply check for null endp in create_response_with_s [?] This is not the case for CRCX. endp can never be NULL here but we can access the trunk pointer directly. This would be better anyway. https://gerrit.osmocom.org/c/osmo-mgw/+/24972/1/src/libosmo-mgcp/mgcp_protocol.c at 1332 PS1, Line 1332: return create_response_with_sdp(endp, conn, "MDCX", pdata->trans, false, false); > why not adding the conn here? I think this is because the conn id is already known. A MDCX always addresses a specific connection, so it is not necessary to have the conn id in the response as well. I don't know if the spec explicitly forbids this, but it would be odd. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24972 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7e29c513f4386832646e96194ed6c2397405ed3b Gerrit-Change-Number: 24972 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 21 Jul 2021 08:31:48 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Wed Jul 21 08:33:37 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 21 Jul 2021 08:33:37 +0000 Subject: Build failure of network:osmocom:nightly/osmo-gsm-manuals in Debian_10/x86_64 In-Reply-To: References: Message-ID: <60f7dbf0a8f76_39132ad92b9545f01999a1@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-gsm-manuals/Debian_10/x86_64 Package network:osmocom:nightly/osmo-gsm-manuals failed to build in Debian_10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-gsm-manuals Last lines of build log: [ 141s] [430/443] installing texlive-extra-utils-2018.20190227-2 [ 144s] Processing triggers for man-db (2.8.5-2) ... [ 145s] Processing triggers for tex-common (6.11) ... [ 145s] Running mktexlsr. This may take some time... done. [ 145s] Building format(s) --all. [ 148s] This may take some time... done. [ 149s] [431/443] installing texlive-2018.20190227-2 [ 149s] [432/443] installing texlive-pictures-2018.20190227-2 [ 149s] Processing triggers for man-db (2.8.5-2) ... [ 149s] Processing triggers for tex-common (6.11) ... [ 150s] Running mktexlsr. This may take some time... done. [ 150s] Running updmap-sys. This may take some time... done. [ 150s] Running mktexlsr /var/lib/texmf ... done. [ 150s] [433/443] installing texlive-science-2018.20190227-2 [ 151s] Processing triggers for man-db (2.8.5-2) ... [ 151s] Processing triggers for tex-common (6.11) ... [ 151s] Running mktexlsr. This may take some time... done. [ 152s] Running updmap-sys. This may take some time... done. [ 152s] Running mktexlsr /var/lib/texmf ... done. [ 152s] Building format(s) --all. [ 155s] This may take some time... done. [ 155s] [434/443] installing libgtk2.0-0-2.24.32-3 [28957s] qemu-kvm: terminating on signal 15 from pid 48694 () Job seems to be stuck here, killed. (after 28800 seconds of inactivity) [28957s] ### VM INTERACTION END ### [28957s] No buildstatus set, either the base system is broken (kernel/initrd/udev/glibc/bash/perl) [28957s] or the build host has a kernel or hardware problem... -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed Jul 21 08:43:38 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 21 Jul 2021 08:43:38 +0000 Subject: Change in osmo-mgw[master]: mgcp_trunk: use unsigned int instead of int as trunk_nr In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24963 ) Change subject: mgcp_trunk: use unsigned int instead of int as trunk_nr ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24963 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I5d0e1d76adb8c92d84331a0aca2496908e41d621 Gerrit-Change-Number: 24963 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 21 Jul 2021 08:43:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 21 08:56:36 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 21 Jul 2021 08:56:36 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: refactor MGCP request handling In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24941 ) Change subject: mgcp_protocol: refactor MGCP request handling ...................................................................... Patch Set 9: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24941 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I9f519d8a0ee8a513fa1e74acf3ee7dbc0991cdde Gerrit-Change-Number: 24941 Gerrit-PatchSet: 9 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 21 Jul 2021 08:56: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 Jul 21 09:01:45 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 21 Jul 2021 09:01:45 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: add stats items to monitor trunk usage In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24942 ) Change subject: mgcp_ratectr: add stats items to monitor trunk usage ...................................................................... Patch Set 7: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24942 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib7b654168dc3512f55e45cc4755dc1f6f423d023 Gerrit-Change-Number: 24942 Gerrit-PatchSet: 7 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 21 Jul 2021 09: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 Wed Jul 21 09:07:18 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 21 Jul 2021 09:07:18 +0000 Subject: Change in osmo-mgw[master]: mgcp_msg: add trunk parameter to mgcp_check_param for logging In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24971 ) Change subject: mgcp_msg: add trunk parameter to mgcp_check_param for logging ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/24971/1/src/libosmo-mgcp/mgcp_msg.c File src/libosmo-mgcp/mgcp_msg.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24971/1/src/libosmo-mgcp/mgcp_msg.c at 220 PS1, Line 220: if (!endp) Is this backwards? if (!endp) LOGPTRUNK -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24971 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7327c5a105e7f0e20cabf64623ff9f36fd83bbb8 Gerrit-Change-Number: 24971 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: daniel Gerrit-Comment-Date: Wed, 21 Jul 2021 09:07:18 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 21 09:10:28 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 21 Jul 2021 09:10:28 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: add support for wildcarded DLCX 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/+/24973 to look at the new patch set (#2). Change subject: mgcp_protocol: add support for wildcarded DLCX ...................................................................... mgcp_protocol: add support for wildcarded DLCX The request handler handle_delete_con currently rejects wildcarded DLCX requests even though a wildcarded DLCX would be a valuable tool to remove lingering connections from the trunk in case osmo-bsc has to be restarted. Change-Id: I5c2de6b2b61ee64ba9c0618fd20e8fc2fe6a5ed3 Related: SYS#5535 --- M include/osmocom/mgcp/mgcp_ratectr.h M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_ratectr.c 3 files changed, 53 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/73/24973/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24973 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I5c2de6b2b61ee64ba9c0618fd20e8fc2fe6a5ed3 Gerrit-Change-Number: 24973 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 Jul 21 09:10:59 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 21 Jul 2021 09:10:59 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: add support for wildcarded DLCX In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24973 ) Change subject: mgcp_protocol: add support for wildcarded DLCX ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/24973/1/src/libosmo-mgcp/mgcp_protocol.c File src/libosmo-mgcp/mgcp_protocol.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24973/1/src/libosmo-mgcp/mgcp_protocol.c at 1365 PS1, Line 1365: * pointer will be populated, however it is guaranteed that only. */ > guaranteed that only? what? Done https://gerrit.osmocom.org/c/osmo-mgw/+/24973/1/src/libosmo-mgcp/mgcp_protocol.c at 1376 PS1, Line 1376: if (endp && !rq->wildcarded && llist_empty(&endp->conns)) { > can we still have endp and be wildcarded? yes. If the trunk resources are not exhausted we will always get an endpoint. (I am asking myself it it would be simpler to have an handle_delete_con_wc, basically we would do have two handlers then, one for the normal DLCX and one for the wildcarded. What also makes this patch complicated is the policy_cb. I must get past this code section to execute what I want to do and until there everything must be endp==NULL safe.) -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24973 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I5c2de6b2b61ee64ba9c0618fd20e8fc2fe6a5ed3 Gerrit-Change-Number: 24973 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 21 Jul 2021 09:10:59 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 21 09:12:40 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 21 Jul 2021 09:12:40 +0000 Subject: Change in osmo-mgw[master]: mgcp_trunk: use unsigned int instead of int as trunk_nr In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24963 ) Change subject: mgcp_trunk: use unsigned int instead of int as trunk_nr ...................................................................... mgcp_trunk: use unsigned int instead of int as trunk_nr the trunk_nr is in struct mgcp_trunk. The trunk number can not be negative and there is no magic value that makes use of the fact that it could be negative. Lets use unsigned int to make this less irretating. Change-Id: I5d0e1d76adb8c92d84331a0aca2496908e41d621 Related: SYS#5535 --- M include/osmocom/mgcp/mgcp_trunk.h M src/libosmo-mgcp/mgcp_endp.c M src/libosmo-mgcp/mgcp_ratectr.c M src/libosmo-mgcp/mgcp_trunk.c M src/libosmo-mgcp/mgcp_vty.c M src/osmo-mgw/mgw_main.c M tests/mgcp/mgcp_test.c 7 files changed, 63 insertions(+), 52 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve daniel: Looks good to me, approved diff --git a/include/osmocom/mgcp/mgcp_trunk.h b/include/osmocom/mgcp/mgcp_trunk.h index 326b16a..048ac5b 100644 --- a/include/osmocom/mgcp/mgcp_trunk.h +++ b/include/osmocom/mgcp/mgcp_trunk.h @@ -22,7 +22,7 @@ struct mgcp_config *cfg; - int trunk_nr; + unsigned int trunk_nr; enum mgcp_trunk_type trunk_type; char *audio_fmtp_extra; @@ -72,11 +72,11 @@ }; }; -struct mgcp_trunk *mgcp_trunk_alloc(struct mgcp_config *cfg, enum mgcp_trunk_type ttype, int nr); +struct mgcp_trunk *mgcp_trunk_alloc(struct mgcp_config *cfg, enum mgcp_trunk_type ttype, unsigned int nr); int mgcp_trunk_equip(struct mgcp_trunk *trunk); -struct mgcp_trunk *mgcp_trunk_by_num(const struct mgcp_config *cfg, enum mgcp_trunk_type ttype, int nr); +struct mgcp_trunk *mgcp_trunk_by_num(const struct mgcp_config *cfg, enum mgcp_trunk_type ttype, unsigned int nr); struct mgcp_trunk *mgcp_trunk_by_name(const struct mgcp_config *cfg, const char *epname); -int e1_trunk_nr_from_epname(const char *epname); +int e1_trunk_nr_from_epname(unsigned int *trunk_nr, const char *epname); struct mgcp_trunk *mgcp_trunk_by_line_num(const struct mgcp_config *cfg, unsigned int num); /* The virtual trunk is always created on trunk id 0 for historical reasons, diff --git a/src/libosmo-mgcp/mgcp_endp.c b/src/libosmo-mgcp/mgcp_endp.c index ddfd6cf..ae376b0 100644 --- a/src/libosmo-mgcp/mgcp_endp.c +++ b/src/libosmo-mgcp/mgcp_endp.c @@ -58,7 +58,7 @@ } /* Generate E1 endpoint name from given numeric parameters */ -static char *gen_e1_epname(void *ctx, const char *domain, uint8_t trunk_nr, +static char *gen_e1_epname(void *ctx, const char *domain, unsigned int trunk_nr, uint8_t ts_nr, uint8_t ss_nr) { unsigned int rate; diff --git a/src/libosmo-mgcp/mgcp_ratectr.c b/src/libosmo-mgcp/mgcp_ratectr.c index af1526a..1f8b233 100644 --- a/src/libosmo-mgcp/mgcp_ratectr.c +++ b/src/libosmo-mgcp/mgcp_ratectr.c @@ -195,7 +195,7 @@ rate_ctr_group_alloc(trunk, &mgcp_crcx_ctr_group_desc, crcx_rate_ctr_index); if (!ratectr->mgcp_crcx_ctr_group) return -EINVAL; - snprintf(ctr_name, sizeof(ctr_name), "%s-%d:crcx", mgcp_trunk_type_strs_str(trunk->trunk_type), + snprintf(ctr_name, sizeof(ctr_name), "%s-%u:crcx", mgcp_trunk_type_strs_str(trunk->trunk_type), trunk->trunk_nr); rate_ctr_group_set_name(ratectr->mgcp_crcx_ctr_group, ctr_name); talloc_set_destructor(ratectr->mgcp_crcx_ctr_group, free_rate_counter_group); @@ -206,7 +206,7 @@ rate_ctr_group_alloc(trunk, &mgcp_mdcx_ctr_group_desc, mdcx_rate_ctr_index); if (!ratectr->mgcp_mdcx_ctr_group) return -EINVAL; - snprintf(ctr_name, sizeof(ctr_name), "%s-%d:mdcx", mgcp_trunk_type_strs_str(trunk->trunk_type), + snprintf(ctr_name, sizeof(ctr_name), "%s-%u:mdcx", mgcp_trunk_type_strs_str(trunk->trunk_type), trunk->trunk_nr); rate_ctr_group_set_name(ratectr->mgcp_mdcx_ctr_group, ctr_name); talloc_set_destructor(ratectr->mgcp_mdcx_ctr_group, free_rate_counter_group); @@ -217,7 +217,7 @@ rate_ctr_group_alloc(trunk, &mgcp_dlcx_ctr_group_desc, dlcx_rate_ctr_index); if (!ratectr->mgcp_dlcx_ctr_group) return -EINVAL; - snprintf(ctr_name, sizeof(ctr_name), "%s-%d:dlcx", mgcp_trunk_type_strs_str(trunk->trunk_type), + snprintf(ctr_name, sizeof(ctr_name), "%s-%u:dlcx", mgcp_trunk_type_strs_str(trunk->trunk_type), trunk->trunk_nr); rate_ctr_group_set_name(ratectr->mgcp_dlcx_ctr_group, ctr_name); talloc_set_destructor(ratectr->mgcp_dlcx_ctr_group, free_rate_counter_group); @@ -228,7 +228,7 @@ all_rtp_conn_rate_ctr_index); if (!ratectr->all_rtp_conn_stats) return -EINVAL; - snprintf(ctr_name, sizeof(ctr_name), "%s-%d:rtp_conn", mgcp_trunk_type_strs_str(trunk->trunk_type), + snprintf(ctr_name, sizeof(ctr_name), "%s-%u:rtp_conn", mgcp_trunk_type_strs_str(trunk->trunk_type), trunk->trunk_nr); rate_ctr_group_set_name(ratectr->all_rtp_conn_stats, ctr_name); talloc_set_destructor(ratectr->all_rtp_conn_stats, free_rate_counter_group); @@ -240,7 +240,7 @@ ratectr->e1_stats = rate_ctr_group_alloc(trunk, &e1_rate_ctr_group_desc, mdcx_rate_ctr_index); if (!ratectr->e1_stats) return -EINVAL; - snprintf(ctr_name, sizeof(ctr_name), "%s-%d:e1", mgcp_trunk_type_strs_str(trunk->trunk_type), + snprintf(ctr_name, sizeof(ctr_name), "%s-%u:e1", mgcp_trunk_type_strs_str(trunk->trunk_type), trunk->trunk_nr); rate_ctr_group_set_name(ratectr->e1_stats, ctr_name); talloc_set_destructor(ratectr->e1_stats, free_rate_counter_group); diff --git a/src/libosmo-mgcp/mgcp_trunk.c b/src/libosmo-mgcp/mgcp_trunk.c index 08f99b3..27663b4 100644 --- a/src/libosmo-mgcp/mgcp_trunk.c +++ b/src/libosmo-mgcp/mgcp_trunk.c @@ -40,7 +40,7 @@ * \param[in] ttype trunk type. * \param[in] nr trunk number. * \returns pointer to allocated trunk, NULL on failure. */ -struct mgcp_trunk *mgcp_trunk_alloc(struct mgcp_config *cfg, enum mgcp_trunk_type ttype, int nr) +struct mgcp_trunk *mgcp_trunk_alloc(struct mgcp_config *cfg, enum mgcp_trunk_type ttype, unsigned int nr) { struct mgcp_trunk *trunk; @@ -171,7 +171,7 @@ * \param[in] ttype trunk type. * \param[in] nr trunk number. * \returns pointer to trunk configuration, NULL on error. */ -struct mgcp_trunk *mgcp_trunk_by_num(const struct mgcp_config *cfg, enum mgcp_trunk_type ttype, int nr) +struct mgcp_trunk *mgcp_trunk_by_num(const struct mgcp_config *cfg, enum mgcp_trunk_type ttype, unsigned int nr) { struct mgcp_trunk *trunk; @@ -184,9 +184,9 @@ } /* Made public for unit-testing, do not use from outside this file */ -int e1_trunk_nr_from_epname(const char *epname) +int e1_trunk_nr_from_epname(unsigned int *trunk_nr, const char *epname) { - unsigned long int trunk_nr; + unsigned long trunk_nr_temp; size_t prefix_len; char *str_trunk_nr_end; @@ -195,13 +195,15 @@ return -EINVAL; errno = 0; - trunk_nr = strtoul(epname + prefix_len, &str_trunk_nr_end, 10); - if (errno == ERANGE || trunk_nr > 64 + trunk_nr_temp = strtoul(epname + prefix_len, &str_trunk_nr_end, 10); + if (errno == ERANGE || trunk_nr_temp > 64 || epname + prefix_len == str_trunk_nr_end || str_trunk_nr_end[0] != '/') return -EINVAL; - else - return trunk_nr; + else { + *trunk_nr = (unsigned int)trunk_nr_temp; + return 0; + } } /*! Find a trunk by the trunk prefix in the endpoint name. @@ -212,7 +214,8 @@ { size_t prefix_len; char epname_lc[MGCP_ENDPOINT_MAXLEN]; - int trunk_nr; + unsigned int trunk_nr; + int rc; osmo_str_tolower_buf(epname_lc, sizeof(epname_lc), epname); epname = epname_lc; @@ -222,8 +225,8 @@ return mgcp_trunk_by_num(cfg, MGCP_TRUNK_VIRTUAL, MGCP_VIRT_TRUNK_ID); } - trunk_nr = e1_trunk_nr_from_epname(epname); - if (trunk_nr >= 0) + rc = e1_trunk_nr_from_epname(&trunk_nr, epname); + if (rc == 0) return mgcp_trunk_by_num(cfg, MGCP_TRUNK_E1, trunk_nr); /* Earlier versions of osmo-mgw were accepting endpoint names diff --git a/src/libosmo-mgcp/mgcp_vty.c b/src/libosmo-mgcp/mgcp_vty.c index 369c1c1..6bc09d0 100644 --- a/src/libosmo-mgcp/mgcp_vty.c +++ b/src/libosmo-mgcp/mgcp_vty.c @@ -200,11 +200,11 @@ } static void dump_endpoint(struct vty *vty, struct mgcp_endpoint *endp, - int trunk_nr, enum mgcp_trunk_type trunk_type, int show_stats) + unsigned int trunk_nr, enum mgcp_trunk_type trunk_type, int show_stats) { struct mgcp_conn *conn; - vty_out(vty, "%s trunk %d endpoint %s:%s", + vty_out(vty, "%s trunk %u endpoint %s:%s", trunk_type == MGCP_TRUNK_VIRTUAL ? "Virtual" : "E1", trunk_nr, endp->name, VTY_NEWLINE); vty_out(vty, " Availability: %s%s", mgcp_endp_avail(endp) ? "available" : "not in service", VTY_NEWLINE); @@ -382,7 +382,7 @@ /* If a trunk is given, search on that specific trunk only */ endp = mgcp_endp_by_name_trunk(NULL, epname, trunk); if (!endp) { - vty_out(vty, "endpoint %s not configured on trunk %d%s", epname, trunk->trunk_nr, VTY_NEWLINE); + vty_out(vty, "endpoint %s not configured on trunk %u%s", epname, trunk->trunk_nr, VTY_NEWLINE); return; } } else { @@ -963,7 +963,7 @@ "trunk <0-64>", "Configure a SS7 trunk\n" "Trunk Nr\n") { struct mgcp_trunk *trunk; - int index = atoi(argv[0]); + unsigned int index = atoi(argv[0]); trunk = mgcp_trunk_by_num(g_cfg, MGCP_TRUNK_E1, index); if (!trunk) { @@ -995,7 +995,7 @@ && trunk->trunk_nr == MGCP_VIRT_TRUNK_ID) continue; - vty_out(vty, " trunk %d%s", trunk->trunk_nr, VTY_NEWLINE); + vty_out(vty, " trunk %u%s", trunk->trunk_nr, VTY_NEWLINE); vty_out(vty, " line %u%s", trunk->e1.vty_line_nr, VTY_NEWLINE); vty_out(vty, " %ssdp audio-payload send-ptime%s", trunk->audio_send_ptime ? "" : "no ", VTY_NEWLINE); @@ -1335,7 +1335,7 @@ } if (!trunk->endpoints) { - vty_out(vty, "%%Trunk %d has no endpoints allocated.%s", + vty_out(vty, "%%Trunk %u has no endpoints allocated.%s", trunk->trunk_nr, VTY_NEWLINE); return CMD_WARNING; } @@ -1396,7 +1396,7 @@ } if (!trunk->endpoints) { - vty_out(vty, "%%Trunk %d has no endpoints allocated.%s", + vty_out(vty, "%%Trunk %u has no endpoints allocated.%s", trunk->trunk_nr, VTY_NEWLINE); return CMD_WARNING; } @@ -1463,7 +1463,7 @@ } if (!trunk->endpoints) { - vty_out(vty, "%%Trunk %d has no endpoints allocated.%s", + vty_out(vty, "%%Trunk %u has no endpoints allocated.%s", trunk->trunk_nr, VTY_NEWLINE); return CMD_WARNING; } @@ -1496,7 +1496,7 @@ } if (!trunk->endpoints) { - vty_out(vty, "%%Trunk %d has no endpoints allocated.%s", + vty_out(vty, "%%Trunk %u has no endpoints allocated.%s", trunk->trunk_nr, VTY_NEWLINE); return CMD_WARNING; } @@ -1756,7 +1756,7 @@ llist_for_each_entry(trunk, &g_cfg->trunks, entry) { if (mgcp_trunk_equip(trunk) != 0) { LOGP(DLMGCP, LOGL_ERROR, - "Failed to initialize trunk %d (%d endpoints)\n", + "Failed to initialize trunk %u (%d endpoints)\n", trunk->trunk_nr, trunk->number_endpoints); return -1; } diff --git a/src/osmo-mgw/mgw_main.c b/src/osmo-mgw/mgw_main.c index 113f691..52a1622 100644 --- a/src/osmo-mgw/mgw_main.c +++ b/src/osmo-mgw/mgw_main.c @@ -235,7 +235,7 @@ /* reset endpoints */ if (reset_endpoints) { LOGP(DLMGCP, LOGL_NOTICE, - "Asked to reset endpoints: %d/%d\n", + "Asked to reset endpoints: %u/%d\n", reset_trunk->trunk_nr, reset_trunk->trunk_type); /* reset flag */ diff --git a/tests/mgcp/mgcp_test.c b/tests/mgcp/mgcp_test.c index 7397f5c..bcbcc02 100644 --- a/tests/mgcp/mgcp_test.c +++ b/tests/mgcp/mgcp_test.c @@ -2149,42 +2149,50 @@ void test_e1_trunk_nr_from_epname() { - int trunk_nr; + unsigned int trunk_nr; + int rc; /* Note: e1_trunk_nr_from_epname does not check the text * after the E1 trunk number, after the delimiter * character "/" arbitrary text may follow. */ - trunk_nr = e1_trunk_nr_from_epname("ds/e1-0/s-1/su16-0"); + rc = e1_trunk_nr_from_epname(&trunk_nr, "ds/e1-0/s-1/su16-0"); OSMO_ASSERT(trunk_nr == 0); - trunk_nr = e1_trunk_nr_from_epname("ds/e1-1/s-1/su16-0"); + OSMO_ASSERT(rc == 0); + rc = e1_trunk_nr_from_epname(&trunk_nr, "ds/e1-1/s-1/su16-0"); OSMO_ASSERT(trunk_nr == 1); - trunk_nr = e1_trunk_nr_from_epname("ds/e1-2/s-2/su16-0"); + OSMO_ASSERT(rc == 0); + rc = e1_trunk_nr_from_epname(&trunk_nr, "ds/e1-2/s-2/su16-0"); OSMO_ASSERT(trunk_nr == 2); - trunk_nr = e1_trunk_nr_from_epname("ds/e1-3/s-23/su32-0"); + OSMO_ASSERT(rc == 0); + rc = e1_trunk_nr_from_epname(&trunk_nr, "ds/e1-3/s-23/su32-0"); OSMO_ASSERT(trunk_nr == 3); - trunk_nr = e1_trunk_nr_from_epname("ds/e1-3/xxxxxxx"); + OSMO_ASSERT(rc == 0); + rc = e1_trunk_nr_from_epname(&trunk_nr, "ds/e1-3/xxxxxxx"); OSMO_ASSERT(trunk_nr == 3); - trunk_nr = e1_trunk_nr_from_epname("ds/e1-24/s-1/su16-0"); + OSMO_ASSERT(rc == 0); + rc = e1_trunk_nr_from_epname(&trunk_nr, "ds/e1-24/s-1/su16-0"); OSMO_ASSERT(trunk_nr == 24); - trunk_nr = e1_trunk_nr_from_epname("ds/e1-64/s-1/su16-0"); + OSMO_ASSERT(rc == 0); + rc = e1_trunk_nr_from_epname(&trunk_nr, "ds/e1-64/s-1/su16-0"); OSMO_ASSERT(trunk_nr == 64); + OSMO_ASSERT(rc == 0); /* The following endpoint strings should fail, either the * trunk number exceeds the valid range or the trunk prefix * is wrong. Also when the delimiter character "/" at the * end of the trunk is wrong the parsing should fail. */ - trunk_nr = e1_trunk_nr_from_epname("ds/e1-65/s-1/su16-0"); - OSMO_ASSERT(trunk_nr == -EINVAL); - trunk_nr = e1_trunk_nr_from_epname("ds/e1--1/s-1/su16-0"); - OSMO_ASSERT(trunk_nr == -EINVAL); - trunk_nr = e1_trunk_nr_from_epname("xxxxxx4zyz"); - OSMO_ASSERT(trunk_nr == -EINVAL); - trunk_nr = e1_trunk_nr_from_epname("ds/e1+2/s-1/su16-0"); - OSMO_ASSERT(trunk_nr == -EINVAL); - trunk_nr = e1_trunk_nr_from_epname("ds/e2-24/s-1/su16-0"); - OSMO_ASSERT(trunk_nr == -EINVAL); - trunk_nr = e1_trunk_nr_from_epname("ds/e1-24s-1/su16-0"); - OSMO_ASSERT(trunk_nr == -EINVAL); + rc = e1_trunk_nr_from_epname(&trunk_nr, "ds/e1-65/s-1/su16-0"); + OSMO_ASSERT(rc == -EINVAL); + rc = e1_trunk_nr_from_epname(&trunk_nr, "ds/e1--1/s-1/su16-0"); + OSMO_ASSERT(rc == -EINVAL); + rc = e1_trunk_nr_from_epname(&trunk_nr, "xxxxxx4zyz"); + OSMO_ASSERT(rc == -EINVAL); + rc = e1_trunk_nr_from_epname(&trunk_nr, "ds/e1+2/s-1/su16-0"); + OSMO_ASSERT(rc == -EINVAL); + rc = e1_trunk_nr_from_epname(&trunk_nr, "ds/e2-24/s-1/su16-0"); + OSMO_ASSERT(rc == -EINVAL); + rc = e1_trunk_nr_from_epname(&trunk_nr, "ds/e1-24s-1/su16-0"); + OSMO_ASSERT(rc == -EINVAL); return; } -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24963 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I5d0e1d76adb8c92d84331a0aca2496908e41d621 Gerrit-Change-Number: 24963 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 21 09:13:01 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 21 Jul 2021 09:13:01 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: refactor MGCP request handling In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24941 ) Change subject: mgcp_protocol: refactor MGCP request handling ...................................................................... mgcp_protocol: refactor MGCP request handling At the moment the MGCP request handling and message parsing is not clearly separated. The function mgcp_parse_header() in mgcp_msg.c is also responsible for resolving an endpoint. This leads to unclear layer separation. We eventually end up in a situation where we can not execute any request handler without beeing able to resolve an endpoint, however this is necessary if we want to implement wildcarded DLCX resquests. In the current situation a wildcarded DLCX is not possible to implement as we always have to resolve a an to get to the trunk which we need to iterate. However, we just can't resolve a free endpoint in a situation where all endpoints on te trunk are in use. We have to refactor the request handler so that the parsing in mgcp_msg only extracts us the endpoint name. The resolving is then done in mgcp_handle_message() in mgcp_protocol.c. Then we are able to decide what to do if we are unable to resolve an endpoint but still be able to resolve the trunk. This patch does not change the behaviour of osmo-mgw yet, but it lays the foundation for request handler implementations that can still perform useful actions if no endpoint but a trunk has been resolved. A wilcarded DLCX is such a case. It does not need an endpoint, just the trunk. Change-Id: I9f519d8a0ee8a513fa1e74acf3ee7dbc0991cdde Related: SYS#5535 --- M include/osmocom/mgcp/mgcp_protocol.h M src/libosmo-mgcp/mgcp_msg.c M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_sdp.c 4 files changed, 208 insertions(+), 139 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve daniel: Looks good to me, approved diff --git a/include/osmocom/mgcp/mgcp_protocol.h b/include/osmocom/mgcp/mgcp_protocol.h index cdce02d..7ab283d 100644 --- a/include/osmocom/mgcp/mgcp_protocol.h +++ b/include/osmocom/mgcp/mgcp_protocol.h @@ -3,7 +3,7 @@ /* Internal structure while parsing a request */ struct mgcp_parse_data { struct mgcp_config *cfg; - struct mgcp_endpoint *endp; + char *epname; char *trans; char *save; }; diff --git a/src/libosmo-mgcp/mgcp_msg.c b/src/libosmo-mgcp/mgcp_msg.c index 8783e20..f8b486a 100644 --- a/src/libosmo-mgcp/mgcp_msg.c +++ b/src/libosmo-mgcp/mgcp_msg.c @@ -132,24 +132,19 @@ } /*! Analyze and parse the the hader of an MGCP messeage string. - * \param[out] pdata caller provided memory to store the parsing results - * \param[in] data mgcp message string - * \returns when the status line was complete and transaction_id and - * endp out parameters are set, -1 on error */ + * \param[out] pdata caller provided memory to store the parsing results. + * \param[in] data mgcp message string. + * \returns 0 when the status line was complete and parseable, negative (MGCP + * cause code) on error. */ int mgcp_parse_header(struct mgcp_parse_data *pdata, char *data) { int i = 0; char *elem, *save = NULL; - int cause; /*! This function will parse the header part of the received - * MGCP message. The parsing results are stored in pdata. - * The function will also automatically search the pool with - * available endpoints in order to find an endpoint that matches - * the endpoint string in in the header */ + * MGCP message. The parsing results are stored in pdata. */ OSMO_ASSERT(data); - pdata->trans = "000000"; for (elem = strtok_r(data, " ", &save); elem; elem = strtok_r(NULL, " ", &save)) { @@ -158,13 +153,7 @@ pdata->trans = elem; break; case 1: - pdata->endp = mgcp_endp_by_name(&cause, elem, pdata->cfg); - if (!pdata->endp) { - LOGP(DLMGCP, LOGL_ERROR, - "Unable to find Endpoint `%s'\n", elem); - OSMO_ASSERT(cause < 0); - return cause; - } + pdata->epname = elem; break; case 2: if (strcasecmp("MGCP", elem)) { @@ -174,11 +163,8 @@ } break; case 3: - if (strcmp("1.0", elem)) { - LOGP(DLMGCP, LOGL_ERROR, "MGCP version `%s' " - "not supported\n", elem); + if (strcmp("1.0", elem)) return -528; - } break; } i++; @@ -186,8 +172,6 @@ if (i != 4) { LOGP(DLMGCP, LOGL_ERROR, "MGCP status line too short.\n"); - pdata->trans = "000000"; - pdata->endp = NULL; return -510; } diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index f6daffc..b7ae748 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -46,6 +46,27 @@ #include #include +/* Request data passed to the request handler */ +struct mgcp_request_data { + /* request name (e.g. "MDCX") */ + char name[4+1]; + + /* parsing results from the MGCP header (trans id, endpoint name ...) */ + struct mgcp_parse_data *pdata; + + /* pointer to endpoint resource (may be NULL for wildcarded requests) */ + struct mgcp_endpoint *endp; + + /* pointer to trunk resource */ + struct mgcp_trunk *trunk; + + /* set to true when the request has been classified as wildcarded */ + bool wildcarded; + + /* contains cause code in case of problems during endp/trunk resolution */ + int mgcp_cause; +}; + /* Request handler specification, here we specify an array with function * pointers to the various MGCP requests implemented below */ struct mgcp_request { @@ -53,39 +74,49 @@ char *name; /* function pointer to the request handler */ - struct msgb *(*handle_request) (struct mgcp_parse_data * data); + struct msgb *(*handle_request)(struct mgcp_request_data *data); + + /* true if the request requires an endpoint, false if only a trunk + * is sufficient. (corner cases, e.g. wildcarded DLCX) */ + bool require_endp; /* a human readable name that describes the request */ char *debug_name; }; -static struct msgb *handle_audit_endpoint(struct mgcp_parse_data *data); -static struct msgb *handle_create_con(struct mgcp_parse_data *data); -static struct msgb *handle_delete_con(struct mgcp_parse_data *data); -static struct msgb *handle_modify_con(struct mgcp_parse_data *data); -static struct msgb *handle_rsip(struct mgcp_parse_data *data); -static struct msgb *handle_noti_req(struct mgcp_parse_data *data); +static struct msgb *handle_audit_endpoint(struct mgcp_request_data *data); +static struct msgb *handle_create_con(struct mgcp_request_data *data); +static struct msgb *handle_delete_con(struct mgcp_request_data *data); +static struct msgb *handle_modify_con(struct mgcp_request_data *data); +static struct msgb *handle_rsip(struct mgcp_request_data *data); +static struct msgb *handle_noti_req(struct mgcp_request_data *data); static const struct mgcp_request mgcp_requests[] = { { .name = "AUEP", .handle_request = handle_audit_endpoint, - .debug_name = "AuditEndpoint" }, + .debug_name = "AuditEndpoint", + .require_endp = true }, { .name = "CRCX", .handle_request = handle_create_con, - .debug_name = "CreateConnection" }, + .debug_name = "CreateConnection", + .require_endp = true }, { .name = "DLCX", .handle_request = handle_delete_con, - .debug_name = "DeleteConnection" }, + .debug_name = "DeleteConnection", + .require_endp = true }, { .name = "MDCX", .handle_request = handle_modify_con, - .debug_name = "ModifiyConnection" }, + .debug_name = "ModifiyConnection", + .require_endp = true }, { .name = "RQNT", .handle_request = handle_noti_req, - .debug_name = "NotificationRequest" }, + .debug_name = "NotificationRequest", + .require_endp = true }, /* SPEC extension */ { .name = "RSIP", .handle_request = handle_rsip, - .debug_name = "ReSetInProgress" }, + .debug_name = "ReSetInProgress", + .require_endp = true }, }; /* Initalize transcoder */ @@ -295,6 +326,7 @@ { struct rate_ctr_group *rate_ctrs = cfg->ratectr.mgcp_general_ctr_group; struct mgcp_parse_data pdata; + struct mgcp_request_data rq; int rc, i, code, handled = 0; struct msgb *resp = NULL; char *data; @@ -322,55 +354,103 @@ return NULL; } - msg->l3h = &msg->l2h[4]; - /* - * Check for a duplicate message and respond. - */ + /* Parse message, extract endpoint name and transaction identifier and request name etc. */ memset(&pdata, 0, sizeof(pdata)); + memset(&rq, 0, sizeof(rq)); pdata.cfg = cfg; + memcpy(rq.name, (const char *)&msg->l2h[0], sizeof(rq.name)-1); + msg->l3h = &msg->l2h[4]; data = mgcp_strline((char *)msg->l3h, &pdata.save); rc = mgcp_parse_header(&pdata, data); - if (pdata.endp && pdata.trans - && pdata.endp->last_trans - && strcmp(pdata.endp->last_trans, pdata.trans) == 0) { - rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_GENERAL_RX_MSGS_RETRANSMITTED)); - return do_retransmission(pdata.endp); - } - - /* check for general parser failure */ if (rc < 0) { - LOGP(DLMGCP, LOGL_NOTICE, "%s: failed to find the endpoint\n", msg->l2h); - rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_GENERAL_RX_FAIL_NO_ENDPOINT)); - return create_err_response(NULL, -rc, (const char *) msg->l2h, pdata.trans); + LOGP(DLMGCP, LOGL_ERROR, "%s: failed to parse MCGP message\n", rq.name); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_GENERAL_RX_FAIL_MSG_PARSE)); + return create_err_response(NULL, -rc, rq.name, "000000"); } - for (i = 0; i < ARRAY_SIZE(mgcp_requests); ++i) { - if (strncmp - (mgcp_requests[i].name, (const char *)&msg->l2h[0], - 4) == 0) { + /* Locate endpoint and trunk, if no endpoint can be located try at least to identify the trunk. */ + rq.pdata = &pdata; + rq.wildcarded = mgcp_endp_is_wildcarded(pdata.epname); + rq.endp = mgcp_endp_by_name(&rc, pdata.epname, pdata.cfg); + rq.mgcp_cause = rc; + if (!rq.endp) { + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_GENERAL_RX_FAIL_NO_ENDPOINT)); + if (rq.wildcarded) { + /* If we are unable to find the endpoint we still may be able to identify the trunk. Some + * request handlers will still be able to perform a useful action if the request refers to + * the whole trunk (wildcarded request). */ + LOGP(DLMGCP, LOGL_NOTICE, + "%s: cannot find endpoint \"%s\", cause=%d -- trying to identify trunk...\n", rq.name, + pdata.epname, -rq.mgcp_cause); + rq.trunk = mgcp_trunk_by_name(pdata.cfg, pdata.epname); + if (!rq.trunk) { + LOGP(DLMGCP, LOGL_ERROR, "%s: failed to identify trunk for endpoint \"%s\" -- abort\n", + rq.name, pdata.epname); + return create_err_response(NULL, -rq.mgcp_cause, rq.name, pdata.trans); + } + } else { + /* If the endpoint name suggests that the request refers to a specific endpoint, then the + * request cannot be handled and we must stop early. */ + LOGP(DLMGCP, LOGL_NOTICE, + "%s: cannot find endpoint \"%s\", cause=%d -- abort\n", rq.name, + pdata.epname, -rq.mgcp_cause); + return create_err_response(NULL, -rq.mgcp_cause, rq.name, pdata.trans); + } + } else { + rq.trunk = rq.endp->trunk; + rq.mgcp_cause = 0; + + /* Check if we have to retransmit a response from a previous transaction */ + if (pdata.trans && rq.endp->last_trans && strcmp(rq.endp->last_trans, pdata.trans) == 0) { + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_GENERAL_RX_MSGS_RETRANSMITTED)); + return do_retransmission(rq.endp); + } + } + + /* Find an appropriate handler for the current request and execute it */ + for (i = 0; i < ARRAY_SIZE(mgcp_requests); i++) { + if (strcmp(mgcp_requests[i].name, rq.name) == 0) { + /* Check if the request requires and endpoint, if yes, check if we have it, otherwise don't + * execute the request handler. */ + if (mgcp_requests[i].require_endp && !rq.endp) { + LOGP(DLMGCP, LOGL_ERROR, + "%s: the request handler \"%s\" requires an endpoint resource for \"%s\", which is not available -- abort\n", + rq.name, mgcp_requests[i].debug_name, pdata.epname); + return create_err_response(NULL, -rq.mgcp_cause, rq.name, pdata.trans); + } + + /* Execute request handler */ + if (rq.endp) + LOGP(DLMGCP, LOGL_INFO, + "%s: executing request handler \"%s\" for endpoint resource \"%s\"\n", rq.name, + mgcp_requests[i].debug_name, rq.endp->name); + else + LOGP(DLMGCP, LOGL_INFO, + "%s: executing request handler \"%s\" for trunk resource of endpoint \"%s\"\n", + rq.name, mgcp_requests[i].debug_name, pdata.epname); + resp = mgcp_requests[i].handle_request(&rq); handled = 1; - resp = mgcp_requests[i].handle_request(&pdata); break; } } + /* Check if the MGCP request was handled and increment rate counters accordingly. */ if (handled) { rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_GENERAL_RX_MSGS_HANDLED)); } else { rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_GENERAL_RX_MSGS_UNHANDLED)); - LOGP(DLMGCP, LOGL_NOTICE, "MSG with type: '%.4s' not handled\n", - &msg->l2h[0]); + LOGP(DLMGCP, LOGL_ERROR, "MSG with type: '%.4s' not handled\n", &msg->l2h[0]); } return resp; } /* AUEP command handler, processes the received command */ -static struct msgb *handle_audit_endpoint(struct mgcp_parse_data *p) +static struct msgb *handle_audit_endpoint(struct mgcp_request_data *rq) { - LOGPENDP(p->endp, DLMGCP, LOGL_NOTICE, "AUEP: auditing endpoint ...\n"); - return create_ok_response(p->endp, 200, "AUEP", p->trans); + LOGPENDP(rq->endp, DLMGCP, LOGL_NOTICE, "AUEP: auditing endpoint ...\n"); + return create_ok_response(rq->endp, 200, "AUEP", rq->pdata->trans); } /* Try to find a free port by attempting to bind on it. Also handle the @@ -661,9 +741,9 @@ /* Process codec information contained in CRCX/MDCX */ static int handle_codec_info(struct mgcp_conn_rtp *conn, - struct mgcp_parse_data *p, int have_sdp, bool crcx) + struct mgcp_request_data *rq, int have_sdp, bool crcx) { - struct mgcp_endpoint *endp = p->endp; + struct mgcp_endpoint *endp = rq->endp; int rc; char *cmd; @@ -677,7 +757,7 @@ /* If we have SDP, we ignore the local connection options and * use only the SDP information. */ mgcp_codec_reset_all(conn); - rc = mgcp_parse_sdp_data(endp, conn, p); + rc = mgcp_parse_sdp_data(endp, conn, rq->pdata); if (rc != 0) { LOGPCONN(conn->conn, DLMGCP, LOGL_ERROR, "%s: sdp not parseable\n", cmd); @@ -743,10 +823,11 @@ } /* CRCX command handler, processes the received command */ -static struct msgb *handle_create_con(struct mgcp_parse_data *p) +static struct msgb *handle_create_con(struct mgcp_request_data *rq) { - struct mgcp_trunk *trunk = p->endp->trunk; - struct mgcp_endpoint *endp = p->endp; + struct mgcp_parse_data *pdata = rq->pdata; + struct mgcp_trunk *trunk = rq->trunk; + struct mgcp_endpoint *endp = rq->endp; struct rate_ctr_group *rate_ctrs = trunk->ratectr.mgcp_crcx_ctr_group; int error_code = 400; const char *local_options = NULL; @@ -765,11 +846,11 @@ rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_AVAIL)); LOGPENDP(endp, DLMGCP, LOGL_ERROR, "CRCX: selected endpoint not available!\n"); - return create_err_response(NULL, 501, "CRCX", p->trans); + return create_err_response(NULL, 501, "CRCX", pdata->trans); } /* parse CallID C: and LocalParameters L: */ - for_each_line(line, p->save) { + for_each_line(line, pdata->save) { if (!mgcp_check_param(endp, line)) continue; @@ -785,7 +866,7 @@ * together with a CRCX, the MGW will assign the * connection identifier by itself on CRCX */ rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_BAD_ACTION)); - return create_err_response(NULL, 523, "CRCX", p->trans); + return create_err_response(NULL, 523, "CRCX", pdata->trans); break; case 'M': mode = (const char *)line + 3; @@ -793,7 +874,7 @@ case 'X': if (strncasecmp("Osmux: ", line + 2, strlen("Osmux: ")) == 0) { /* If osmux is disabled, just skip setting it up */ - if (!p->endp->cfg->osmux) + if (!rq->endp->cfg->osmux) break; osmux_cid = mgcp_osmux_setup(endp, line); break; @@ -811,7 +892,7 @@ LOGPENDP(endp, DLMGCP, LOGL_NOTICE, "CRCX: unhandled option: '%c'/%d\n", *line, *line); rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_UNHANDLED_PARAM)); - return create_err_response(NULL, 539, "CRCX", p->trans); + return create_err_response(NULL, 539, "CRCX", pdata->trans); break; } } @@ -822,14 +903,14 @@ LOGPENDP(endp, DLMGCP, LOGL_ERROR, "CRCX: insufficient parameters, missing callid\n"); rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_MISSING_CALLID)); - return create_err_response(endp, 516, "CRCX", p->trans); + return create_err_response(endp, 516, "CRCX", pdata->trans); } if (!mode) { LOGPENDP(endp, DLMGCP, LOGL_ERROR, "CRCX: insufficient parameters, missing mode\n"); rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_INVALID_MODE)); - return create_err_response(endp, 517, "CRCX", p->trans); + return create_err_response(endp, 517, "CRCX", pdata->trans); } /* Check if we are able to accept the creation of another connection */ @@ -846,7 +927,7 @@ /* There is no more room for a connection, leave * everything as it is and return with an error */ rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_LIMIT_EXCEEDED)); - return create_err_response(endp, 540, "CRCX", p->trans); + return create_err_response(endp, 540, "CRCX", pdata->trans); } } @@ -864,7 +945,7 @@ /* This is not our call, leave everything as it is and * return with an error. */ rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_UNKNOWN_CALLID)); - return create_err_response(endp, 400, "CRCX", p->trans); + return create_err_response(endp, 400, "CRCX", pdata->trans); } } @@ -875,7 +956,7 @@ rc = mgcp_endp_claim(endp, callid); if (rc != 0) { rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_CLAIM)); - return create_err_response(endp, 502, "CRCX", p->trans); + return create_err_response(endp, 502, "CRCX", pdata->trans); } } @@ -916,7 +997,7 @@ /* Set local connection options, if present */ if (local_options) { - rc = set_local_cx_options(endp->trunk->endpoints, + rc = set_local_cx_options(trunk->endpoints, &endp->local_options, local_options); if (rc != 0) { LOGPCONN(_conn, DLMGCP, LOGL_ERROR, @@ -928,7 +1009,7 @@ } /* Handle codec information and decide for a suitable codec */ - rc = handle_codec_info(conn, p, have_sdp, true); + rc = handle_codec_info(conn, rq, have_sdp, true); mgcp_codec_summary(conn); if (rc) { error_code = rc; @@ -939,8 +1020,8 @@ conn->end.fmtp_extra = talloc_strdup(trunk->endpoints, trunk->audio_fmtp_extra); - if (p->cfg->force_ptime) { - conn->end.packet_duration_ms = p->cfg->force_ptime; + if (pdata->cfg->force_ptime) { + conn->end.packet_duration_ms = pdata->cfg->force_ptime; conn->end.force_output_ptime = 1; } @@ -973,16 +1054,16 @@ } /* policy CB */ - if (p->cfg->policy_cb) { + if (pdata->cfg->policy_cb) { int rc; - rc = p->cfg->policy_cb(endp, MGCP_ENDP_CRCX, p->trans); + rc = pdata->cfg->policy_cb(endp, MGCP_ENDP_CRCX, pdata->trans); switch (rc) { case MGCP_POLICY_REJECT: LOGPCONN(_conn, DLMGCP, LOGL_NOTICE, "CRCX: CRCX rejected by policy\n"); mgcp_endp_release(endp); rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_REJECTED_BY_POLICY)); - return create_err_response(endp, 400, "CRCX", p->trans); + return create_err_response(endp, 400, "CRCX", pdata->trans); break; case MGCP_POLICY_DEFER: /* stop processing */ @@ -996,8 +1077,8 @@ LOGPCONN(conn->conn, DLMGCP, LOGL_DEBUG, "CRCX: Creating connection: port: %u\n", conn->end.local_port); - if (p->cfg->change_cb) - p->cfg->change_cb(endp, MGCP_ENDP_CRCX); + if (pdata->cfg->change_cb) + pdata->cfg->change_cb(endp, MGCP_ENDP_CRCX); /* Send dummy packet, see also comments in mgcp_keepalive_timer_cb() */ OSMO_ASSERT(trunk->keepalive_interval >= MGCP_KEEPALIVE_ONCE); @@ -1010,19 +1091,21 @@ "CRCX: connection successfully created\n"); rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_SUCCESS)); mgcp_endp_update(endp); - return create_response_with_sdp(endp, conn, "CRCX", p->trans, true); + return create_response_with_sdp(endp, conn, "CRCX", pdata->trans, true); error2: mgcp_endp_release(endp); LOGPENDP(endp, DLMGCP, LOGL_NOTICE, "CRCX: unable to create connection\n"); - return create_err_response(endp, error_code, "CRCX", p->trans); + return create_err_response(endp, error_code, "CRCX", pdata->trans); } /* MDCX command handler, processes the received command */ -static struct msgb *handle_modify_con(struct mgcp_parse_data *p) +static struct msgb *handle_modify_con(struct mgcp_request_data *rq) { - struct mgcp_endpoint *endp = p->endp; - struct rate_ctr_group *rate_ctrs = endp->trunk->ratectr.mgcp_mdcx_ctr_group; + struct mgcp_parse_data *pdata = rq->pdata; + struct mgcp_trunk *trunk = rq->trunk; + struct mgcp_endpoint *endp = rq->endp; + struct rate_ctr_group *rate_ctrs = trunk->ratectr.mgcp_mdcx_ctr_group; char new_local_addr[INET6_ADDRSTRLEN]; int error_code = 500; int silent = 0; @@ -1041,25 +1124,25 @@ rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_FAIL_AVAIL)); LOGPENDP(endp, DLMGCP, LOGL_ERROR, "MDCX: selected endpoint not available!\n"); - return create_err_response(NULL, 501, "MDCX", p->trans); + return create_err_response(NULL, 501, "MDCX", pdata->trans); } /* Prohibit wildcarded requests */ - if (endp->wildcarded_req) { + if (rq->wildcarded) { LOGPENDP(endp, DLMGCP, LOGL_ERROR, "MDCX: wildcarded endpoint names not supported.\n"); rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_FAIL_WILDCARD)); - return create_err_response(endp, 507, "MDCX", p->trans); + return create_err_response(endp, 507, "MDCX", pdata->trans); } if (llist_count(&endp->conns) <= 0) { LOGPENDP(endp, DLMGCP, LOGL_ERROR, "MDCX: endpoint is not holding a connection.\n"); rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_FAIL_NO_CONN)); - return create_err_response(endp, 400, "MDCX", p->trans); + return create_err_response(endp, 400, "MDCX", pdata->trans); } - for_each_line(line, p->save) { + for_each_line(line, pdata->save) { if (!mgcp_check_param(endp, line)) continue; @@ -1090,7 +1173,7 @@ case 'X': if (strncasecmp("Osmux: ", line + 2, strlen("Osmux: ")) == 0) { /* If osmux is disabled, just skip setting it up */ - if (!p->endp->cfg->osmux) + if (!endp->cfg->osmux) break; osmux_cid = mgcp_osmux_setup(endp, line); break; @@ -1106,7 +1189,7 @@ "MDCX: Unhandled MGCP option: '%c'/%d\n", line[0], line[0]); rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_FAIL_UNHANDLED_PARAM)); - return create_err_response(NULL, 539, "MDCX", p->trans); + return create_err_response(NULL, 539, "MDCX", pdata->trans); break; } } @@ -1116,13 +1199,13 @@ LOGPENDP(endp, DLMGCP, LOGL_ERROR, "MDCX: insufficient parameters, missing ci (connectionIdentifier)\n"); rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_FAIL_NO_CONNID)); - return create_err_response(endp, 515, "MDCX", p->trans); + return create_err_response(endp, 515, "MDCX", pdata->trans); } conn = mgcp_conn_get_rtp(endp, conn_id); if (!conn) { rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_FAIL_CONN_NOT_FOUND)); - return create_err_response(endp, 400, "MDCX", p->trans); + return create_err_response(endp, 400, "MDCX", pdata->trans); } mgcp_conn_watchdog_kick(conn->conn); @@ -1138,7 +1221,7 @@ /* Set local connection options, if present */ if (local_options) { - rc = set_local_cx_options(endp->trunk->endpoints, + rc = set_local_cx_options(trunk->endpoints, &endp->local_options, local_options); if (rc != 0) { LOGPCONN(conn->conn, DLMGCP, LOGL_ERROR, @@ -1150,7 +1233,7 @@ } /* Handle codec information and decide for a suitable codec */ - rc = handle_codec_info(conn, p, have_sdp, false); + rc = handle_codec_info(conn, rq, have_sdp, false); mgcp_codec_summary(conn); if (rc) { error_code = rc; @@ -1209,9 +1292,9 @@ /* policy CB */ - if (p->cfg->policy_cb) { + if (pdata->cfg->policy_cb) { int rc; - rc = p->cfg->policy_cb(endp, MGCP_ENDP_MDCX, p->trans); + rc = pdata->cfg->policy_cb(endp, MGCP_ENDP_MDCX, pdata->trans); switch (rc) { case MGCP_POLICY_REJECT: LOGPCONN(conn->conn, DLMGCP, LOGL_NOTICE, @@ -1219,7 +1302,7 @@ rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_FAIL_REJECTED_BY_POLICY)); if (silent) goto out_silent; - return create_err_response(endp, 400, "MDCX", p->trans); + return create_err_response(endp, 400, "MDCX", pdata->trans); break; case MGCP_POLICY_DEFER: /* stop processing */ @@ -1239,14 +1322,14 @@ /* modify */ LOGPCONN(conn->conn, DLMGCP, LOGL_DEBUG, "MDCX: modified conn:%s\n", mgcp_conn_dump(conn->conn)); - if (p->cfg->change_cb) - p->cfg->change_cb(endp, MGCP_ENDP_MDCX); + if (pdata->cfg->change_cb) + pdata->cfg->change_cb(endp, MGCP_ENDP_MDCX); /* Send dummy packet, see also comments in mgcp_keepalive_timer_cb() */ - OSMO_ASSERT(endp->trunk->keepalive_interval >= MGCP_KEEPALIVE_ONCE); + OSMO_ASSERT(trunk->keepalive_interval >= MGCP_KEEPALIVE_ONCE); if (conn->conn->mode & MGCP_CONN_RECV_ONLY && mgcp_rtp_end_remote_addr_available(&conn->end) && - endp->trunk->keepalive_interval != MGCP_KEEPALIVE_NEVER) + trunk->keepalive_interval != MGCP_KEEPALIVE_NEVER) send_dummy(endp, conn); rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_SUCCESS)); @@ -1256,9 +1339,9 @@ LOGPCONN(conn->conn, DLMGCP, LOGL_NOTICE, "MDCX: connection successfully modified\n"); mgcp_endp_update(endp); - return create_response_with_sdp(endp, conn, "MDCX", p->trans, false); + return create_response_with_sdp(endp, conn, "MDCX", pdata->trans, false); error3: - return create_err_response(endp, error_code, "MDCX", p->trans); + return create_err_response(endp, error_code, "MDCX", pdata->trans); out_silent: LOGPENDP(endp, DLMGCP, LOGL_DEBUG, "MDCX: silent exit\n"); @@ -1266,10 +1349,12 @@ } /* DLCX command handler, processes the received command */ -static struct msgb *handle_delete_con(struct mgcp_parse_data *p) +static struct msgb *handle_delete_con(struct mgcp_request_data *rq) { - struct mgcp_endpoint *endp = p->endp; - struct rate_ctr_group *rate_ctrs = endp->trunk->ratectr.mgcp_dlcx_ctr_group; + struct mgcp_parse_data *pdata = rq->pdata; + struct mgcp_trunk *trunk = rq->trunk; + struct mgcp_endpoint *endp = rq->endp; + struct rate_ctr_group *rate_ctrs = trunk->ratectr.mgcp_dlcx_ctr_group; int error_code = 400; int silent = 0; char *line; @@ -1284,7 +1369,7 @@ rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_FAIL_AVAIL)); LOGPENDP(endp, DLMGCP, LOGL_ERROR, "DLCX: selected endpoint not available!\n"); - return create_err_response(NULL, 501, "DLCX", p->trans); + return create_err_response(NULL, 501, "DLCX", pdata->trans); } /* Prohibit wildcarded requests */ @@ -1292,17 +1377,17 @@ LOGPENDP(endp, DLMGCP, LOGL_ERROR, "DLCX: wildcarded endpoint names not supported.\n"); rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_FAIL_WILDCARD)); - return create_err_response(endp, 507, "DLCX", p->trans); + return create_err_response(endp, 507, "DLCX", pdata->trans); } if (llist_count(&endp->conns) <= 0) { LOGPENDP(endp, DLMGCP, LOGL_ERROR, "DLCX: endpoint is not holding a connection.\n"); rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_FAIL_NO_CONN)); - return create_err_response(endp, 515, "DLCX", p->trans); + return create_err_response(endp, 515, "DLCX", pdata->trans); } - for_each_line(line, p->save) { + for_each_line(line, pdata->save) { if (!mgcp_check_param(endp, line)) continue; @@ -1329,22 +1414,22 @@ "DLCX: Unhandled MGCP option: '%c'/%d\n", line[0], line[0]); rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_FAIL_UNHANDLED_PARAM)); - return create_err_response(NULL, 539, "DLCX", p->trans); + return create_err_response(NULL, 539, "DLCX", pdata->trans); break; } } /* policy CB */ - if (p->cfg->policy_cb) { + if (pdata->cfg->policy_cb) { int rc; - rc = p->cfg->policy_cb(endp, MGCP_ENDP_DLCX, p->trans); + rc = pdata->cfg->policy_cb(endp, MGCP_ENDP_DLCX, pdata->trans); switch (rc) { case MGCP_POLICY_REJECT: LOGPENDP(endp, DLMGCP, LOGL_NOTICE, "DLCX: rejected by policy\n"); rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_FAIL_REJECTED_BY_POLICY)); if (silent) goto out_silent; - return create_err_response(endp, 400, "DLCX", p->trans); + return create_err_response(endp, 400, "DLCX", pdata->trans); break; case MGCP_POLICY_DEFER: /* stop processing */ @@ -1374,7 +1459,7 @@ /* Note: In this case we do not return any statistics, * as we assume that the client is not interested in * this case. */ - return create_ok_response(endp, 200, "DLCX", p->trans); + return create_ok_response(endp, 200, "DLCX", pdata->trans); } /* Find the connection */ @@ -1400,16 +1485,16 @@ LOGPENDP(endp, DLMGCP, LOGL_DEBUG, "DLCX: endpoint released\n"); } - if (p->cfg->change_cb) - p->cfg->change_cb(endp, MGCP_ENDP_DLCX); + if (pdata->cfg->change_cb) + pdata->cfg->change_cb(endp, MGCP_ENDP_DLCX); rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_SUCCESS)); if (silent) goto out_silent; - return create_ok_resp_with_param(endp, 250, "DLCX", p->trans, stats); + return create_ok_resp_with_param(endp, 250, "DLCX", pdata->trans, stats); error3: - return create_err_response(endp, error_code, "DLCX", p->trans); + return create_err_response(endp, error_code, "DLCX", pdata->trans); out_silent: LOGPENDP(endp, DLMGCP, LOGL_DEBUG, "DLCX: silent exit\n"); @@ -1417,7 +1502,7 @@ } /* RSIP command handler, processes the received command */ -static struct msgb *handle_rsip(struct mgcp_parse_data *p) +static struct msgb *handle_rsip(struct mgcp_request_data *rq) { /* TODO: Also implement the resetting of a specific endpoint * to make mgcp_send_reset_ep() work. Currently this will call @@ -1429,8 +1514,8 @@ LOGP(DLMGCP, LOGL_NOTICE, "RSIP: resetting all endpoints ...\n"); - if (p->cfg->reset_cb) - p->cfg->reset_cb(p->endp->trunk); + if (rq->pdata->cfg->reset_cb) + rq->pdata->cfg->reset_cb(rq->endp->trunk); return NULL; } @@ -1446,7 +1531,7 @@ /* This can request like DTMF detection and forward, fax detection... it * can also request when the notification should be send and such. We don't * do this right now. */ -static struct msgb *handle_noti_req(struct mgcp_parse_data *p) +static struct msgb *handle_noti_req(struct mgcp_request_data *rq) { int res = 0; char *line; @@ -1454,7 +1539,7 @@ LOGP(DLMGCP, LOGL_NOTICE, "RQNT: processing request for notification ...\n"); - for_each_line(line, p->save) { + for_each_line(line, rq->pdata->save) { switch (toupper(line[0])) { case 'S': tone = extract_tone(line); @@ -1464,14 +1549,14 @@ /* we didn't see a signal request with a tone */ if (tone == CHAR_MAX) - return create_ok_response(p->endp, 200, "RQNT", p->trans); + return create_ok_response(rq->endp, 200, "RQNT", rq->pdata->trans); - if (p->cfg->rqnt_cb) - res = p->cfg->rqnt_cb(p->endp, tone); + if (rq->pdata->cfg->rqnt_cb) + res = rq->pdata->cfg->rqnt_cb(rq->endp, tone); return res == 0 ? - create_ok_response(p->endp, 200, "RQNT", p->trans) : - create_err_response(p->endp, res, "RQNT", p->trans); + create_ok_response(rq->endp, 200, "RQNT", rq->pdata->trans) : + create_err_response(rq->endp, res, "RQNT", rq->pdata->trans); } /* Connection keepalive timer, will take care that dummy packets are send diff --git a/src/libosmo-mgcp/mgcp_sdp.c b/src/libosmo-mgcp/mgcp_sdp.c index e98ca94..0759c96 100644 --- a/src/libosmo-mgcp/mgcp_sdp.c +++ b/src/libosmo-mgcp/mgcp_sdp.c @@ -398,7 +398,7 @@ return -1; break; default: - if (p->endp) + if (endp) /* TODO: Check spec: We used the bare endpoint number before, * now we use the endpoint name as a whole? Is this allowed? */ LOGP(DLMGCP, LOGL_NOTICE, -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24941 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I9f519d8a0ee8a513fa1e74acf3ee7dbc0991cdde Gerrit-Change-Number: 24941 Gerrit-PatchSet: 9 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 21 09:13:10 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 21 Jul 2021 09:13:10 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: refactor function create_response_with_sdp In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24972 ) Change subject: mgcp_protocol: refactor function create_response_with_sdp ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24972 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7e29c513f4386832646e96194ed6c2397405ed3b Gerrit-Change-Number: 24972 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 21 Jul 2021 09:13: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 Jul 21 09:13:22 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 21 Jul 2021 09:13:22 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: add stats items to monitor trunk usage In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24942 ) Change subject: mgcp_ratectr: add stats items to monitor trunk usage ...................................................................... mgcp_ratectr: add stats items to monitor trunk usage We are currently counting events in rate counters, but there is currently no way to get a sample of the current situation of the trunk usage. In particular how many endpoints are currently in use. Change-Id: Ib7b654168dc3512f55e45cc4755dc1f6f423d023 Related: SYS#5535 --- M include/osmocom/mgcp/mgcp_ratectr.h M include/osmocom/mgcp/mgcp_trunk.h M src/libosmo-mgcp/mgcp_endp.c M src/libosmo-mgcp/mgcp_ratectr.c M src/libosmo-mgcp/mgcp_trunk.c M tests/mgcp/mgcp_test.c 6 files changed, 94 insertions(+), 21 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve daniel: Looks good to me, approved diff --git a/include/osmocom/mgcp/mgcp_ratectr.h b/include/osmocom/mgcp/mgcp_ratectr.h index 78c687b..0bd6f88 100644 --- a/include/osmocom/mgcp/mgcp_ratectr.h +++ b/include/osmocom/mgcp/mgcp_ratectr.h @@ -95,3 +95,17 @@ int mgcp_ratectr_global_alloc(struct mgcp_config *cfg); int mgcp_ratectr_trunk_alloc(struct mgcp_trunk *trunk); + +/* Trunk-global common stat items */ +enum { + TRUNK_STAT_ENDPOINTS_TOTAL, + TRUNK_STAT_ENDPOINTS_USED, +}; + +struct mgcp_stat_trunk { + /* Stat item group which contains general status values of the trunk. */ + struct osmo_stat_item_group *common; +}; + +int mgcp_stat_trunk_alloc(struct mgcp_trunk *trunk); + diff --git a/include/osmocom/mgcp/mgcp_trunk.h b/include/osmocom/mgcp/mgcp_trunk.h index 048ac5b..d960428 100644 --- a/include/osmocom/mgcp/mgcp_trunk.h +++ b/include/osmocom/mgcp/mgcp_trunk.h @@ -52,8 +52,9 @@ unsigned int number_endpoints; struct mgcp_endpoint **endpoints; - /* global rate counters to measure the trunks overall performance and health */ + /* rate counters and stat items to measure the trunks overall performance and health */ struct mgcp_ratectr_trunk ratectr; + struct mgcp_stat_trunk stats; union { /* Virtual trunk specific */ diff --git a/src/libosmo-mgcp/mgcp_endp.c b/src/libosmo-mgcp/mgcp_endp.c index ae376b0..7df4a80 100644 --- a/src/libosmo-mgcp/mgcp_endp.c +++ b/src/libosmo-mgcp/mgcp_endp.c @@ -29,6 +29,7 @@ #include #include +#include #define E1_RATE_MAX 64 #define E1_OFFS_MAX 8 @@ -122,6 +123,12 @@ * RSIP is executed), free them all at once. */ mgcp_conn_free_all(endp); + /* We must only decrement the stat item when the endpoint as actually + * claimed. An endpoint is claimed when a call-id is set */ + if (endp->callid) + osmo_stat_item_dec(osmo_stat_item_group_get_item(endp->trunk->stats.common, + TRUNK_STAT_ENDPOINTS_USED), 1); + /* Reset endpoint parameters and states */ talloc_free(endp->callid); endp->callid = NULL; @@ -631,6 +638,8 @@ * connection ids) */ endp->callid = talloc_strdup(endp, callid); OSMO_ASSERT(endp->callid); + osmo_stat_item_inc(osmo_stat_item_group_get_item(endp->trunk->stats.common, + TRUNK_STAT_ENDPOINTS_USED), 1); /* Allocate resources */ switch (endp->trunk->trunk_type) { diff --git a/src/libosmo-mgcp/mgcp_ratectr.c b/src/libosmo-mgcp/mgcp_ratectr.c index 1f8b233..740a3b0 100644 --- a/src/libosmo-mgcp/mgcp_ratectr.c +++ b/src/libosmo-mgcp/mgcp_ratectr.c @@ -24,8 +24,11 @@ #include #include +#include #include #include +#include +#include #include static const struct rate_ctr_desc mgcp_general_ctr_desc[] = { @@ -248,3 +251,41 @@ } return 0; } + +const struct osmo_stat_item_desc trunk_stat_desc[] = { + [TRUNK_STAT_ENDPOINTS_TOTAL] = { "endpoints:total", + "Number of endpoints that exist on the trunk", + "", 60, 0 }, + [TRUNK_STAT_ENDPOINTS_USED] = { "endpoints:used", + "Number of endpoints in use", + "", 60, 0 }, +}; + +const struct osmo_stat_item_group_desc trunk_statg_desc = { + .group_name_prefix = "trunk", + .group_description = "mgw trunk", + .class_id = OSMO_STATS_CLASS_GLOBAL, + .num_items = ARRAY_SIZE(trunk_stat_desc), + .item_desc = trunk_stat_desc, +}; + +/*! allocate trunk specific stat items + * (called once on trunk initialization). + * \param[in] trunk for which the stat items are allocated. + * \returns 0 on success, -EINVAL on failure. */ +int mgcp_stat_trunk_alloc(struct mgcp_trunk *trunk) +{ + struct mgcp_stat_trunk *stats = &trunk->stats; + static unsigned int common_stat_index = 0; + char stat_name[256]; + + stats->common = osmo_stat_item_group_alloc(trunk, &trunk_statg_desc, common_stat_index); + if (!stats->common) + return -EINVAL; + snprintf(stat_name, sizeof(stat_name), "%s-%u:common", mgcp_trunk_type_strs_str(trunk->trunk_type), + trunk->trunk_nr); + osmo_stat_item_group_set_name(stats->common, stat_name); + common_stat_index++; + + return 0; +} diff --git a/src/libosmo-mgcp/mgcp_trunk.c b/src/libosmo-mgcp/mgcp_trunk.c index 27663b4..b2d1969 100644 --- a/src/libosmo-mgcp/mgcp_trunk.c +++ b/src/libosmo-mgcp/mgcp_trunk.c @@ -27,6 +27,7 @@ #include #include #include +#include const struct value_string mgcp_trunk_type_strs[] = { { MGCP_TRUNK_VIRTUAL, "virtual" }, @@ -64,6 +65,7 @@ llist_add_tail(&trunk->entry, &cfg->trunks); mgcp_ratectr_trunk_alloc(trunk); + mgcp_stat_trunk_alloc(trunk); return trunk; } @@ -127,7 +129,8 @@ /* make the endpoints we just created available to the MGW code */ trunk->number_endpoints = number_endpoints; - + osmo_stat_item_set(osmo_stat_item_group_get_item(trunk->stats.common, TRUNK_STAT_ENDPOINTS_TOTAL), + trunk->number_endpoints); return 0; } diff --git a/tests/mgcp/mgcp_test.c b/tests/mgcp/mgcp_test.c index bcbcc02..26fcc2a 100644 --- a/tests/mgcp/mgcp_test.c +++ b/tests/mgcp/mgcp_test.c @@ -1065,20 +1065,20 @@ int i; struct mgcp_endpoint endp; struct mgcp_endpoint *endpoints[1]; - struct mgcp_config cfg = {0}; - struct mgcp_trunk trunk; + struct mgcp_config *cfg; + struct mgcp_trunk *trunk; printf("Testing packet loss calculation.\n"); memset(&endp, 0, sizeof(endp)); - memset(&trunk, 0, sizeof(trunk)); - - endp.cfg = &cfg; + cfg = mgcp_config_alloc(); + trunk = mgcp_trunk_alloc(cfg, MGCP_TRUNK_VIRTUAL, MGCP_VIRT_TRUNK_ID); + endp.cfg = cfg; endp.type = &ep_typeset.rtp; - trunk.v.vty_number_endpoints = 1; - trunk.endpoints = endpoints; - trunk.endpoints[0] = &endp; - endp.trunk = &trunk; + trunk->v.vty_number_endpoints = 1; + trunk->endpoints = endpoints; + trunk->endpoints[0] = &endp; + endp.trunk = trunk; INIT_LLIST_HEAD(&endp.conns); for (i = 0; i < ARRAY_SIZE(pl_test_dat); ++i) { @@ -1116,6 +1116,8 @@ mgcp_conn_free_all(&endp); } + talloc_free(trunk); + talloc_free(cfg); } int mgcp_parse_stats(struct msgb *msg, uint32_t *ps, uint32_t *os, @@ -1297,10 +1299,10 @@ { int i; - struct mgcp_trunk trunk; + struct mgcp_trunk *trunk; struct mgcp_endpoint endp; struct mgcp_endpoint *endpoints[1]; - struct mgcp_config cfg = {0}; + struct mgcp_config *cfg; struct mgcp_rtp_state state; struct mgcp_rtp_end *rtp; struct osmo_sockaddr addr = { 0 }; @@ -1318,7 +1320,8 @@ patch_ssrc ? ", patch SSRC" : "", patch_ts ? ", patch timestamps" : ""); - memset(&trunk, 0, sizeof(trunk)); + cfg = mgcp_config_alloc(); + trunk = mgcp_trunk_alloc(cfg, MGCP_TRUNK_VIRTUAL, MGCP_VIRT_TRUNK_ID); memset(&endp, 0, sizeof(endp)); memset(&state, 0, sizeof(state)); @@ -1327,16 +1330,16 @@ state.in_stream.err_ts_ctr = &test_ctr_in; state.out_stream.err_ts_ctr = &test_ctr_out; - endp.cfg = &cfg; + endp.cfg = cfg; endp.type = &ep_typeset.rtp; - trunk.v.vty_number_endpoints = 1; - trunk.endpoints = endpoints; - trunk.endpoints[0] = &endp; - trunk.force_constant_ssrc = patch_ssrc; - trunk.force_aligned_timing = patch_ts; + trunk->v.vty_number_endpoints = 1; + trunk->endpoints = endpoints; + trunk->endpoints[0] = &endp; + trunk->force_constant_ssrc = patch_ssrc; + trunk->force_aligned_timing = patch_ts; - endp.trunk = &trunk; + endp.trunk = trunk; INIT_LLIST_HEAD(&endp.conns); _conn = mgcp_conn_alloc(NULL, &endp, MGCP_CONN_TYPE_RTP, @@ -1395,6 +1398,8 @@ force_monotonic_time_us = -1; mgcp_conn_free_all(&endp); + talloc_free(trunk); + talloc_free(cfg); } static void test_multilple_codec(void) -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24942 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib7b654168dc3512f55e45cc4755dc1f6f423d023 Gerrit-Change-Number: 24942 Gerrit-PatchSet: 7 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 21 09:17:12 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 21 Jul 2021 09:17:12 +0000 Subject: Change in osmo-mgw[master]: mgcp_msg: add trunk parameter to mgcp_check_param for logging In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24971 ) Change subject: mgcp_msg: add trunk parameter to mgcp_check_param for logging ...................................................................... Patch Set 1: (1 comment) thanks for reviewing my patches. https://gerrit.osmocom.org/c/osmo-mgw/+/24971/1/src/libosmo-mgcp/mgcp_msg.c File src/libosmo-mgcp/mgcp_msg.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24971/1/src/libosmo-mgcp/mgcp_msg.c at 220 PS1, Line 220: if (!endp) > Is this backwards? if (!endp) LOGPTRUNK Done -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24971 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7327c5a105e7f0e20cabf64623ff9f36fd83bbb8 Gerrit-Change-Number: 24971 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: daniel Gerrit-Comment-Date: Wed, 21 Jul 2021 09:17:12 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: daniel Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 21 09:17:34 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 21 Jul 2021 09:17:34 +0000 Subject: Change in osmo-mgw[master]: mgcp_msg: add trunk parameter to mgcp_check_param for logging In-Reply-To: References: Message-ID: Hello Jenkins Builder, neels, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/24971 to look at the new patch set (#2). Change subject: mgcp_msg: add trunk parameter to mgcp_check_param for logging ...................................................................... mgcp_msg: add trunk parameter to mgcp_check_param for logging There is not always an endp pointer present when mgcp_check_param() is called but we always have a trunk pointer. Lets add a trunk parameter so that the function can pick LOGPTRUNK when endp is not available. Change-Id: I7327c5a105e7f0e20cabf64623ff9f36fd83bbb8 Related: SYS#5535 --- M include/osmocom/mgcp/mgcp_msg.h M src/libosmo-mgcp/mgcp_msg.c M src/libosmo-mgcp/mgcp_protocol.c 3 files changed, 15 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/71/24971/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24971 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7327c5a105e7f0e20cabf64623ff9f36fd83bbb8 Gerrit-Change-Number: 24971 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: daniel Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 21 09:23:03 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 21 Jul 2021 09:23:03 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: add support for wildcarded DLCX In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24973 ) Change subject: mgcp_protocol: add support for wildcarded DLCX ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/24973/2/src/libosmo-mgcp/mgcp_protocol.c File src/libosmo-mgcp/mgcp_protocol.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24973/2/src/libosmo-mgcp/mgcp_protocol.c at 51 PS2, Line 51: #define LOGPEPTR(endp, trunk, cat, level, fmt, args...) \ You could use this in https://gerrit.osmocom.org/c/osmo-mgw/+/24971/1/src/libosmo-mgcp/mgcp_msg.c#220 as well -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24973 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I5c2de6b2b61ee64ba9c0618fd20e8fc2fe6a5ed3 Gerrit-Change-Number: 24973 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 21 Jul 2021 09:23: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 Wed Jul 21 09:24:10 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 21 Jul 2021 09:24:10 +0000 Subject: Change in osmo-mgw[master]: mgcp_msg: add trunk parameter to mgcp_check_param for logging In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24971 ) Change subject: mgcp_msg: add trunk parameter to mgcp_check_param for logging ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24971 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7327c5a105e7f0e20cabf64623ff9f36fd83bbb8 Gerrit-Change-Number: 24971 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 21 Jul 2021 09:24: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 Jul 21 09:24:59 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 21 Jul 2021 09:24:59 +0000 Subject: Change in osmo-mgw[master]: remove struct member wildcarded_req from struct mgcp_endpoint In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24974 ) Change subject: remove struct member wildcarded_req from struct mgcp_endpoint ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24974 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Iabd2df8f0f8fcce964af647e3a6d8e4c3006ab29 Gerrit-Change-Number: 24974 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 21 Jul 2021 09:24: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 Jul 21 09:42:50 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 21 Jul 2021 09:42:50 +0000 Subject: Change in docker-playground[master]: debian-stretch-titan: Wait for interface to be _up_ not just its exis... In-Reply-To: References: Message-ID: daniel has uploaded a new patch set (#3) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/docker-playground/+/22674 ) Change subject: debian-stretch-titan: Wait for interface to be _up_ not just its existance ...................................................................... debian-stretch-titan: Wait for interface to be _up_ not just its existance I've seen at least one instance where -EIFDOWN was returned when the test suite was coming up. This is a race condition, as we first have to move the netdev into the namespace and only then can configure it. "pipework wait" only waits for its existence, not until it is up. We cannot revert the order, as the netdev looses its state when it is moved to a different netns. Change-Id: I1bfb6eb925bca4e4e1901e06eed831152cddbbe2 --- M debian-stretch-titan/ttcn3-docker-run.sh 1 file changed, 13 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/74/22674/3 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/22674 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I1bfb6eb925bca4e4e1901e06eed831152cddbbe2 Gerrit-Change-Number: 22674 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Assignee: daniel Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 21 09:50:18 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 21 Jul 2021 09:50:18 +0000 Subject: Change in docker-playground[master]: debian-stretch-titan: Wait for interface to be _up_ not just its exis... In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/22674 ) Change subject: debian-stretch-titan: Wait for interface to be _up_ not just its existance ...................................................................... Patch Set 3: The WAIT_FOR_NETDEV logic was moved to debian-stretch-titan/ttcn3-docker-run.sh so I added the wait there. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/22674 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I1bfb6eb925bca4e4e1901e06eed831152cddbbe2 Gerrit-Change-Number: 22674 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Assignee: daniel Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 21 Jul 2021 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 Wed Jul 21 10:02:27 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 21 Jul 2021 10:02:27 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: refactor function create_response_with_sdp In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24972 ) Change subject: mgcp_protocol: refactor function create_response_with_sdp ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24972 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7e29c513f4386832646e96194ed6c2397405ed3b Gerrit-Change-Number: 24972 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 21 Jul 2021 10:02: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 Jul 21 10:04:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 21 Jul 2021 10:04:08 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: add support for wildcarded DLCX In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24973 ) Change subject: mgcp_protocol: add support for wildcarded DLCX ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24973 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I5c2de6b2b61ee64ba9c0618fd20e8fc2fe6a5ed3 Gerrit-Change-Number: 24973 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 21 Jul 2021 10: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 Wed Jul 21 10:04:12 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 21 Jul 2021 10:04:12 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: add support for wildcarded DLCX In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24973 ) Change subject: mgcp_protocol: add support for wildcarded DLCX ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24973 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I5c2de6b2b61ee64ba9c0618fd20e8fc2fe6a5ed3 Gerrit-Change-Number: 24973 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 21 Jul 2021 10:04: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 Jul 21 10:04:44 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 21 Jul 2021 10:04:44 +0000 Subject: Change in osmo-mgw[master]: mgcp_msg: add trunk parameter to mgcp_check_param for logging In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24971 ) Change subject: mgcp_msg: add trunk parameter to mgcp_check_param for logging ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24971 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7327c5a105e7f0e20cabf64623ff9f36fd83bbb8 Gerrit-Change-Number: 24971 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 21 Jul 2021 10:04: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 Jul 21 10:56:34 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 21 Jul 2021 10:56:34 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Allow disabling dyn TS SDCCH8 tests In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24967 ) Change subject: bsc: Allow disabling dyn TS SDCCH8 tests ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24967 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib956401030e6a97db218823c997c61c335fbd581 Gerrit-Change-Number: 24967 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 21 Jul 2021 10:56:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 21 10:57:11 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 21 Jul 2021 10:57:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Drop mp_enable_osmux_test In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24968 ) Change subject: bsc: Drop mp_enable_osmux_test ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24968 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3a2a4f984443a40285440a7fc54b1797a943e4b0 Gerrit-Change-Number: 24968 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 21 Jul 2021 10: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 Wed Jul 21 10:58:02 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 21 Jul 2021 10:58:02 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc: Drop mp_enable_osmux_test In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24970 ) Change subject: ttcn3-bsc: Drop mp_enable_osmux_test ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24970 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Idf459365e9aa42f7efd2a418cadea63ec49bdd7a Gerrit-Change-Number: 24970 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 21 Jul 2021 10:58: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 Jul 21 10:59:02 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 21 Jul 2021 10:59:02 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc: Disable dyn TS SDCCH8 tests for latest In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24969 ) Change subject: ttcn3-bsc: Disable dyn TS SDCCH8 tests for latest ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24969 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: If941c110501cd5f9c1d5084cc4d054e1eafb14f4 Gerrit-Change-Number: 24969 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 21 Jul 2021 10:59:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 21 11:59:10 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 21 Jul 2021 11:59:10 +0000 Subject: Change in osmo-bsc[master]: abis_rsl: Log chan rqd reason on resource exhaustion log message References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24977 ) Change subject: abis_rsl: Log chan rqd reason on resource exhaustion log message ...................................................................... abis_rsl: Log chan rqd reason on resource exhaustion log message This allows better understanding which of use is exhausting channels when there a lot of load. Change-Id: Ic68162c2d52df07b05c76374e2a92148b9a7ccd5 --- M src/osmo-bsc/abis_rsl.c 1 file changed, 8 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/77/24977/1 diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index c84aeda..5bb0efe 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -2014,18 +2014,20 @@ * (if possible). */ if (!lchan) { - LOG_BTS(bts, DRSL, LOGL_NOTICE, "CHAN RQD: no resources for %s 0x%x, retrying with %s\n", - gsm_lchant_name(GSM_LCHAN_SDCCH), rqd->ref.ra, gsm_lchant_name(GSM_LCHAN_TCH_H)); + LOG_BTS(bts, DRSL, LOGL_NOTICE, "CHAN RQD[%s]: no resources for %s 0x%x, retrying with %s\n", + get_value_string(gsm_chreq_descs, rqd->reason), gsm_lchant_name(GSM_LCHAN_SDCCH), + rqd->ref.ra, gsm_lchant_name(GSM_LCHAN_TCH_H)); lchan = lchan_select_by_type(bts, GSM_LCHAN_TCH_H); } if (!lchan) { - LOG_BTS(bts, DRSL, LOGL_NOTICE, "CHAN RQD: no resources for %s 0x%x, retrying with %s\n", - gsm_lchant_name(GSM_LCHAN_SDCCH), rqd->ref.ra, gsm_lchant_name(GSM_LCHAN_TCH_F)); + LOG_BTS(bts, DRSL, LOGL_NOTICE, "CHAN RQD[%s]: no resources for %s 0x%x, retrying with %s\n", + get_value_string(gsm_chreq_descs, rqd->reason), gsm_lchant_name(GSM_LCHAN_SDCCH), + rqd->ref.ra, gsm_lchant_name(GSM_LCHAN_TCH_F)); lchan = lchan_select_by_type(bts, GSM_LCHAN_TCH_F); } if (!lchan) { - LOG_BTS(bts, DRSL, LOGL_NOTICE, "CHAN RQD: no resources for %s 0x%x\n", - gsm_lchant_name(lctype), rqd->ref.ra); + LOG_BTS(bts, DRSL, LOGL_NOTICE, "CHAN RQD[%s]: no resources for %s 0x%x\n", + get_value_string(gsm_chreq_descs, rqd->reason), gsm_lchant_name(lctype), rqd->ref.ra); rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHREQ_NO_CHANNEL)); rsl_tx_imm_ass_rej(bts, &rqd->ref); llist_del(&rqd->entry); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24977 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic68162c2d52df07b05c76374e2a92148b9a7ccd5 Gerrit-Change-Number: 24977 Gerrit-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 Jul 21 12:15:06 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 21 Jul 2021 12:15:06 +0000 Subject: Change in osmo-bsc[master]: abis_rsl: Log chan rqd reason on resource exhaustion log message In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24977 ) Change subject: abis_rsl: Log chan rqd reason on resource exhaustion log message ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24977 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic68162c2d52df07b05c76374e2a92148b9a7ccd5 Gerrit-Change-Number: 24977 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Comment-Date: Wed, 21 Jul 2021 12:15: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 Jul 21 12:44:38 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 21 Jul 2021 12:44:38 +0000 Subject: Change in osmo-mgw[master]: mgcp_msg: add trunk parameter to mgcp_check_param for logging In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24971 ) Change subject: mgcp_msg: add trunk parameter to mgcp_check_param for logging ...................................................................... mgcp_msg: add trunk parameter to mgcp_check_param for logging There is not always an endp pointer present when mgcp_check_param() is called but we always have a trunk pointer. Lets add a trunk parameter so that the function can pick LOGPTRUNK when endp is not available. Change-Id: I7327c5a105e7f0e20cabf64623ff9f36fd83bbb8 Related: SYS#5535 --- M include/osmocom/mgcp/mgcp_msg.h M src/libosmo-mgcp/mgcp_msg.c M src/libosmo-mgcp/mgcp_protocol.c 3 files changed, 15 insertions(+), 12 deletions(-) Approvals: Jenkins Builder: Verified daniel: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/include/osmocom/mgcp/mgcp_msg.h b/include/osmocom/mgcp/mgcp_msg.h index 7732865..87987d3 100644 --- a/include/osmocom/mgcp/mgcp_msg.h +++ b/include/osmocom/mgcp/mgcp_msg.h @@ -39,7 +39,7 @@ int mgcp_parse_osmux_cid(const char *line); -int mgcp_check_param(const struct mgcp_endpoint *endp, const char *line); +bool mgcp_check_param(const struct mgcp_endpoint *endp, struct mgcp_trunk *trunk, const char *line); int mgcp_verify_call_id(struct mgcp_endpoint *endp, const char *callid); diff --git a/src/libosmo-mgcp/mgcp_msg.c b/src/libosmo-mgcp/mgcp_msg.c index f8b486a..f36fa71 100644 --- a/src/libosmo-mgcp/mgcp_msg.c +++ b/src/libosmo-mgcp/mgcp_msg.c @@ -31,6 +31,7 @@ #include #include #include +#include /*! Display an mgcp message on the log output. * \param[in] message mgcp message string @@ -208,22 +209,24 @@ } /*! Check MGCP parameter line (string) for plausibility. - * \param[in] endp pointer to endpoint (only used for log output) + * \param[in] endp pointer to endpoint (only used for log output, may be NULL) + * \param[in] trunk pointer to trunk (only used for log output, may be NULL if endp is not NULL) * \param[in] line single parameter line from the MGCP message - * \returns 1 when line seems plausible, 0 on error */ -int mgcp_check_param(const struct mgcp_endpoint *endp, const char *line) + * \returns true when line seems plausible, false on error */ +bool mgcp_check_param(const struct mgcp_endpoint *endp, struct mgcp_trunk *trunk, const char *line) { const size_t line_len = strlen(line); if (line[0] != '\0' && line_len < 2) { - LOGP(DLMGCP, LOGL_ERROR, - "Wrong MGCP option format: '%s' on %s\n", - line, endp->name); - return 0; + if (endp) + LOGPENDP(endp, DLMGCP, LOGL_NOTICE, "wrong MGCP option format: '%s'\n", line); + else + LOGPTRUNK(trunk, DLMGCP, LOGL_NOTICE, "wrong MGCP option format: '%s'\n", line); + return false; } /* FIXME: A couple more checks wouldn't hurt... */ - return 1; + return true; } /*! Check if the specified callid seems plausible. diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index b7ae748..ef82cfd 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -851,7 +851,7 @@ /* parse CallID C: and LocalParameters L: */ for_each_line(line, pdata->save) { - if (!mgcp_check_param(endp, line)) + if (!mgcp_check_param(endp, trunk, line)) continue; switch (toupper(line[0])) { @@ -1143,7 +1143,7 @@ } for_each_line(line, pdata->save) { - if (!mgcp_check_param(endp, line)) + if (!mgcp_check_param(endp, trunk, line)) continue; switch (toupper(line[0])) { @@ -1388,7 +1388,7 @@ } for_each_line(line, pdata->save) { - if (!mgcp_check_param(endp, line)) + if (!mgcp_check_param(endp, trunk, line)) continue; switch (toupper(line[0])) { -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24971 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7327c5a105e7f0e20cabf64623ff9f36fd83bbb8 Gerrit-Change-Number: 24971 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 21 12:48:47 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 21 Jul 2021 12:48:47 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: refactor function create_response_with_sdp In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24972 ) Change subject: mgcp_protocol: refactor function create_response_with_sdp ...................................................................... mgcp_protocol: refactor function create_response_with_sdp The function create_response_with_sdp calls add_params, which is rather short. The code in there can also be put in create_response_with_sdp. The decision whether the endpoint name (Z) should be added or not, should be made by the caller. Change-Id: I7e29c513f4386832646e96194ed6c2397405ed3b Related: SYS#5535 --- M src/libosmo-mgcp/mgcp_protocol.c 1 file changed, 17 insertions(+), 27 deletions(-) Approvals: Jenkins Builder: Verified daniel: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index ef82cfd..3af87d0 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -237,33 +237,13 @@ return create_resp(endp, code, " FAIL", msg, trans, NULL, NULL); } -/* Add MGCP parameters to a message buffer */ -static int add_params(struct msgb *msg, const struct mgcp_endpoint *endp, - const struct mgcp_conn_rtp *conn) -{ - int rc; - - /* NOTE: Only in the virtual trunk we allow dynamic endpoint names */ - if (endp->wildcarded_req - && endp->trunk->trunk_type == MGCP_TRUNK_VIRTUAL) { - rc = msgb_printf(msg, "Z: %s\r\n", endp->name); - if (rc < 0) - return -EINVAL; - } - - rc = msgb_printf(msg, "I: %s\r\n", conn->conn->id); - if (rc < 0) - return -EINVAL; - - return 0; -} - /* Format MGCP response string (with SDP attached) */ static struct msgb *create_response_with_sdp(struct mgcp_endpoint *endp, struct mgcp_conn_rtp *conn, const char *msg, const char *trans_id, - bool add_conn_params) + bool add_epname, + bool add_conn_id) { /* cfg->local_ip allows overwritting the announced IP address with * regards to the one we actually bind to. Useful in behind-NAT @@ -281,9 +261,16 @@ if (!sdp) return NULL; - /* Attach optional connection parameters */ - if (add_conn_params) { - rc = add_params(sdp, endp, conn); + /* Attach optional endpoint name */ + if (add_epname) { + rc = msgb_printf(sdp, "Z: %s\r\n", endp->name); + if (rc < 0) + goto error; + } + + /* Attach optional connection id */ + if (add_conn_id) { + rc = msgb_printf(sdp, "I: %s\r\n", conn->conn->id); if (rc < 0) goto error; } @@ -1091,7 +1078,10 @@ "CRCX: connection successfully created\n"); rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_SUCCESS)); mgcp_endp_update(endp); - return create_response_with_sdp(endp, conn, "CRCX", pdata->trans, true); + + /* NOTE: Only in the virtual trunk we allow dynamic endpoint names */ + bool add_epname = rq->wildcarded && trunk->trunk_type == MGCP_TRUNK_VIRTUAL; + return create_response_with_sdp(endp, conn, "CRCX", pdata->trans, add_epname, true); error2: mgcp_endp_release(endp); LOGPENDP(endp, DLMGCP, LOGL_NOTICE, @@ -1339,7 +1329,7 @@ LOGPCONN(conn->conn, DLMGCP, LOGL_NOTICE, "MDCX: connection successfully modified\n"); mgcp_endp_update(endp); - return create_response_with_sdp(endp, conn, "MDCX", pdata->trans, false); + return create_response_with_sdp(endp, conn, "MDCX", pdata->trans, false, false); error3: return create_err_response(endp, error_code, "MDCX", pdata->trans); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24972 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7e29c513f4386832646e96194ed6c2397405ed3b Gerrit-Change-Number: 24972 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 21 13:04:57 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 21 Jul 2021 13:04:57 +0000 Subject: Change in osmo-bsc[master]: abis_rsl: Log chan rqd reason on resource exhaustion log message In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24977 ) Change subject: abis_rsl: Log chan rqd reason on resource exhaustion log message ...................................................................... abis_rsl: Log chan rqd reason on resource exhaustion log message This allows better understanding which of use is exhausting channels when there a lot of load. Change-Id: Ic68162c2d52df07b05c76374e2a92148b9a7ccd5 --- M src/osmo-bsc/abis_rsl.c 1 file changed, 8 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, approved diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index c84aeda..5bb0efe 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -2014,18 +2014,20 @@ * (if possible). */ if (!lchan) { - LOG_BTS(bts, DRSL, LOGL_NOTICE, "CHAN RQD: no resources for %s 0x%x, retrying with %s\n", - gsm_lchant_name(GSM_LCHAN_SDCCH), rqd->ref.ra, gsm_lchant_name(GSM_LCHAN_TCH_H)); + LOG_BTS(bts, DRSL, LOGL_NOTICE, "CHAN RQD[%s]: no resources for %s 0x%x, retrying with %s\n", + get_value_string(gsm_chreq_descs, rqd->reason), gsm_lchant_name(GSM_LCHAN_SDCCH), + rqd->ref.ra, gsm_lchant_name(GSM_LCHAN_TCH_H)); lchan = lchan_select_by_type(bts, GSM_LCHAN_TCH_H); } if (!lchan) { - LOG_BTS(bts, DRSL, LOGL_NOTICE, "CHAN RQD: no resources for %s 0x%x, retrying with %s\n", - gsm_lchant_name(GSM_LCHAN_SDCCH), rqd->ref.ra, gsm_lchant_name(GSM_LCHAN_TCH_F)); + LOG_BTS(bts, DRSL, LOGL_NOTICE, "CHAN RQD[%s]: no resources for %s 0x%x, retrying with %s\n", + get_value_string(gsm_chreq_descs, rqd->reason), gsm_lchant_name(GSM_LCHAN_SDCCH), + rqd->ref.ra, gsm_lchant_name(GSM_LCHAN_TCH_F)); lchan = lchan_select_by_type(bts, GSM_LCHAN_TCH_F); } if (!lchan) { - LOG_BTS(bts, DRSL, LOGL_NOTICE, "CHAN RQD: no resources for %s 0x%x\n", - gsm_lchant_name(lctype), rqd->ref.ra); + LOG_BTS(bts, DRSL, LOGL_NOTICE, "CHAN RQD[%s]: no resources for %s 0x%x\n", + get_value_string(gsm_chreq_descs, rqd->reason), gsm_lchant_name(lctype), rqd->ref.ra); rate_ctr_inc(rate_ctr_group_get_ctr(bts->bts_ctrs, BTS_CTR_CHREQ_NO_CHANNEL)); rsl_tx_imm_ass_rej(bts, &rqd->ref); llist_del(&rqd->entry); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24977 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic68162c2d52df07b05c76374e2a92148b9a7ccd5 Gerrit-Change-Number: 24977 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 21 14:31:32 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 21 Jul 2021 14:31:32 +0000 Subject: Change in osmo-bsc[master]: bts: Clear BTS_STAT_CHAN_*_{TOTAL, USED} on bts disconnect References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24978 ) Change subject: bts: Clear BTS_STAT_CHAN_*_{TOTAL,USED} on bts disconnect ...................................................................... bts: Clear BTS_STAT_CHAN_*_{TOTAL,USED} on bts disconnect Adds gsm_bts_stats_reset() to clear the stats and calls it from the different models. Change-Id: Ic42687cd73e3546edaa99fb1268a5960ffa43b12 Related: SYS#5541 --- M include/osmocom/bsc/bts.h M src/osmo-bsc/bts.c M src/osmo-bsc/bts_ericsson_rbs2000.c M src/osmo-bsc/bts_ipaccess_nanobts.c M src/osmo-bsc/bts_nokia_site.c M src/osmo-bsc/bts_siemens_bs11.c 6 files changed, 27 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/78/24978/1 diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h index 992c9bb..d2a1421 100644 --- a/include/osmocom/bsc/bts.h +++ b/include/osmocom/bsc/bts.h @@ -702,6 +702,8 @@ int gsm_bts_set_c0_power_red(struct gsm_bts *bts, const uint8_t red); +void gsm_bts_stats_reset(struct gsm_bts *bts); + int gsm_bts_model_register(struct gsm_bts_model *model); struct gsm_bts_model *bts_model_find(enum gsm_bts_type type); diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c index cf3a6b8..18572e9 100644 --- a/src/osmo-bsc/bts.c +++ b/src/osmo-bsc/bts.c @@ -796,6 +796,26 @@ return 0; } +void gsm_bts_stats_reset(struct gsm_bts *bts) +{ + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_CCCH_SDCCH4_USED), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_CCCH_SDCCH4_TOTAL), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_TCH_F_USED), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_TCH_F_TOTAL), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_TCH_H_USED), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_TCH_H_TOTAL), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_SDCCH8_USED), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_SDCCH8_TOTAL), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_TCH_F_PDCH_USED), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_TCH_F_PDCH_TOTAL), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_CCCH_SDCCH4_CBCH_USED), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_CCCH_SDCCH4_CBCH_TOTAL), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_SDCCH8_CBCH_USED), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_SDCCH8_CBCH_TOTAL), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_OSMO_DYN_USED), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_OSMO_DYN_TOTAL), 0); +} + const struct rate_ctr_desc bts_ctr_description[] = { [BTS_CTR_CHREQ_TOTAL] = \ { "chreq:total", diff --git a/src/osmo-bsc/bts_ericsson_rbs2000.c b/src/osmo-bsc/bts_ericsson_rbs2000.c index 7d29657..b3d79b4 100644 --- a/src/osmo-bsc/bts_ericsson_rbs2000.c +++ b/src/osmo-bsc/bts_ericsson_rbs2000.c @@ -52,6 +52,7 @@ static int shutdown_om(struct gsm_bts *bts) { gsm_bts_all_ts_dispatch(bts, TS_EV_OML_DOWN, NULL); + gsm_bts_stats_reset(bts); /* FIXME */ return 0; diff --git a/src/osmo-bsc/bts_ipaccess_nanobts.c b/src/osmo-bsc/bts_ipaccess_nanobts.c index 26e2196..27f6aee 100644 --- a/src/osmo-bsc/bts_ipaccess_nanobts.c +++ b/src/osmo-bsc/bts_ipaccess_nanobts.c @@ -32,6 +32,7 @@ #include #include #include +#include #include #include #include @@ -557,6 +558,7 @@ bts->oml_link = NULL; bts->uptime = 0; osmo_stat_item_dec(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_OML_CONNECTED), 1); + gsm_bts_stats_reset(bts); /* Also drop the associated OSMO link */ e1inp_sign_link_destroy(bts->osmo_link); diff --git a/src/osmo-bsc/bts_nokia_site.c b/src/osmo-bsc/bts_nokia_site.c index 3820ead..75ffa95 100644 --- a/src/osmo-bsc/bts_nokia_site.c +++ b/src/osmo-bsc/bts_nokia_site.c @@ -80,6 +80,7 @@ static int shutdown_om(struct gsm_bts *bts) { + gsm_bts_stats_reset(bts); /* TODO !? */ return 0; } diff --git a/src/osmo-bsc/bts_siemens_bs11.c b/src/osmo-bsc/bts_siemens_bs11.c index 0d71ce2..818d84a 100644 --- a/src/osmo-bsc/bts_siemens_bs11.c +++ b/src/osmo-bsc/bts_siemens_bs11.c @@ -552,6 +552,7 @@ /* Reset BTS Site manager resource */ abis_nm_bs11_reset_resource(bts); + gsm_bts_stats_reset(bts); gsm_bts_all_ts_dispatch(bts, TS_EV_OML_DOWN, NULL); return 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24978 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic42687cd73e3546edaa99fb1268a5960ffa43b12 Gerrit-Change-Number: 24978 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 21 15:00:31 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 21 Jul 2021 15:00:31 +0000 Subject: Change in osmo-bsc[master]: bts: Clear BTS_STAT_CHAN_*_{TOTAL, USED} on bts disconnect In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24978 ) Change subject: bts: Clear BTS_STAT_CHAN_*_{TOTAL,USED} on bts disconnect ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24978 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic42687cd73e3546edaa99fb1268a5960ffa43b12 Gerrit-Change-Number: 24978 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 21 Jul 2021 15:00:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 21 17:03:55 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 21 Jul 2021 17:03:55 +0000 Subject: Change in osmo-mgw[master]: Revert "mgcp_ratectr: add stats items to monitor trunk usage" References: Message-ID: Hello Jenkins Builder, laforge, pespin, daniel, dexter, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/24982 to review the following change. Change subject: Revert "mgcp_ratectr: add stats items to monitor trunk usage" ...................................................................... Revert "mgcp_ratectr: add stats items to monitor trunk usage" This reverts commit 6bad138c96ef0e2a93ef7de42e897880131c0b43. Reason for revert: heap-use-after-free during 'make check' in mgcp_test.c test_retransmission() Change-Id: I96792a719c9c7273676ab9ffe0b9e2aae4c23166 Related: OS#5201 --- M include/osmocom/mgcp/mgcp_ratectr.h M include/osmocom/mgcp/mgcp_trunk.h M src/libosmo-mgcp/mgcp_endp.c M src/libosmo-mgcp/mgcp_ratectr.c M src/libosmo-mgcp/mgcp_trunk.c M tests/mgcp/mgcp_test.c 6 files changed, 21 insertions(+), 94 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/82/24982/1 diff --git a/include/osmocom/mgcp/mgcp_ratectr.h b/include/osmocom/mgcp/mgcp_ratectr.h index 0bd6f88..78c687b 100644 --- a/include/osmocom/mgcp/mgcp_ratectr.h +++ b/include/osmocom/mgcp/mgcp_ratectr.h @@ -95,17 +95,3 @@ int mgcp_ratectr_global_alloc(struct mgcp_config *cfg); int mgcp_ratectr_trunk_alloc(struct mgcp_trunk *trunk); - -/* Trunk-global common stat items */ -enum { - TRUNK_STAT_ENDPOINTS_TOTAL, - TRUNK_STAT_ENDPOINTS_USED, -}; - -struct mgcp_stat_trunk { - /* Stat item group which contains general status values of the trunk. */ - struct osmo_stat_item_group *common; -}; - -int mgcp_stat_trunk_alloc(struct mgcp_trunk *trunk); - diff --git a/include/osmocom/mgcp/mgcp_trunk.h b/include/osmocom/mgcp/mgcp_trunk.h index d960428..048ac5b 100644 --- a/include/osmocom/mgcp/mgcp_trunk.h +++ b/include/osmocom/mgcp/mgcp_trunk.h @@ -52,9 +52,8 @@ unsigned int number_endpoints; struct mgcp_endpoint **endpoints; - /* rate counters and stat items to measure the trunks overall performance and health */ + /* global rate counters to measure the trunks overall performance and health */ struct mgcp_ratectr_trunk ratectr; - struct mgcp_stat_trunk stats; union { /* Virtual trunk specific */ diff --git a/src/libosmo-mgcp/mgcp_endp.c b/src/libosmo-mgcp/mgcp_endp.c index 7df4a80..ae376b0 100644 --- a/src/libosmo-mgcp/mgcp_endp.c +++ b/src/libosmo-mgcp/mgcp_endp.c @@ -29,7 +29,6 @@ #include #include -#include #define E1_RATE_MAX 64 #define E1_OFFS_MAX 8 @@ -123,12 +122,6 @@ * RSIP is executed), free them all at once. */ mgcp_conn_free_all(endp); - /* We must only decrement the stat item when the endpoint as actually - * claimed. An endpoint is claimed when a call-id is set */ - if (endp->callid) - osmo_stat_item_dec(osmo_stat_item_group_get_item(endp->trunk->stats.common, - TRUNK_STAT_ENDPOINTS_USED), 1); - /* Reset endpoint parameters and states */ talloc_free(endp->callid); endp->callid = NULL; @@ -638,8 +631,6 @@ * connection ids) */ endp->callid = talloc_strdup(endp, callid); OSMO_ASSERT(endp->callid); - osmo_stat_item_inc(osmo_stat_item_group_get_item(endp->trunk->stats.common, - TRUNK_STAT_ENDPOINTS_USED), 1); /* Allocate resources */ switch (endp->trunk->trunk_type) { diff --git a/src/libosmo-mgcp/mgcp_ratectr.c b/src/libosmo-mgcp/mgcp_ratectr.c index 740a3b0..1f8b233 100644 --- a/src/libosmo-mgcp/mgcp_ratectr.c +++ b/src/libosmo-mgcp/mgcp_ratectr.c @@ -24,11 +24,8 @@ #include #include -#include #include #include -#include -#include #include static const struct rate_ctr_desc mgcp_general_ctr_desc[] = { @@ -251,41 +248,3 @@ } return 0; } - -const struct osmo_stat_item_desc trunk_stat_desc[] = { - [TRUNK_STAT_ENDPOINTS_TOTAL] = { "endpoints:total", - "Number of endpoints that exist on the trunk", - "", 60, 0 }, - [TRUNK_STAT_ENDPOINTS_USED] = { "endpoints:used", - "Number of endpoints in use", - "", 60, 0 }, -}; - -const struct osmo_stat_item_group_desc trunk_statg_desc = { - .group_name_prefix = "trunk", - .group_description = "mgw trunk", - .class_id = OSMO_STATS_CLASS_GLOBAL, - .num_items = ARRAY_SIZE(trunk_stat_desc), - .item_desc = trunk_stat_desc, -}; - -/*! allocate trunk specific stat items - * (called once on trunk initialization). - * \param[in] trunk for which the stat items are allocated. - * \returns 0 on success, -EINVAL on failure. */ -int mgcp_stat_trunk_alloc(struct mgcp_trunk *trunk) -{ - struct mgcp_stat_trunk *stats = &trunk->stats; - static unsigned int common_stat_index = 0; - char stat_name[256]; - - stats->common = osmo_stat_item_group_alloc(trunk, &trunk_statg_desc, common_stat_index); - if (!stats->common) - return -EINVAL; - snprintf(stat_name, sizeof(stat_name), "%s-%u:common", mgcp_trunk_type_strs_str(trunk->trunk_type), - trunk->trunk_nr); - osmo_stat_item_group_set_name(stats->common, stat_name); - common_stat_index++; - - return 0; -} diff --git a/src/libosmo-mgcp/mgcp_trunk.c b/src/libosmo-mgcp/mgcp_trunk.c index b2d1969..27663b4 100644 --- a/src/libosmo-mgcp/mgcp_trunk.c +++ b/src/libosmo-mgcp/mgcp_trunk.c @@ -27,7 +27,6 @@ #include #include #include -#include const struct value_string mgcp_trunk_type_strs[] = { { MGCP_TRUNK_VIRTUAL, "virtual" }, @@ -65,7 +64,6 @@ llist_add_tail(&trunk->entry, &cfg->trunks); mgcp_ratectr_trunk_alloc(trunk); - mgcp_stat_trunk_alloc(trunk); return trunk; } @@ -129,8 +127,7 @@ /* make the endpoints we just created available to the MGW code */ trunk->number_endpoints = number_endpoints; - osmo_stat_item_set(osmo_stat_item_group_get_item(trunk->stats.common, TRUNK_STAT_ENDPOINTS_TOTAL), - trunk->number_endpoints); + return 0; } diff --git a/tests/mgcp/mgcp_test.c b/tests/mgcp/mgcp_test.c index 26fcc2a..bcbcc02 100644 --- a/tests/mgcp/mgcp_test.c +++ b/tests/mgcp/mgcp_test.c @@ -1065,20 +1065,20 @@ int i; struct mgcp_endpoint endp; struct mgcp_endpoint *endpoints[1]; - struct mgcp_config *cfg; - struct mgcp_trunk *trunk; + struct mgcp_config cfg = {0}; + struct mgcp_trunk trunk; printf("Testing packet loss calculation.\n"); memset(&endp, 0, sizeof(endp)); - cfg = mgcp_config_alloc(); - trunk = mgcp_trunk_alloc(cfg, MGCP_TRUNK_VIRTUAL, MGCP_VIRT_TRUNK_ID); - endp.cfg = cfg; + memset(&trunk, 0, sizeof(trunk)); + + endp.cfg = &cfg; endp.type = &ep_typeset.rtp; - trunk->v.vty_number_endpoints = 1; - trunk->endpoints = endpoints; - trunk->endpoints[0] = &endp; - endp.trunk = trunk; + trunk.v.vty_number_endpoints = 1; + trunk.endpoints = endpoints; + trunk.endpoints[0] = &endp; + endp.trunk = &trunk; INIT_LLIST_HEAD(&endp.conns); for (i = 0; i < ARRAY_SIZE(pl_test_dat); ++i) { @@ -1116,8 +1116,6 @@ mgcp_conn_free_all(&endp); } - talloc_free(trunk); - talloc_free(cfg); } int mgcp_parse_stats(struct msgb *msg, uint32_t *ps, uint32_t *os, @@ -1299,10 +1297,10 @@ { int i; - struct mgcp_trunk *trunk; + struct mgcp_trunk trunk; struct mgcp_endpoint endp; struct mgcp_endpoint *endpoints[1]; - struct mgcp_config *cfg; + struct mgcp_config cfg = {0}; struct mgcp_rtp_state state; struct mgcp_rtp_end *rtp; struct osmo_sockaddr addr = { 0 }; @@ -1320,8 +1318,7 @@ patch_ssrc ? ", patch SSRC" : "", patch_ts ? ", patch timestamps" : ""); - cfg = mgcp_config_alloc(); - trunk = mgcp_trunk_alloc(cfg, MGCP_TRUNK_VIRTUAL, MGCP_VIRT_TRUNK_ID); + memset(&trunk, 0, sizeof(trunk)); memset(&endp, 0, sizeof(endp)); memset(&state, 0, sizeof(state)); @@ -1330,16 +1327,16 @@ state.in_stream.err_ts_ctr = &test_ctr_in; state.out_stream.err_ts_ctr = &test_ctr_out; - endp.cfg = cfg; + endp.cfg = &cfg; endp.type = &ep_typeset.rtp; - trunk->v.vty_number_endpoints = 1; - trunk->endpoints = endpoints; - trunk->endpoints[0] = &endp; - trunk->force_constant_ssrc = patch_ssrc; - trunk->force_aligned_timing = patch_ts; + trunk.v.vty_number_endpoints = 1; + trunk.endpoints = endpoints; + trunk.endpoints[0] = &endp; + trunk.force_constant_ssrc = patch_ssrc; + trunk.force_aligned_timing = patch_ts; - endp.trunk = trunk; + endp.trunk = &trunk; INIT_LLIST_HEAD(&endp.conns); _conn = mgcp_conn_alloc(NULL, &endp, MGCP_CONN_TYPE_RTP, @@ -1398,8 +1395,6 @@ force_monotonic_time_us = -1; mgcp_conn_free_all(&endp); - talloc_free(trunk); - talloc_free(cfg); } static void test_multilple_codec(void) -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24982 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I96792a719c9c7273676ab9ffe0b9e2aae4c23166 Gerrit-Change-Number: 24982 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 21 17:03:56 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 21 Jul 2021 17:03:56 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: add stats items to monitor trunk usage In-Reply-To: References: Message-ID: neels has created a revert of this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24942 ) Change subject: mgcp_ratectr: add stats items to monitor trunk usage ...................................................................... -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24942 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib7b654168dc3512f55e45cc4755dc1f6f423d023 Gerrit-Change-Number: 24942 Gerrit-PatchSet: 7 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: revert -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 21 17:04:17 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 21 Jul 2021 17:04:17 +0000 Subject: Change in osmo-mgw[master]: Revert "mgcp_ratectr: add stats items to monitor trunk usage" In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24982 ) Change subject: Revert "mgcp_ratectr: add stats items to monitor trunk usage" ...................................................................... Patch Set 1: Code-Review+2 fix master build with address sanitizer -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24982 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I96792a719c9c7273676ab9ffe0b9e2aae4c23166 Gerrit-Change-Number: 24982 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 21 Jul 2021 17:04: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 Jul 21 17:07:14 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 21 Jul 2021 17:07:14 +0000 Subject: Change in osmo-mgw[master]: Revert "mgcp_ratectr: add stats items to monitor trunk usage" In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24982 ) Change subject: Revert "mgcp_ratectr: add stats items to monitor trunk usage" ...................................................................... Revert "mgcp_ratectr: add stats items to monitor trunk usage" This reverts commit 6bad138c96ef0e2a93ef7de42e897880131c0b43. Reason for revert: heap-use-after-free during 'make check' in mgcp_test.c test_retransmission() Change-Id: I96792a719c9c7273676ab9ffe0b9e2aae4c23166 Related: OS#5201 --- M include/osmocom/mgcp/mgcp_ratectr.h M include/osmocom/mgcp/mgcp_trunk.h M src/libosmo-mgcp/mgcp_endp.c M src/libosmo-mgcp/mgcp_ratectr.c M src/libosmo-mgcp/mgcp_trunk.c M tests/mgcp/mgcp_test.c 6 files changed, 21 insertions(+), 94 deletions(-) Approvals: neels: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/mgcp/mgcp_ratectr.h b/include/osmocom/mgcp/mgcp_ratectr.h index 0bd6f88..78c687b 100644 --- a/include/osmocom/mgcp/mgcp_ratectr.h +++ b/include/osmocom/mgcp/mgcp_ratectr.h @@ -95,17 +95,3 @@ int mgcp_ratectr_global_alloc(struct mgcp_config *cfg); int mgcp_ratectr_trunk_alloc(struct mgcp_trunk *trunk); - -/* Trunk-global common stat items */ -enum { - TRUNK_STAT_ENDPOINTS_TOTAL, - TRUNK_STAT_ENDPOINTS_USED, -}; - -struct mgcp_stat_trunk { - /* Stat item group which contains general status values of the trunk. */ - struct osmo_stat_item_group *common; -}; - -int mgcp_stat_trunk_alloc(struct mgcp_trunk *trunk); - diff --git a/include/osmocom/mgcp/mgcp_trunk.h b/include/osmocom/mgcp/mgcp_trunk.h index d960428..048ac5b 100644 --- a/include/osmocom/mgcp/mgcp_trunk.h +++ b/include/osmocom/mgcp/mgcp_trunk.h @@ -52,9 +52,8 @@ unsigned int number_endpoints; struct mgcp_endpoint **endpoints; - /* rate counters and stat items to measure the trunks overall performance and health */ + /* global rate counters to measure the trunks overall performance and health */ struct mgcp_ratectr_trunk ratectr; - struct mgcp_stat_trunk stats; union { /* Virtual trunk specific */ diff --git a/src/libosmo-mgcp/mgcp_endp.c b/src/libosmo-mgcp/mgcp_endp.c index 7df4a80..ae376b0 100644 --- a/src/libosmo-mgcp/mgcp_endp.c +++ b/src/libosmo-mgcp/mgcp_endp.c @@ -29,7 +29,6 @@ #include #include -#include #define E1_RATE_MAX 64 #define E1_OFFS_MAX 8 @@ -123,12 +122,6 @@ * RSIP is executed), free them all at once. */ mgcp_conn_free_all(endp); - /* We must only decrement the stat item when the endpoint as actually - * claimed. An endpoint is claimed when a call-id is set */ - if (endp->callid) - osmo_stat_item_dec(osmo_stat_item_group_get_item(endp->trunk->stats.common, - TRUNK_STAT_ENDPOINTS_USED), 1); - /* Reset endpoint parameters and states */ talloc_free(endp->callid); endp->callid = NULL; @@ -638,8 +631,6 @@ * connection ids) */ endp->callid = talloc_strdup(endp, callid); OSMO_ASSERT(endp->callid); - osmo_stat_item_inc(osmo_stat_item_group_get_item(endp->trunk->stats.common, - TRUNK_STAT_ENDPOINTS_USED), 1); /* Allocate resources */ switch (endp->trunk->trunk_type) { diff --git a/src/libosmo-mgcp/mgcp_ratectr.c b/src/libosmo-mgcp/mgcp_ratectr.c index 740a3b0..1f8b233 100644 --- a/src/libosmo-mgcp/mgcp_ratectr.c +++ b/src/libosmo-mgcp/mgcp_ratectr.c @@ -24,11 +24,8 @@ #include #include -#include #include #include -#include -#include #include static const struct rate_ctr_desc mgcp_general_ctr_desc[] = { @@ -251,41 +248,3 @@ } return 0; } - -const struct osmo_stat_item_desc trunk_stat_desc[] = { - [TRUNK_STAT_ENDPOINTS_TOTAL] = { "endpoints:total", - "Number of endpoints that exist on the trunk", - "", 60, 0 }, - [TRUNK_STAT_ENDPOINTS_USED] = { "endpoints:used", - "Number of endpoints in use", - "", 60, 0 }, -}; - -const struct osmo_stat_item_group_desc trunk_statg_desc = { - .group_name_prefix = "trunk", - .group_description = "mgw trunk", - .class_id = OSMO_STATS_CLASS_GLOBAL, - .num_items = ARRAY_SIZE(trunk_stat_desc), - .item_desc = trunk_stat_desc, -}; - -/*! allocate trunk specific stat items - * (called once on trunk initialization). - * \param[in] trunk for which the stat items are allocated. - * \returns 0 on success, -EINVAL on failure. */ -int mgcp_stat_trunk_alloc(struct mgcp_trunk *trunk) -{ - struct mgcp_stat_trunk *stats = &trunk->stats; - static unsigned int common_stat_index = 0; - char stat_name[256]; - - stats->common = osmo_stat_item_group_alloc(trunk, &trunk_statg_desc, common_stat_index); - if (!stats->common) - return -EINVAL; - snprintf(stat_name, sizeof(stat_name), "%s-%u:common", mgcp_trunk_type_strs_str(trunk->trunk_type), - trunk->trunk_nr); - osmo_stat_item_group_set_name(stats->common, stat_name); - common_stat_index++; - - return 0; -} diff --git a/src/libosmo-mgcp/mgcp_trunk.c b/src/libosmo-mgcp/mgcp_trunk.c index b2d1969..27663b4 100644 --- a/src/libosmo-mgcp/mgcp_trunk.c +++ b/src/libosmo-mgcp/mgcp_trunk.c @@ -27,7 +27,6 @@ #include #include #include -#include const struct value_string mgcp_trunk_type_strs[] = { { MGCP_TRUNK_VIRTUAL, "virtual" }, @@ -65,7 +64,6 @@ llist_add_tail(&trunk->entry, &cfg->trunks); mgcp_ratectr_trunk_alloc(trunk); - mgcp_stat_trunk_alloc(trunk); return trunk; } @@ -129,8 +127,7 @@ /* make the endpoints we just created available to the MGW code */ trunk->number_endpoints = number_endpoints; - osmo_stat_item_set(osmo_stat_item_group_get_item(trunk->stats.common, TRUNK_STAT_ENDPOINTS_TOTAL), - trunk->number_endpoints); + return 0; } diff --git a/tests/mgcp/mgcp_test.c b/tests/mgcp/mgcp_test.c index 26fcc2a..bcbcc02 100644 --- a/tests/mgcp/mgcp_test.c +++ b/tests/mgcp/mgcp_test.c @@ -1065,20 +1065,20 @@ int i; struct mgcp_endpoint endp; struct mgcp_endpoint *endpoints[1]; - struct mgcp_config *cfg; - struct mgcp_trunk *trunk; + struct mgcp_config cfg = {0}; + struct mgcp_trunk trunk; printf("Testing packet loss calculation.\n"); memset(&endp, 0, sizeof(endp)); - cfg = mgcp_config_alloc(); - trunk = mgcp_trunk_alloc(cfg, MGCP_TRUNK_VIRTUAL, MGCP_VIRT_TRUNK_ID); - endp.cfg = cfg; + memset(&trunk, 0, sizeof(trunk)); + + endp.cfg = &cfg; endp.type = &ep_typeset.rtp; - trunk->v.vty_number_endpoints = 1; - trunk->endpoints = endpoints; - trunk->endpoints[0] = &endp; - endp.trunk = trunk; + trunk.v.vty_number_endpoints = 1; + trunk.endpoints = endpoints; + trunk.endpoints[0] = &endp; + endp.trunk = &trunk; INIT_LLIST_HEAD(&endp.conns); for (i = 0; i < ARRAY_SIZE(pl_test_dat); ++i) { @@ -1116,8 +1116,6 @@ mgcp_conn_free_all(&endp); } - talloc_free(trunk); - talloc_free(cfg); } int mgcp_parse_stats(struct msgb *msg, uint32_t *ps, uint32_t *os, @@ -1299,10 +1297,10 @@ { int i; - struct mgcp_trunk *trunk; + struct mgcp_trunk trunk; struct mgcp_endpoint endp; struct mgcp_endpoint *endpoints[1]; - struct mgcp_config *cfg; + struct mgcp_config cfg = {0}; struct mgcp_rtp_state state; struct mgcp_rtp_end *rtp; struct osmo_sockaddr addr = { 0 }; @@ -1320,8 +1318,7 @@ patch_ssrc ? ", patch SSRC" : "", patch_ts ? ", patch timestamps" : ""); - cfg = mgcp_config_alloc(); - trunk = mgcp_trunk_alloc(cfg, MGCP_TRUNK_VIRTUAL, MGCP_VIRT_TRUNK_ID); + memset(&trunk, 0, sizeof(trunk)); memset(&endp, 0, sizeof(endp)); memset(&state, 0, sizeof(state)); @@ -1330,16 +1327,16 @@ state.in_stream.err_ts_ctr = &test_ctr_in; state.out_stream.err_ts_ctr = &test_ctr_out; - endp.cfg = cfg; + endp.cfg = &cfg; endp.type = &ep_typeset.rtp; - trunk->v.vty_number_endpoints = 1; - trunk->endpoints = endpoints; - trunk->endpoints[0] = &endp; - trunk->force_constant_ssrc = patch_ssrc; - trunk->force_aligned_timing = patch_ts; + trunk.v.vty_number_endpoints = 1; + trunk.endpoints = endpoints; + trunk.endpoints[0] = &endp; + trunk.force_constant_ssrc = patch_ssrc; + trunk.force_aligned_timing = patch_ts; - endp.trunk = trunk; + endp.trunk = &trunk; INIT_LLIST_HEAD(&endp.conns); _conn = mgcp_conn_alloc(NULL, &endp, MGCP_CONN_TYPE_RTP, @@ -1398,8 +1395,6 @@ force_monotonic_time_us = -1; mgcp_conn_free_all(&endp); - talloc_free(trunk); - talloc_free(cfg); } static void test_multilple_codec(void) -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24982 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I96792a719c9c7273676ab9ffe0b9e2aae4c23166 Gerrit-Change-Number: 24982 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 21 18:14:16 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 21 Jul 2021 18:14:16 +0000 Subject: Change in osmo-bsc[master]: Split bsc_vty.c creating bts_vty.c References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24979 ) Change subject: Split bsc_vty.c creating bts_vty.c ...................................................................... Split bsc_vty.c creating bts_vty.c Change-Id: I347e7da328fed0733af2eec10a3ca6e02a148308 --- M include/osmocom/bsc/vty.h M src/osmo-bsc/Makefile.am M src/osmo-bsc/abis_nm_vty.c M src/osmo-bsc/abis_om2000_vty.c M src/osmo-bsc/bsc_vty.c A src/osmo-bsc/bts_vty.c M tests/handover/Makefile.am 7 files changed, 5,003 insertions(+), 4,941 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/79/24979/1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24979 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I347e7da328fed0733af2eec10a3ca6e02a148308 Gerrit-Change-Number: 24979 Gerrit-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 Jul 21 18:14:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 21 Jul 2021 18:14:17 +0000 Subject: Change in osmo-bsc[master]: Split bts_vty.c creating bts_trx_vty.c References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24980 ) Change subject: Split bts_vty.c creating bts_trx_vty.c ...................................................................... Split bts_vty.c creating bts_trx_vty.c Change-Id: I15ec8f71a5d31915162cb3ad75ea77e934fa4887 --- M include/osmocom/bsc/vty.h M src/osmo-bsc/Makefile.am A src/osmo-bsc/bts_trx_vty.c M src/osmo-bsc/bts_vty.c M tests/handover/Makefile.am 5 files changed, 862 insertions(+), 799 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/80/24980/1 diff --git a/include/osmocom/bsc/vty.h b/include/osmocom/bsc/vty.h index 0b4504c..9ea9835 100644 --- a/include/osmocom/bsc/vty.h +++ b/include/osmocom/bsc/vty.h @@ -13,6 +13,8 @@ struct pchan_load; struct gsm_lchan; struct bsc_subscr; +struct gsm_e1_subslot; +struct e1inp_sign_link; struct vty; void openbsc_vty_print_statistics(struct vty *vty, struct gsm_network *); @@ -53,6 +55,15 @@ void lchan_dump_full_vty(struct vty *vty, struct gsm_lchan *lchan); void lchan_dump_short_vty(struct vty *vty, struct gsm_lchan *lchan); +int bts_trx_vty_init(void); +void config_write_trx_single(struct vty *vty, struct gsm_bts_trx *trx); +void config_write_e1_link(struct vty *vty, struct gsm_e1_subslot *e1_link, + const char *prefix); +void e1isl_dump_vty_tcp(struct vty *vty, const struct e1inp_sign_link *e1l); +void e1isl_dump_vty(struct vty *vty, struct e1inp_sign_link *e1l); +void parse_e1_link(struct gsm_e1_subslot *e1_link, const char *line, + const char *ts, const char *ss); + enum bsc_vty_cmd_attr { BSC_VTY_ATTR_RESTART_ABIS_OML_LINK = 0, BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, diff --git a/src/osmo-bsc/Makefile.am b/src/osmo-bsc/Makefile.am index 3e2761d..34b4f34 100644 --- a/src/osmo-bsc/Makefile.am +++ b/src/osmo-bsc/Makefile.am @@ -56,6 +56,7 @@ bts_osmobts.c \ bts_unknown.c \ bts_vty.c \ + bts_trx_vty.c \ chan_alloc.c \ codec_pref.c \ e1_config.c \ diff --git a/src/osmo-bsc/bts_trx_vty.c b/src/osmo-bsc/bts_trx_vty.c new file mode 100644 index 0000000..d1afc1b --- /dev/null +++ b/src/osmo-bsc/bts_trx_vty.c @@ -0,0 +1,848 @@ +/* OsmoBSC interface to quagga VTY, BTS node */ +/* (C) 2009-2017 by Harald Welte + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include "../../bscconfig.h" + +#define X(x) (1 << x) + +static struct cmd_node trx_node = { + TRX_NODE, + "%s(config-net-bts-trx)# ", + 1, +}; + +static struct cmd_node ts_node = { + TS_NODE, + "%s(config-net-bts-trx-ts)# ", + 1, +}; + +/* utility functions */ +void parse_e1_link(struct gsm_e1_subslot *e1_link, const char *line, + const char *ts, const char *ss) +{ + e1_link->e1_nr = atoi(line); + e1_link->e1_ts = atoi(ts); + if (!strcmp(ss, "full")) + e1_link->e1_ts_ss = 255; + else + e1_link->e1_ts_ss = atoi(ss); +} + +#define TRX_TEXT "Radio Transceiver\n" + +/* per TRX configuration */ +DEFUN_ATTR(cfg_trx, + cfg_trx_cmd, + "trx <0-255>", + TRX_TEXT + "Select a TRX to configure\n", + CMD_ATTR_IMMEDIATE) +{ + int trx_nr = atoi(argv[0]); + struct gsm_bts *bts = vty->index; + struct gsm_bts_trx *trx; + + if (trx_nr > bts->num_trx) { + vty_out(vty, "%% The next unused TRX number in this BTS is %u%s", + bts->num_trx, VTY_NEWLINE); + return CMD_WARNING; + } else if (trx_nr == bts->num_trx) { + /* we need to allocate a new one */ + trx = gsm_bts_trx_alloc(bts); + } else + trx = gsm_bts_trx_num(bts, trx_nr); + + if (!trx) + return CMD_WARNING; + + vty->index = trx; + vty->node = TRX_NODE; + + return CMD_SUCCESS; +} + +DEFUN_USRATTR(cfg_trx_arfcn, + cfg_trx_arfcn_cmd, + X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), + "arfcn <0-1023>", + "Set the ARFCN for this TRX\n" + "Absolute Radio Frequency Channel Number\n") +{ + enum gsm_band unused; + struct gsm_bts_trx *trx = vty->index; + int arfcn = atoi(argv[0]); + + if (gsm_arfcn2band_rc(arfcn, &unused) < 0) { + vty_out(vty, "%% Invalid arfcn %" PRIu16 " detected%s", arfcn, VTY_NEWLINE); + return CMD_WARNING; + } + + /* FIXME: check if this ARFCN is supported by this TRX */ + + trx->arfcn = arfcn; + + /* Update Cell Allocation (list of all the frequencies allocated to a cell) */ + if (generate_cell_chan_alloc(trx->bts) != 0) { + vty_out(vty, "%% Failed to re-generate Cell Allocation%s", VTY_NEWLINE); + return CMD_WARNING; + } + + /* FIXME: patch ARFCN into SYSTEM INFORMATION */ + /* FIXME: use OML layer to update the ARFCN */ + /* FIXME: use RSL layer to update SYSTEM INFORMATION */ + + return CMD_SUCCESS; +} + +DEFUN_USRATTR(cfg_trx_nominal_power, + cfg_trx_nominal_power_cmd, + X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), + "nominal power <-20-100>", + "Nominal TRX RF Power in dBm\n" + "Nominal TRX RF Power in dBm\n" + "Nominal TRX RF Power in dBm\n") +{ + struct gsm_bts_trx *trx = vty->index; + + trx->nominal_power = atoi(argv[0]); + + return CMD_SUCCESS; +} + +DEFUN_USRATTR(cfg_trx_max_power_red, + cfg_trx_max_power_red_cmd, + X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), + "max_power_red <0-100>", + "Reduction of maximum BS RF Power (relative to nominal power)\n" + "Reduction of maximum BS RF Power in dB\n") +{ + int maxpwr_r = atoi(argv[0]); + struct gsm_bts_trx *trx = vty->index; + int upper_limit = 24; /* default 12.21 max power red. */ + + /* FIXME: check if our BTS type supports more than 12 */ + if (maxpwr_r < 0 || maxpwr_r > upper_limit) { + vty_out(vty, "%% Power %d dB is not in the valid range%s", + maxpwr_r, VTY_NEWLINE); + return CMD_WARNING; + } + if (maxpwr_r & 1) { + vty_out(vty, "%% Power %d dB is not an even value%s", + maxpwr_r, VTY_NEWLINE); + return CMD_WARNING; + } + + trx->max_power_red = maxpwr_r; + + /* FIXME: make sure we update this using OML */ + + return CMD_SUCCESS; +} + +/* NOTE: This requires a full restart as bsc_network_configure() is executed + * only once on startup from osmo_bsc_main.c */ +DEFUN(cfg_trx_rsl_e1, + cfg_trx_rsl_e1_cmd, + "rsl e1 line E1_LINE timeslot <1-31> sub-slot (0|1|2|3|full)", + "RSL Parameters\n" + "E1/T1 interface to be used for RSL\n" + "E1/T1 interface to be used for RSL\n" + "E1/T1 Line Number to be used for RSL\n" + "E1/T1 Timeslot to be used for RSL\n" + "E1/T1 Timeslot to be used for RSL\n" + "E1/T1 Sub-slot to be used for RSL\n" + "E1/T1 Sub-slot 0 is to be used for RSL\n" + "E1/T1 Sub-slot 1 is to be used for RSL\n" + "E1/T1 Sub-slot 2 is to be used for RSL\n" + "E1/T1 Sub-slot 3 is to be used for RSL\n" + "E1/T1 full timeslot is to be used for RSL\n") +{ + struct gsm_bts_trx *trx = vty->index; + + parse_e1_link(&trx->rsl_e1_link, argv[0], argv[1], argv[2]); + + return CMD_SUCCESS; +} + +DEFUN_USRATTR(cfg_trx_rsl_e1_tei, + cfg_trx_rsl_e1_tei_cmd, + X(BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK), + "rsl e1 tei <0-63>", + "RSL Parameters\n" + "Set the TEI to be used for RSL\n" + "Set the TEI to be used for RSL\n" + "TEI to be used for RSL\n") +{ + struct gsm_bts_trx *trx = vty->index; + + trx->rsl_tei_primary = atoi(argv[0]); + + return CMD_SUCCESS; +} + +DEFUN_ATTR(cfg_trx_rf_locked, + cfg_trx_rf_locked_cmd, + "rf_locked (0|1)", + "Set or unset the RF Locking (Turn off RF of the TRX)\n" + "TRX is NOT RF locked (active)\n" + "TRX is RF locked (turned off)\n", + CMD_ATTR_IMMEDIATE) +{ + int locked = atoi(argv[0]); + struct gsm_bts_trx *trx = vty->index; + + gsm_trx_lock_rf(trx, locked, "vty"); + return CMD_SUCCESS; +} + +/* per TS configuration */ +DEFUN_ATTR(cfg_ts, + cfg_ts_cmd, + "timeslot <0-7>", + "Select a Timeslot to configure\n" + "Timeslot number\n", + CMD_ATTR_IMMEDIATE) +{ + int ts_nr = atoi(argv[0]); + struct gsm_bts_trx *trx = vty->index; + struct gsm_bts_trx_ts *ts; + + if (ts_nr >= TRX_NR_TS) { + vty_out(vty, "%% A GSM TRX only has %u Timeslots per TRX%s", + TRX_NR_TS, VTY_NEWLINE); + return CMD_WARNING; + } + + ts = &trx->ts[ts_nr]; + + vty->index = ts; + vty->node = TS_NODE; + + return CMD_SUCCESS; +} + +DEFUN_USRATTR(cfg_ts_pchan, + cfg_ts_pchan_cmd, + X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), + "phys_chan_config PCHAN", /* dynamically generated! */ + "Physical Channel configuration (TCH/SDCCH/...)\n" "Physical Channel\n") +{ + struct gsm_bts_trx_ts *ts = vty->index; + int pchanc; + + pchanc = gsm_pchan_parse(argv[0]); + if (pchanc < 0) + return CMD_WARNING; + + ts->pchan_from_config = pchanc; + + return CMD_SUCCESS; +} + +/* used for backwards compatibility with old config files that still + * have uppercase pchan type names. Also match older names for existing types. */ +DEFUN_HIDDEN(cfg_ts_pchan_compat, + cfg_ts_pchan_compat_cmd, + "phys_chan_config PCHAN", + "Physical Channel configuration (TCH/SDCCH/...)\n" "Physical Channel\n") +{ + struct gsm_bts_trx_ts *ts = vty->index; + int pchanc; + + pchanc = gsm_pchan_parse(argv[0]); + if (pchanc < 0) { + if (strcasecmp(argv[0], "tch/f_tch/h_pdch") == 0) { + pchanc = GSM_PCHAN_OSMO_DYN; + } else { + vty_out(vty, "Unknown physical channel name '%s'%s", argv[0], VTY_NEWLINE); + return CMD_ERR_NO_MATCH; + } + } + + ts->pchan_from_config = pchanc; + + return CMD_SUCCESS; +} + +DEFUN_USRATTR(cfg_ts_tsc, + cfg_ts_tsc_cmd, + X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), + "training_sequence_code <0-7>", + "Training Sequence Code of the Timeslot\n" "TSC\n") +{ + struct gsm_bts_trx_ts *ts = vty->index; + + if (!osmo_bts_has_feature(&ts->trx->bts->model->features, BTS_FEAT_MULTI_TSC)) { + vty_out(vty, "%% This BTS does not support a TSC != BCC, " + "falling back to BCC%s", VTY_NEWLINE); + ts->tsc = -1; + return CMD_WARNING; + } + + ts->tsc = atoi(argv[0]); + + return CMD_SUCCESS; +} + +#define HOPPING_STR "Configure frequency hopping\n" + +DEFUN_USRATTR(cfg_ts_hopping, + cfg_ts_hopping_cmd, + X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), + "hopping enabled (0|1)", + HOPPING_STR "Enable or disable frequency hopping\n" + "Disable frequency hopping\n" "Enable frequency hopping\n") +{ + struct gsm_bts_trx_ts *ts = vty->index; + int enabled = atoi(argv[0]); + + if (enabled && !osmo_bts_has_feature(&ts->trx->bts->model->features, BTS_FEAT_HOPPING)) { + vty_out(vty, "%% BTS model does not seem to support freq. hopping%s", VTY_NEWLINE); + /* Allow enabling frequency hopping anyway, because the BTS might not have + * connected yet (thus not sent the feature vector), so we cannot know for + * sure. Jet print a warning and let it go. */ + } + + ts->hopping.enabled = enabled; + + return CMD_SUCCESS; +} + +DEFUN_USRATTR(cfg_ts_hsn, + cfg_ts_hsn_cmd, + X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), + "hopping sequence-number <0-63>", + HOPPING_STR + "Which hopping sequence to use for this channel\n" + "Hopping Sequence Number (HSN)\n") +{ + struct gsm_bts_trx_ts *ts = vty->index; + + ts->hopping.hsn = atoi(argv[0]); + + return CMD_SUCCESS; +} + +DEFUN_USRATTR(cfg_ts_maio, + cfg_ts_maio_cmd, + X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), + "hopping maio <0-63>", + HOPPING_STR + "Which hopping MAIO to use for this channel\n" + "Mobile Allocation Index Offset (MAIO)\n") +{ + struct gsm_bts_trx_ts *ts = vty->index; + + ts->hopping.maio = atoi(argv[0]); + + return CMD_SUCCESS; +} + +DEFUN_USRATTR(cfg_ts_arfcn_add, + cfg_ts_arfcn_add_cmd, + X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), + "hopping arfcn add <0-1023>", + HOPPING_STR "Configure hopping ARFCN list\n" + "Add an entry to the hopping ARFCN list\n" "ARFCN\n") +{ + enum gsm_band unused; + struct gsm_bts_trx_ts *ts = vty->index; + int arfcn = atoi(argv[0]); + + if (gsm_arfcn2band_rc(arfcn, &unused) < 0) { + vty_out(vty, "%% Invalid arfcn %" PRIu16 " detected%s", arfcn, VTY_NEWLINE); + return CMD_WARNING; + } + + if (bitvec_get_bit_pos(&ts->hopping.arfcns, arfcn) == ONE) { + vty_out(vty, "%% ARFCN %" PRIu16 " is already set%s", arfcn, VTY_NEWLINE); + return CMD_WARNING; + } + + bitvec_set_bit_pos(&ts->hopping.arfcns, arfcn, 1); + + /* Update Cell Allocation (list of all the frequencies allocated to a cell) */ + if (generate_cell_chan_alloc(ts->trx->bts) != 0) { + vty_out(vty, "%% Failed to re-generate Cell Allocation%s", VTY_NEWLINE); + bitvec_set_bit_pos(&ts->hopping.arfcns, arfcn, ZERO); /* roll-back */ + return CMD_WARNING; + } + + return CMD_SUCCESS; +} + +DEFUN_USRATTR(cfg_ts_arfcn_del, + cfg_ts_arfcn_del_cmd, + X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), + "hopping arfcn del <0-1023>", + HOPPING_STR "Configure hopping ARFCN list\n" + "Delete an entry to the hopping ARFCN list\n" "ARFCN\n") +{ + enum gsm_band unused; + struct gsm_bts_trx_ts *ts = vty->index; + int arfcn = atoi(argv[0]); + + if (gsm_arfcn2band_rc(arfcn, &unused) < 0) { + vty_out(vty, "%% Invalid arfcn %" PRIu16 " detected%s", arfcn, VTY_NEWLINE); + return CMD_WARNING; + } + + if (bitvec_get_bit_pos(&ts->hopping.arfcns, arfcn) != ONE) { + vty_out(vty, "%% ARFCN %" PRIu16 " is not set%s", arfcn, VTY_NEWLINE); + return CMD_WARNING; + } + + bitvec_set_bit_pos(&ts->hopping.arfcns, arfcn, 0); + + /* Update Cell Allocation (list of all the frequencies allocated to a cell) */ + if (generate_cell_chan_alloc(ts->trx->bts) != 0) { + vty_out(vty, "%% Failed to re-generate Cell Allocation%s", VTY_NEWLINE); + /* It's unlikely to happen on removal, so we don't roll-back */ + return CMD_WARNING; + } + + return CMD_SUCCESS; +} + +DEFUN_USRATTR(cfg_ts_arfcn_del_all, + cfg_ts_arfcn_del_all_cmd, + X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), + "hopping arfcn del-all", + HOPPING_STR "Configure hopping ARFCN list\n" + "Delete all previously configured entries\n") +{ + struct gsm_bts_trx_ts *ts = vty->index; + + bitvec_zero(&ts->hopping.arfcns); + + /* Update Cell Allocation (list of all the frequencies allocated to a cell) */ + if (generate_cell_chan_alloc(ts->trx->bts) != 0) { + vty_out(vty, "%% Failed to re-generate Cell Allocation%s", VTY_NEWLINE); + /* It's unlikely to happen on removal, so we don't roll-back */ + return CMD_WARNING; + } + + return CMD_SUCCESS; +} + +/* NOTE: This will have an effect on newly created voice lchans since the E1 + * voice channels are handled by osmo-mgw and the information put in e1_link + * here is only used to generate the MGCP messages for the mgw. */ +DEFUN_ATTR(cfg_ts_e1_subslot, + cfg_ts_e1_subslot_cmd, + "e1 line E1_LINE timeslot <1-31> sub-slot (0|1|2|3|full)", + "E1/T1 channel connected to this on-air timeslot\n" + "E1/T1 channel connected to this on-air timeslot\n" + "E1/T1 line connected to this on-air timeslot\n" + "E1/T1 timeslot connected to this on-air timeslot\n" + "E1/T1 timeslot connected to this on-air timeslot\n" + "E1/T1 sub-slot connected to this on-air timeslot\n" + "E1/T1 sub-slot 0 connected to this on-air timeslot\n" + "E1/T1 sub-slot 1 connected to this on-air timeslot\n" + "E1/T1 sub-slot 2 connected to this on-air timeslot\n" + "E1/T1 sub-slot 3 connected to this on-air timeslot\n" + "Full E1/T1 timeslot connected to this on-air timeslot\n", + CMD_ATTR_IMMEDIATE) +{ + struct gsm_bts_trx_ts *ts = vty->index; + + parse_e1_link(&ts->e1_link, argv[0], argv[1], argv[2]); + + return CMD_SUCCESS; +} + +/* call vty_out() to print a string like " as TCH/H" for dynamic timeslots. + * Don't do anything if the ts is not dynamic. */ +static void vty_out_dyn_ts_status(struct vty *vty, struct gsm_bts_trx_ts *ts) +{ + enum gsm_phys_chan_config target; + if (ts_is_pchan_switching(ts, &target)) { + vty_out(vty, " switching %s -> %s", gsm_pchan_name(ts->pchan_is), + gsm_pchan_name(target)); + } else if (ts->pchan_is != ts->pchan_on_init) { + vty_out(vty, " as %s", gsm_pchan_name(ts->pchan_is)); + } +} + +static void vty_out_dyn_ts_details(struct vty *vty, struct gsm_bts_trx_ts *ts) +{ + /* show dyn TS details, if applicable */ + switch (ts->pchan_on_init) { + case GSM_PCHAN_OSMO_DYN: + vty_out(vty, " Osmocom Dyn TS:"); + vty_out_dyn_ts_status(vty, ts); + vty_out(vty, VTY_NEWLINE); + break; + case GSM_PCHAN_TCH_F_PDCH: + vty_out(vty, " IPACC Dyn PDCH TS:"); + vty_out_dyn_ts_status(vty, ts); + vty_out(vty, VTY_NEWLINE); + break; + default: + /* no dyn ts */ + break; + } +} + +static void meas_rep_dump_uni_vty(struct vty *vty, + struct gsm_meas_rep_unidir *mru, + const char *prefix, + const char *dir) +{ + vty_out(vty, "%s RXL-FULL-%s: %4d dBm, RXL-SUB-%s: %4d dBm ", + prefix, dir, rxlev2dbm(mru->full.rx_lev), + dir, rxlev2dbm(mru->sub.rx_lev)); + vty_out(vty, "RXQ-FULL-%s: %d, RXQ-SUB-%s: %d%s", + dir, mru->full.rx_qual, dir, mru->sub.rx_qual, + VTY_NEWLINE); +} + +static void meas_rep_dump_vty(struct vty *vty, struct gsm_meas_rep *mr, + const char *prefix) +{ + vty_out(vty, "%sMeasurement Report:%s", prefix, VTY_NEWLINE); + vty_out(vty, "%s Flags: %s%s%s%s%s", prefix, + mr->flags & MEAS_REP_F_UL_DTX ? "DTXu " : "", + mr->flags & MEAS_REP_F_DL_DTX ? "DTXd " : "", + mr->flags & MEAS_REP_F_FPC ? "FPC " : "", + mr->flags & MEAS_REP_F_DL_VALID ? " " : "DLinval ", + VTY_NEWLINE); + if (mr->flags & MEAS_REP_F_MS_TO) + vty_out(vty, "%s MS Timing Offset: %d%s", prefix, mr->ms_timing_offset, VTY_NEWLINE); + if (mr->flags & MEAS_REP_F_MS_L1) + vty_out(vty, "%s L1 MS Power: %u dBm, Timing Advance: %u%s", + prefix, mr->ms_l1.pwr, mr->ms_l1.ta, VTY_NEWLINE); + if (mr->flags & MEAS_REP_F_DL_VALID) + meas_rep_dump_uni_vty(vty, &mr->dl, prefix, "dl"); + meas_rep_dump_uni_vty(vty, &mr->ul, prefix, "ul"); +} + +void lchan_dump_full_vty(struct vty *vty, struct gsm_lchan *lchan) +{ + int idx; + + vty_out(vty, "BTS %u, TRX %u, Timeslot %u, Lchan %u: Type %s%s", + lchan->ts->trx->bts->nr, lchan->ts->trx->nr, lchan->ts->nr, + lchan->nr, gsm_lchant_name(lchan->type), VTY_NEWLINE); + vty_out_dyn_ts_details(vty, lchan->ts); + vty_out(vty, " Connection: %u, State: %s%s%s%s", + lchan->conn ? 1: 0, lchan_state_name(lchan), + lchan->fi && lchan->fi->state == LCHAN_ST_BORKEN ? " Error reason: " : "", + lchan->fi && lchan->fi->state == LCHAN_ST_BORKEN ? lchan->last_error : "", + VTY_NEWLINE); + vty_out(vty, " BS Power: %u dBm, MS Power: %u dBm%s", + lchan->ts->trx->nominal_power - lchan->ts->trx->max_power_red + - lchan->bs_power_db, + ms_pwr_dbm(lchan->ts->trx->bts->band, lchan->ms_power), + VTY_NEWLINE); + + vty_out(vty, " Interference Level: "); + if (lchan->interf_dbm == INTERF_DBM_UNKNOWN) + vty_out(vty, "unknown"); + else + vty_out(vty, "%d dBm (%u)", lchan->interf_dbm, lchan->interf_band); + vty_out(vty, "%s", VTY_NEWLINE); + + vty_out(vty, " Channel Mode / Codec: %s%s", + gsm48_chan_mode_name(lchan->current_ch_mode_rate.chan_mode), + VTY_NEWLINE); + if (!lchan_state_is(lchan, LCHAN_ST_UNUSED)) + vty_out(vty, " Training Sequence: Set %d Code %u%s", (lchan->tsc_set > 0 ? lchan->tsc_set : 1), lchan->tsc, VTY_NEWLINE); + if (lchan->vamos.enabled) + vty_out(vty, " VAMOS: enabled%s", VTY_NEWLINE); + if (lchan->conn && lchan->conn->bsub) { + vty_out(vty, " Subscriber:%s", VTY_NEWLINE); + bsc_subscr_dump_vty(vty, lchan->conn->bsub); + } else + vty_out(vty, " No Subscriber%s", VTY_NEWLINE); + if (is_ipaccess_bts(lchan->ts->trx->bts)) { + struct in_addr ia; + if (lchan->abis_ip.bound_ip) { + ia.s_addr = htonl(lchan->abis_ip.bound_ip); + vty_out(vty, " Bound IP: %s Port %u RTP_TYPE2=%u CONN_ID=%u%s", + inet_ntoa(ia), lchan->abis_ip.bound_port, + lchan->abis_ip.rtp_payload2, lchan->abis_ip.conn_id, + VTY_NEWLINE); + } + if (lchan->abis_ip.connect_ip) { + ia.s_addr = htonl(lchan->abis_ip.connect_ip); + vty_out(vty, " Conn. IP: %s Port %u RTP_TYPE=%u SPEECH_MODE=0x%02x%s", + inet_ntoa(ia), lchan->abis_ip.connect_port, + lchan->abis_ip.rtp_payload, lchan->abis_ip.speech_mode, + VTY_NEWLINE); + } + + } + + /* we want to report the last measurement report */ + idx = calc_initial_idx(ARRAY_SIZE(lchan->meas_rep), + lchan->meas_rep_idx, 1); + meas_rep_dump_vty(vty, &lchan->meas_rep[idx], " "); +} + +void lchan_dump_short_vty(struct vty *vty, struct gsm_lchan *lchan) +{ + struct gsm_meas_rep *mr; + int idx; + + /* we want to report the last measurement report */ + idx = calc_initial_idx(ARRAY_SIZE(lchan->meas_rep), + lchan->meas_rep_idx, 1); + mr = &lchan->meas_rep[idx]; + + vty_out(vty, "BTS %u, TRX %u, Timeslot %u %s", + lchan->ts->trx->bts->nr, lchan->ts->trx->nr, lchan->ts->nr, + gsm_pchan_name(lchan->ts->pchan_on_init)); + vty_out_dyn_ts_status(vty, lchan->ts); + vty_out(vty, ", Lchan %u", lchan->nr); + + if (lchan_state_is(lchan, LCHAN_ST_UNUSED)) { + vty_out(vty, ", Type %s, State %s - Interference Level: ", + gsm_pchan_name(lchan->ts->pchan_is), + lchan_state_name(lchan)); + if (lchan->interf_dbm == INTERF_DBM_UNKNOWN) + vty_out(vty, "unknown"); + else + vty_out(vty, "%d dBm (%u)", lchan->interf_dbm, lchan->interf_band); + vty_out(vty, "%s", VTY_NEWLINE); + return; + } + + vty_out(vty, ", Type %s%s TSC-s%dc%u, State %s - L1 MS Power: %u dBm RXL-FULL-dl: %4d dBm RXL-FULL-ul: %4d dBm%s", + gsm_lchant_name(lchan->type), + lchan->vamos.enabled ? " (VAMOS)" : "", + lchan->tsc_set > 0 ? lchan->tsc_set : 1, + lchan->tsc, + lchan_state_name(lchan), + mr->ms_l1.pwr, + rxlev2dbm(mr->dl.full.rx_lev), + rxlev2dbm(mr->ul.full.rx_lev), + VTY_NEWLINE); +} + +void ts_dump_vty(struct vty *vty, struct gsm_bts_trx_ts *ts) +{ + vty_out(vty, "BTS %u, TRX %u, Timeslot %u, phys cfg %s (active %s)", + ts->trx->bts->nr, ts->trx->nr, ts->nr, + gsm_pchan_name(ts->pchan_on_init), + gsm_pchan_name(ts->pchan_is)); + if (ts->pchan_is != ts->pchan_on_init) + vty_out(vty, " (%s mode)", gsm_pchan_name(ts->pchan_is)); + vty_out(vty, ", TSC %u%s NM State: ", gsm_ts_tsc(ts), VTY_NEWLINE); + vty_out_dyn_ts_details(vty, ts); + net_dump_nmstate(vty, &ts->mo.nm_state); + if (!is_ipaccess_bts(ts->trx->bts)) + vty_out(vty, " E1 Line %u, Timeslot %u, Subslot %u%s", + ts->e1_link.e1_nr, ts->e1_link.e1_ts, + ts->e1_link.e1_ts_ss, VTY_NEWLINE); +} + +void e1isl_dump_vty(struct vty *vty, struct e1inp_sign_link *e1l) +{ + struct e1inp_line *line; + + if (!e1l) { + vty_out(vty, " None%s", VTY_NEWLINE); + return; + } + + line = e1l->ts->line; + + vty_out(vty, " E1 Line %u, Type %s: Timeslot %u, Mode %s%s", + line->num, line->driver->name, e1l->ts->num, + e1inp_signtype_name(e1l->type), VTY_NEWLINE); + vty_out(vty, " E1 TEI %u, SAPI %u%s", + e1l->tei, e1l->sapi, VTY_NEWLINE); +} + +/*! Dump the IP addresses and ports of the input signal link's timeslot. + * This only makes sense for links connected with ipaccess. + * Example output: "(r=10.1.42.1:55416<->l=10.1.42.123:3003)" */ +void e1isl_dump_vty_tcp(struct vty *vty, const struct e1inp_sign_link *e1l) +{ + if (e1l) { + char *name = osmo_sock_get_name(NULL, e1l->ts->driver.ipaccess.fd.fd); + vty_out(vty, "%s", name); + talloc_free(name); + } + vty_out(vty, "%s", VTY_NEWLINE); +} + +void trx_dump_vty(struct vty *vty, struct gsm_bts_trx *trx, bool print_rsl, bool show_connected) +{ + if (show_connected && !trx->rsl_link_primary) + return; + + if (!show_connected && trx->rsl_link_primary) + return; + + vty_out(vty, "TRX %u of BTS %u is on ARFCN %u%s", + trx->nr, trx->bts->nr, trx->arfcn, VTY_NEWLINE); + vty_out(vty, " RF Nominal Power: %d dBm, reduced by %u dB, " + "resulting BS power: %d dBm%s", + trx->nominal_power, trx->max_power_red, + trx->nominal_power - trx->max_power_red, VTY_NEWLINE); + vty_out(vty, " Radio Carrier NM State: "); + net_dump_nmstate(vty, &trx->mo.nm_state); + if (print_rsl) + vty_out(vty, " RSL State: %s%s", trx->rsl_link_primary? "connected" : "disconnected", VTY_NEWLINE); + vty_out(vty, " Baseband Transceiver NM State: "); + net_dump_nmstate(vty, &trx->bb_transc.mo.nm_state); + if (is_ipaccess_bts(trx->bts)) { + vty_out(vty, " ip.access stream ID: 0x%02x ", trx->rsl_tei_primary); + e1isl_dump_vty_tcp(vty, trx->rsl_link_primary); + } else { + vty_out(vty, " E1 Signalling Link:%s", VTY_NEWLINE); + e1isl_dump_vty(vty, trx->rsl_link_primary); + } +} + +void config_write_e1_link(struct vty *vty, struct gsm_e1_subslot *e1_link, + const char *prefix) +{ + if (!e1_link->e1_ts) + return; + + if (e1_link->e1_ts_ss == 255) + vty_out(vty, "%se1 line %u timeslot %u sub-slot full%s", + prefix, e1_link->e1_nr, e1_link->e1_ts, VTY_NEWLINE); + else + vty_out(vty, "%se1 line %u timeslot %u sub-slot %u%s", + prefix, e1_link->e1_nr, e1_link->e1_ts, + e1_link->e1_ts_ss, VTY_NEWLINE); +} + + +static void config_write_ts_single(struct vty *vty, struct gsm_bts_trx_ts *ts) +{ + vty_out(vty, " timeslot %u%s", ts->nr, VTY_NEWLINE); + if (ts->tsc != -1) + vty_out(vty, " training_sequence_code %u%s", ts->tsc, VTY_NEWLINE); + if (ts->pchan_from_config != GSM_PCHAN_NONE) + vty_out(vty, " phys_chan_config %s%s", + gsm_pchan_name(ts->pchan_from_config), VTY_NEWLINE); + vty_out(vty, " hopping enabled %u%s", + ts->hopping.enabled, VTY_NEWLINE); + if (ts->hopping.enabled) { + unsigned int i; + vty_out(vty, " hopping sequence-number %u%s", + ts->hopping.hsn, VTY_NEWLINE); + vty_out(vty, " hopping maio %u%s", + ts->hopping.maio, VTY_NEWLINE); + for (i = 0; i < ts->hopping.arfcns.data_len*8; i++) { + if (!bitvec_get_bit_pos(&ts->hopping.arfcns, i)) + continue; + vty_out(vty, " hopping arfcn add %u%s", + i, VTY_NEWLINE); + } + } + config_write_e1_link(vty, &ts->e1_link, " "); + + if (ts->trx->bts->model->config_write_ts) + ts->trx->bts->model->config_write_ts(vty, ts); +} + +void config_write_trx_single(struct vty *vty, struct gsm_bts_trx *trx) +{ + int i; + + vty_out(vty, " trx %u%s", trx->nr, VTY_NEWLINE); + vty_out(vty, " rf_locked %u%s", + trx->mo.force_rf_lock ? 1 : 0, + VTY_NEWLINE); + vty_out(vty, " arfcn %u%s", trx->arfcn, VTY_NEWLINE); + vty_out(vty, " nominal power %u%s", trx->nominal_power, VTY_NEWLINE); + vty_out(vty, " max_power_red %u%s", trx->max_power_red, VTY_NEWLINE); + config_write_e1_link(vty, &trx->rsl_e1_link, " rsl "); + vty_out(vty, " rsl e1 tei %u%s", trx->rsl_tei_primary, VTY_NEWLINE); + + if (trx->bts->model->config_write_trx) + trx->bts->model->config_write_trx(vty, trx); + + for (i = 0; i < TRX_NR_TS; i++) + config_write_ts_single(vty, &trx->ts[i]); +} + +int bts_trx_vty_init(void) +{ + cfg_ts_pchan_cmd.string = + vty_cmd_string_from_valstr(tall_bsc_ctx, + gsm_pchant_names, + "phys_chan_config (", "|", ")", + VTY_DO_LOWER); + cfg_ts_pchan_cmd.doc = + vty_cmd_string_from_valstr(tall_bsc_ctx, + gsm_pchant_descs, + "Physical Channel Combination\n", + "\n", "", 0); + + install_element(BTS_NODE, &cfg_trx_cmd); + install_node(&trx_node, dummy_config_write); + install_element(TRX_NODE, &cfg_trx_arfcn_cmd); + install_element(TRX_NODE, &cfg_description_cmd); + install_element(TRX_NODE, &cfg_no_description_cmd); + install_element(TRX_NODE, &cfg_trx_nominal_power_cmd); + install_element(TRX_NODE, &cfg_trx_max_power_red_cmd); + install_element(TRX_NODE, &cfg_trx_rsl_e1_cmd); + install_element(TRX_NODE, &cfg_trx_rsl_e1_tei_cmd); + install_element(TRX_NODE, &cfg_trx_rf_locked_cmd); + + install_element(TRX_NODE, &cfg_ts_cmd); + install_node(&ts_node, dummy_config_write); + install_element(TS_NODE, &cfg_ts_pchan_cmd); + install_element(TS_NODE, &cfg_ts_pchan_compat_cmd); + install_element(TS_NODE, &cfg_ts_tsc_cmd); + install_element(TS_NODE, &cfg_ts_hopping_cmd); + install_element(TS_NODE, &cfg_ts_hsn_cmd); + install_element(TS_NODE, &cfg_ts_maio_cmd); + install_element(TS_NODE, &cfg_ts_arfcn_add_cmd); + install_element(TS_NODE, &cfg_ts_arfcn_del_cmd); + install_element(TS_NODE, &cfg_ts_arfcn_del_all_cmd); + install_element(TS_NODE, &cfg_ts_e1_subslot_cmd); + + return 0; +} diff --git a/src/osmo-bsc/bts_vty.c b/src/osmo-bsc/bts_vty.c index 5859480..b8b9f6c 100644 --- a/src/osmo-bsc/bts_vty.c +++ b/src/osmo-bsc/bts_vty.c @@ -38,7 +38,6 @@ #include #include -#include #include #include #include @@ -48,9 +47,6 @@ #include #include #include -#include -#include -#include #include #include @@ -106,30 +102,6 @@ 1, }; -static struct cmd_node trx_node = { - TRX_NODE, - "%s(config-net-bts-trx)# ", - 1, -}; - -static struct cmd_node ts_node = { - TS_NODE, - "%s(config-net-bts-trx-ts)# ", - 1, -}; - -/* utility functions */ -static void parse_e1_link(struct gsm_e1_subslot *e1_link, const char *line, - const char *ts, const char *ss) -{ - e1_link->e1_nr = atoi(line); - e1_link->e1_ts = atoi(ts); - if (!strcmp(ss, "full")) - e1_link->e1_ts_ss = 255; - else - e1_link->e1_ts_ss = atoi(ss); -} - /* per-BTS configuration */ DEFUN_ATTR(cfg_bts, cfg_bts_cmd, @@ -3231,615 +3203,6 @@ return CMD_SUCCESS; } -#define TRX_TEXT "Radio Transceiver\n" - -/* per TRX configuration */ -DEFUN_ATTR(cfg_trx, - cfg_trx_cmd, - "trx <0-255>", - TRX_TEXT - "Select a TRX to configure\n", - CMD_ATTR_IMMEDIATE) -{ - int trx_nr = atoi(argv[0]); - struct gsm_bts *bts = vty->index; - struct gsm_bts_trx *trx; - - if (trx_nr > bts->num_trx) { - vty_out(vty, "%% The next unused TRX number in this BTS is %u%s", - bts->num_trx, VTY_NEWLINE); - return CMD_WARNING; - } else if (trx_nr == bts->num_trx) { - /* we need to allocate a new one */ - trx = gsm_bts_trx_alloc(bts); - } else - trx = gsm_bts_trx_num(bts, trx_nr); - - if (!trx) - return CMD_WARNING; - - vty->index = trx; - vty->node = TRX_NODE; - - return CMD_SUCCESS; -} - -DEFUN_USRATTR(cfg_trx_arfcn, - cfg_trx_arfcn_cmd, - X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), - "arfcn <0-1023>", - "Set the ARFCN for this TRX\n" - "Absolute Radio Frequency Channel Number\n") -{ - enum gsm_band unused; - struct gsm_bts_trx *trx = vty->index; - int arfcn = atoi(argv[0]); - - if (gsm_arfcn2band_rc(arfcn, &unused) < 0) { - vty_out(vty, "%% Invalid arfcn %" PRIu16 " detected%s", arfcn, VTY_NEWLINE); - return CMD_WARNING; - } - - /* FIXME: check if this ARFCN is supported by this TRX */ - - trx->arfcn = arfcn; - - /* Update Cell Allocation (list of all the frequencies allocated to a cell) */ - if (generate_cell_chan_alloc(trx->bts) != 0) { - vty_out(vty, "%% Failed to re-generate Cell Allocation%s", VTY_NEWLINE); - return CMD_WARNING; - } - - /* FIXME: patch ARFCN into SYSTEM INFORMATION */ - /* FIXME: use OML layer to update the ARFCN */ - /* FIXME: use RSL layer to update SYSTEM INFORMATION */ - - return CMD_SUCCESS; -} - -DEFUN_USRATTR(cfg_trx_nominal_power, - cfg_trx_nominal_power_cmd, - X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), - "nominal power <-20-100>", - "Nominal TRX RF Power in dBm\n" - "Nominal TRX RF Power in dBm\n" - "Nominal TRX RF Power in dBm\n") -{ - struct gsm_bts_trx *trx = vty->index; - - trx->nominal_power = atoi(argv[0]); - - return CMD_SUCCESS; -} - -DEFUN_USRATTR(cfg_trx_max_power_red, - cfg_trx_max_power_red_cmd, - X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), - "max_power_red <0-100>", - "Reduction of maximum BS RF Power (relative to nominal power)\n" - "Reduction of maximum BS RF Power in dB\n") -{ - int maxpwr_r = atoi(argv[0]); - struct gsm_bts_trx *trx = vty->index; - int upper_limit = 24; /* default 12.21 max power red. */ - - /* FIXME: check if our BTS type supports more than 12 */ - if (maxpwr_r < 0 || maxpwr_r > upper_limit) { - vty_out(vty, "%% Power %d dB is not in the valid range%s", - maxpwr_r, VTY_NEWLINE); - return CMD_WARNING; - } - if (maxpwr_r & 1) { - vty_out(vty, "%% Power %d dB is not an even value%s", - maxpwr_r, VTY_NEWLINE); - return CMD_WARNING; - } - - trx->max_power_red = maxpwr_r; - - /* FIXME: make sure we update this using OML */ - - return CMD_SUCCESS; -} - -/* NOTE: This requires a full restart as bsc_network_configure() is executed - * only once on startup from osmo_bsc_main.c */ -DEFUN(cfg_trx_rsl_e1, - cfg_trx_rsl_e1_cmd, - "rsl e1 line E1_LINE timeslot <1-31> sub-slot (0|1|2|3|full)", - "RSL Parameters\n" - "E1/T1 interface to be used for RSL\n" - "E1/T1 interface to be used for RSL\n" - "E1/T1 Line Number to be used for RSL\n" - "E1/T1 Timeslot to be used for RSL\n" - "E1/T1 Timeslot to be used for RSL\n" - "E1/T1 Sub-slot to be used for RSL\n" - "E1/T1 Sub-slot 0 is to be used for RSL\n" - "E1/T1 Sub-slot 1 is to be used for RSL\n" - "E1/T1 Sub-slot 2 is to be used for RSL\n" - "E1/T1 Sub-slot 3 is to be used for RSL\n" - "E1/T1 full timeslot is to be used for RSL\n") -{ - struct gsm_bts_trx *trx = vty->index; - - parse_e1_link(&trx->rsl_e1_link, argv[0], argv[1], argv[2]); - - return CMD_SUCCESS; -} - -DEFUN_USRATTR(cfg_trx_rsl_e1_tei, - cfg_trx_rsl_e1_tei_cmd, - X(BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK), - "rsl e1 tei <0-63>", - "RSL Parameters\n" - "Set the TEI to be used for RSL\n" - "Set the TEI to be used for RSL\n" - "TEI to be used for RSL\n") -{ - struct gsm_bts_trx *trx = vty->index; - - trx->rsl_tei_primary = atoi(argv[0]); - - return CMD_SUCCESS; -} - -DEFUN_ATTR(cfg_trx_rf_locked, - cfg_trx_rf_locked_cmd, - "rf_locked (0|1)", - "Set or unset the RF Locking (Turn off RF of the TRX)\n" - "TRX is NOT RF locked (active)\n" - "TRX is RF locked (turned off)\n", - CMD_ATTR_IMMEDIATE) -{ - int locked = atoi(argv[0]); - struct gsm_bts_trx *trx = vty->index; - - gsm_trx_lock_rf(trx, locked, "vty"); - return CMD_SUCCESS; -} - -/* per TS configuration */ -DEFUN_ATTR(cfg_ts, - cfg_ts_cmd, - "timeslot <0-7>", - "Select a Timeslot to configure\n" - "Timeslot number\n", - CMD_ATTR_IMMEDIATE) -{ - int ts_nr = atoi(argv[0]); - struct gsm_bts_trx *trx = vty->index; - struct gsm_bts_trx_ts *ts; - - if (ts_nr >= TRX_NR_TS) { - vty_out(vty, "%% A GSM TRX only has %u Timeslots per TRX%s", - TRX_NR_TS, VTY_NEWLINE); - return CMD_WARNING; - } - - ts = &trx->ts[ts_nr]; - - vty->index = ts; - vty->node = TS_NODE; - - return CMD_SUCCESS; -} - -DEFUN_USRATTR(cfg_ts_pchan, - cfg_ts_pchan_cmd, - X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), - "phys_chan_config PCHAN", /* dynamically generated! */ - "Physical Channel configuration (TCH/SDCCH/...)\n" "Physical Channel\n") -{ - struct gsm_bts_trx_ts *ts = vty->index; - int pchanc; - - pchanc = gsm_pchan_parse(argv[0]); - if (pchanc < 0) - return CMD_WARNING; - - ts->pchan_from_config = pchanc; - - return CMD_SUCCESS; -} - -/* used for backwards compatibility with old config files that still - * have uppercase pchan type names. Also match older names for existing types. */ -DEFUN_HIDDEN(cfg_ts_pchan_compat, - cfg_ts_pchan_compat_cmd, - "phys_chan_config PCHAN", - "Physical Channel configuration (TCH/SDCCH/...)\n" "Physical Channel\n") -{ - struct gsm_bts_trx_ts *ts = vty->index; - int pchanc; - - pchanc = gsm_pchan_parse(argv[0]); - if (pchanc < 0) { - if (strcasecmp(argv[0], "tch/f_tch/h_pdch") == 0) { - pchanc = GSM_PCHAN_OSMO_DYN; - } else { - vty_out(vty, "Unknown physical channel name '%s'%s", argv[0], VTY_NEWLINE); - return CMD_ERR_NO_MATCH; - } - } - - ts->pchan_from_config = pchanc; - - return CMD_SUCCESS; -} - -DEFUN_USRATTR(cfg_ts_tsc, - cfg_ts_tsc_cmd, - X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), - "training_sequence_code <0-7>", - "Training Sequence Code of the Timeslot\n" "TSC\n") -{ - struct gsm_bts_trx_ts *ts = vty->index; - - if (!osmo_bts_has_feature(&ts->trx->bts->model->features, BTS_FEAT_MULTI_TSC)) { - vty_out(vty, "%% This BTS does not support a TSC != BCC, " - "falling back to BCC%s", VTY_NEWLINE); - ts->tsc = -1; - return CMD_WARNING; - } - - ts->tsc = atoi(argv[0]); - - return CMD_SUCCESS; -} - -#define HOPPING_STR "Configure frequency hopping\n" - -DEFUN_USRATTR(cfg_ts_hopping, - cfg_ts_hopping_cmd, - X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), - "hopping enabled (0|1)", - HOPPING_STR "Enable or disable frequency hopping\n" - "Disable frequency hopping\n" "Enable frequency hopping\n") -{ - struct gsm_bts_trx_ts *ts = vty->index; - int enabled = atoi(argv[0]); - - if (enabled && !osmo_bts_has_feature(&ts->trx->bts->model->features, BTS_FEAT_HOPPING)) { - vty_out(vty, "%% BTS model does not seem to support freq. hopping%s", VTY_NEWLINE); - /* Allow enabling frequency hopping anyway, because the BTS might not have - * connected yet (thus not sent the feature vector), so we cannot know for - * sure. Jet print a warning and let it go. */ - } - - ts->hopping.enabled = enabled; - - return CMD_SUCCESS; -} - -DEFUN_USRATTR(cfg_ts_hsn, - cfg_ts_hsn_cmd, - X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), - "hopping sequence-number <0-63>", - HOPPING_STR - "Which hopping sequence to use for this channel\n" - "Hopping Sequence Number (HSN)\n") -{ - struct gsm_bts_trx_ts *ts = vty->index; - - ts->hopping.hsn = atoi(argv[0]); - - return CMD_SUCCESS; -} - -DEFUN_USRATTR(cfg_ts_maio, - cfg_ts_maio_cmd, - X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), - "hopping maio <0-63>", - HOPPING_STR - "Which hopping MAIO to use for this channel\n" - "Mobile Allocation Index Offset (MAIO)\n") -{ - struct gsm_bts_trx_ts *ts = vty->index; - - ts->hopping.maio = atoi(argv[0]); - - return CMD_SUCCESS; -} - -DEFUN_USRATTR(cfg_ts_arfcn_add, - cfg_ts_arfcn_add_cmd, - X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), - "hopping arfcn add <0-1023>", - HOPPING_STR "Configure hopping ARFCN list\n" - "Add an entry to the hopping ARFCN list\n" "ARFCN\n") -{ - enum gsm_band unused; - struct gsm_bts_trx_ts *ts = vty->index; - int arfcn = atoi(argv[0]); - - if (gsm_arfcn2band_rc(arfcn, &unused) < 0) { - vty_out(vty, "%% Invalid arfcn %" PRIu16 " detected%s", arfcn, VTY_NEWLINE); - return CMD_WARNING; - } - - if (bitvec_get_bit_pos(&ts->hopping.arfcns, arfcn) == ONE) { - vty_out(vty, "%% ARFCN %" PRIu16 " is already set%s", arfcn, VTY_NEWLINE); - return CMD_WARNING; - } - - bitvec_set_bit_pos(&ts->hopping.arfcns, arfcn, 1); - - /* Update Cell Allocation (list of all the frequencies allocated to a cell) */ - if (generate_cell_chan_alloc(ts->trx->bts) != 0) { - vty_out(vty, "%% Failed to re-generate Cell Allocation%s", VTY_NEWLINE); - bitvec_set_bit_pos(&ts->hopping.arfcns, arfcn, ZERO); /* roll-back */ - return CMD_WARNING; - } - - return CMD_SUCCESS; -} - -DEFUN_USRATTR(cfg_ts_arfcn_del, - cfg_ts_arfcn_del_cmd, - X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), - "hopping arfcn del <0-1023>", - HOPPING_STR "Configure hopping ARFCN list\n" - "Delete an entry to the hopping ARFCN list\n" "ARFCN\n") -{ - enum gsm_band unused; - struct gsm_bts_trx_ts *ts = vty->index; - int arfcn = atoi(argv[0]); - - if (gsm_arfcn2band_rc(arfcn, &unused) < 0) { - vty_out(vty, "%% Invalid arfcn %" PRIu16 " detected%s", arfcn, VTY_NEWLINE); - return CMD_WARNING; - } - - if (bitvec_get_bit_pos(&ts->hopping.arfcns, arfcn) != ONE) { - vty_out(vty, "%% ARFCN %" PRIu16 " is not set%s", arfcn, VTY_NEWLINE); - return CMD_WARNING; - } - - bitvec_set_bit_pos(&ts->hopping.arfcns, arfcn, 0); - - /* Update Cell Allocation (list of all the frequencies allocated to a cell) */ - if (generate_cell_chan_alloc(ts->trx->bts) != 0) { - vty_out(vty, "%% Failed to re-generate Cell Allocation%s", VTY_NEWLINE); - /* It's unlikely to happen on removal, so we don't roll-back */ - return CMD_WARNING; - } - - return CMD_SUCCESS; -} - -DEFUN_USRATTR(cfg_ts_arfcn_del_all, - cfg_ts_arfcn_del_all_cmd, - X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), - "hopping arfcn del-all", - HOPPING_STR "Configure hopping ARFCN list\n" - "Delete all previously configured entries\n") -{ - struct gsm_bts_trx_ts *ts = vty->index; - - bitvec_zero(&ts->hopping.arfcns); - - /* Update Cell Allocation (list of all the frequencies allocated to a cell) */ - if (generate_cell_chan_alloc(ts->trx->bts) != 0) { - vty_out(vty, "%% Failed to re-generate Cell Allocation%s", VTY_NEWLINE); - /* It's unlikely to happen on removal, so we don't roll-back */ - return CMD_WARNING; - } - - return CMD_SUCCESS; -} - -/* NOTE: This will have an effect on newly created voice lchans since the E1 - * voice channels are handled by osmo-mgw and the information put in e1_link - * here is only used to generate the MGCP messages for the mgw. */ -DEFUN_ATTR(cfg_ts_e1_subslot, - cfg_ts_e1_subslot_cmd, - "e1 line E1_LINE timeslot <1-31> sub-slot (0|1|2|3|full)", - "E1/T1 channel connected to this on-air timeslot\n" - "E1/T1 channel connected to this on-air timeslot\n" - "E1/T1 line connected to this on-air timeslot\n" - "E1/T1 timeslot connected to this on-air timeslot\n" - "E1/T1 timeslot connected to this on-air timeslot\n" - "E1/T1 sub-slot connected to this on-air timeslot\n" - "E1/T1 sub-slot 0 connected to this on-air timeslot\n" - "E1/T1 sub-slot 1 connected to this on-air timeslot\n" - "E1/T1 sub-slot 2 connected to this on-air timeslot\n" - "E1/T1 sub-slot 3 connected to this on-air timeslot\n" - "Full E1/T1 timeslot connected to this on-air timeslot\n", - CMD_ATTR_IMMEDIATE) -{ - struct gsm_bts_trx_ts *ts = vty->index; - - parse_e1_link(&ts->e1_link, argv[0], argv[1], argv[2]); - - return CMD_SUCCESS; -} - -/* call vty_out() to print a string like " as TCH/H" for dynamic timeslots. - * Don't do anything if the ts is not dynamic. */ -static void vty_out_dyn_ts_status(struct vty *vty, struct gsm_bts_trx_ts *ts) -{ - enum gsm_phys_chan_config target; - if (ts_is_pchan_switching(ts, &target)) { - vty_out(vty, " switching %s -> %s", gsm_pchan_name(ts->pchan_is), - gsm_pchan_name(target)); - } else if (ts->pchan_is != ts->pchan_on_init) { - vty_out(vty, " as %s", gsm_pchan_name(ts->pchan_is)); - } -} - -static void vty_out_dyn_ts_details(struct vty *vty, struct gsm_bts_trx_ts *ts) -{ - /* show dyn TS details, if applicable */ - switch (ts->pchan_on_init) { - case GSM_PCHAN_OSMO_DYN: - vty_out(vty, " Osmocom Dyn TS:"); - vty_out_dyn_ts_status(vty, ts); - vty_out(vty, VTY_NEWLINE); - break; - case GSM_PCHAN_TCH_F_PDCH: - vty_out(vty, " IPACC Dyn PDCH TS:"); - vty_out_dyn_ts_status(vty, ts); - vty_out(vty, VTY_NEWLINE); - break; - default: - /* no dyn ts */ - break; - } -} - -static void meas_rep_dump_uni_vty(struct vty *vty, - struct gsm_meas_rep_unidir *mru, - const char *prefix, - const char *dir) -{ - vty_out(vty, "%s RXL-FULL-%s: %4d dBm, RXL-SUB-%s: %4d dBm ", - prefix, dir, rxlev2dbm(mru->full.rx_lev), - dir, rxlev2dbm(mru->sub.rx_lev)); - vty_out(vty, "RXQ-FULL-%s: %d, RXQ-SUB-%s: %d%s", - dir, mru->full.rx_qual, dir, mru->sub.rx_qual, - VTY_NEWLINE); -} - -static void meas_rep_dump_vty(struct vty *vty, struct gsm_meas_rep *mr, - const char *prefix) -{ - vty_out(vty, "%sMeasurement Report:%s", prefix, VTY_NEWLINE); - vty_out(vty, "%s Flags: %s%s%s%s%s", prefix, - mr->flags & MEAS_REP_F_UL_DTX ? "DTXu " : "", - mr->flags & MEAS_REP_F_DL_DTX ? "DTXd " : "", - mr->flags & MEAS_REP_F_FPC ? "FPC " : "", - mr->flags & MEAS_REP_F_DL_VALID ? " " : "DLinval ", - VTY_NEWLINE); - if (mr->flags & MEAS_REP_F_MS_TO) - vty_out(vty, "%s MS Timing Offset: %d%s", prefix, mr->ms_timing_offset, VTY_NEWLINE); - if (mr->flags & MEAS_REP_F_MS_L1) - vty_out(vty, "%s L1 MS Power: %u dBm, Timing Advance: %u%s", - prefix, mr->ms_l1.pwr, mr->ms_l1.ta, VTY_NEWLINE); - if (mr->flags & MEAS_REP_F_DL_VALID) - meas_rep_dump_uni_vty(vty, &mr->dl, prefix, "dl"); - meas_rep_dump_uni_vty(vty, &mr->ul, prefix, "ul"); -} - -void lchan_dump_full_vty(struct vty *vty, struct gsm_lchan *lchan) -{ - int idx; - - vty_out(vty, "BTS %u, TRX %u, Timeslot %u, Lchan %u: Type %s%s", - lchan->ts->trx->bts->nr, lchan->ts->trx->nr, lchan->ts->nr, - lchan->nr, gsm_lchant_name(lchan->type), VTY_NEWLINE); - vty_out_dyn_ts_details(vty, lchan->ts); - vty_out(vty, " Connection: %u, State: %s%s%s%s", - lchan->conn ? 1: 0, lchan_state_name(lchan), - lchan->fi && lchan->fi->state == LCHAN_ST_BORKEN ? " Error reason: " : "", - lchan->fi && lchan->fi->state == LCHAN_ST_BORKEN ? lchan->last_error : "", - VTY_NEWLINE); - vty_out(vty, " BS Power: %u dBm, MS Power: %u dBm%s", - lchan->ts->trx->nominal_power - lchan->ts->trx->max_power_red - - lchan->bs_power_db, - ms_pwr_dbm(lchan->ts->trx->bts->band, lchan->ms_power), - VTY_NEWLINE); - - vty_out(vty, " Interference Level: "); - if (lchan->interf_dbm == INTERF_DBM_UNKNOWN) - vty_out(vty, "unknown"); - else - vty_out(vty, "%d dBm (%u)", lchan->interf_dbm, lchan->interf_band); - vty_out(vty, "%s", VTY_NEWLINE); - - vty_out(vty, " Channel Mode / Codec: %s%s", - gsm48_chan_mode_name(lchan->current_ch_mode_rate.chan_mode), - VTY_NEWLINE); - if (!lchan_state_is(lchan, LCHAN_ST_UNUSED)) - vty_out(vty, " Training Sequence: Set %d Code %u%s", (lchan->tsc_set > 0 ? lchan->tsc_set : 1), lchan->tsc, VTY_NEWLINE); - if (lchan->vamos.enabled) - vty_out(vty, " VAMOS: enabled%s", VTY_NEWLINE); - if (lchan->conn && lchan->conn->bsub) { - vty_out(vty, " Subscriber:%s", VTY_NEWLINE); - bsc_subscr_dump_vty(vty, lchan->conn->bsub); - } else - vty_out(vty, " No Subscriber%s", VTY_NEWLINE); - if (is_ipaccess_bts(lchan->ts->trx->bts)) { - struct in_addr ia; - if (lchan->abis_ip.bound_ip) { - ia.s_addr = htonl(lchan->abis_ip.bound_ip); - vty_out(vty, " Bound IP: %s Port %u RTP_TYPE2=%u CONN_ID=%u%s", - inet_ntoa(ia), lchan->abis_ip.bound_port, - lchan->abis_ip.rtp_payload2, lchan->abis_ip.conn_id, - VTY_NEWLINE); - } - if (lchan->abis_ip.connect_ip) { - ia.s_addr = htonl(lchan->abis_ip.connect_ip); - vty_out(vty, " Conn. IP: %s Port %u RTP_TYPE=%u SPEECH_MODE=0x%02x%s", - inet_ntoa(ia), lchan->abis_ip.connect_port, - lchan->abis_ip.rtp_payload, lchan->abis_ip.speech_mode, - VTY_NEWLINE); - } - - } - - /* we want to report the last measurement report */ - idx = calc_initial_idx(ARRAY_SIZE(lchan->meas_rep), - lchan->meas_rep_idx, 1); - meas_rep_dump_vty(vty, &lchan->meas_rep[idx], " "); -} - -void lchan_dump_short_vty(struct vty *vty, struct gsm_lchan *lchan) -{ - struct gsm_meas_rep *mr; - int idx; - - /* we want to report the last measurement report */ - idx = calc_initial_idx(ARRAY_SIZE(lchan->meas_rep), - lchan->meas_rep_idx, 1); - mr = &lchan->meas_rep[idx]; - - vty_out(vty, "BTS %u, TRX %u, Timeslot %u %s", - lchan->ts->trx->bts->nr, lchan->ts->trx->nr, lchan->ts->nr, - gsm_pchan_name(lchan->ts->pchan_on_init)); - vty_out_dyn_ts_status(vty, lchan->ts); - vty_out(vty, ", Lchan %u", lchan->nr); - - if (lchan_state_is(lchan, LCHAN_ST_UNUSED)) { - vty_out(vty, ", Type %s, State %s - Interference Level: ", - gsm_pchan_name(lchan->ts->pchan_is), - lchan_state_name(lchan)); - if (lchan->interf_dbm == INTERF_DBM_UNKNOWN) - vty_out(vty, "unknown"); - else - vty_out(vty, "%d dBm (%u)", lchan->interf_dbm, lchan->interf_band); - vty_out(vty, "%s", VTY_NEWLINE); - return; - } - - vty_out(vty, ", Type %s%s TSC-s%dc%u, State %s - L1 MS Power: %u dBm RXL-FULL-dl: %4d dBm RXL-FULL-ul: %4d dBm%s", - gsm_lchant_name(lchan->type), - lchan->vamos.enabled ? " (VAMOS)" : "", - lchan->tsc_set > 0 ? lchan->tsc_set : 1, - lchan->tsc, - lchan_state_name(lchan), - mr->ms_l1.pwr, - rxlev2dbm(mr->dl.full.rx_lev), - rxlev2dbm(mr->ul.full.rx_lev), - VTY_NEWLINE); -} - -void ts_dump_vty(struct vty *vty, struct gsm_bts_trx_ts *ts) -{ - vty_out(vty, "BTS %u, TRX %u, Timeslot %u, phys cfg %s (active %s)", - ts->trx->bts->nr, ts->trx->nr, ts->nr, - gsm_pchan_name(ts->pchan_on_init), - gsm_pchan_name(ts->pchan_is)); - if (ts->pchan_is != ts->pchan_on_init) - vty_out(vty, " (%s mode)", gsm_pchan_name(ts->pchan_is)); - vty_out(vty, ", TSC %u%s NM State: ", gsm_ts_tsc(ts), VTY_NEWLINE); - vty_out_dyn_ts_details(vty, ts); - net_dump_nmstate(vty, &ts->mo.nm_state); - if (!is_ipaccess_bts(ts->trx->bts)) - vty_out(vty, " E1 Line %u, Timeslot %u, Subslot %u%s", - ts->e1_link.e1_nr, ts->e1_link.e1_ts, - ts->e1_link.e1_ts_ss, VTY_NEWLINE); -} - static void vty_out_neigh_list(struct vty *vty, struct bitvec *bv) { int count = 0; @@ -3856,67 +3219,6 @@ vty_out(vty, " (%d)", count); } -static void e1isl_dump_vty(struct vty *vty, struct e1inp_sign_link *e1l) -{ - struct e1inp_line *line; - - if (!e1l) { - vty_out(vty, " None%s", VTY_NEWLINE); - return; - } - - line = e1l->ts->line; - - vty_out(vty, " E1 Line %u, Type %s: Timeslot %u, Mode %s%s", - line->num, line->driver->name, e1l->ts->num, - e1inp_signtype_name(e1l->type), VTY_NEWLINE); - vty_out(vty, " E1 TEI %u, SAPI %u%s", - e1l->tei, e1l->sapi, VTY_NEWLINE); -} - -/*! Dump the IP addresses and ports of the input signal link's timeslot. - * This only makes sense for links connected with ipaccess. - * Example output: "(r=10.1.42.1:55416<->l=10.1.42.123:3003)" */ -static void e1isl_dump_vty_tcp(struct vty *vty, const struct e1inp_sign_link *e1l) -{ - if (e1l) { - char *name = osmo_sock_get_name(NULL, e1l->ts->driver.ipaccess.fd.fd); - vty_out(vty, "%s", name); - talloc_free(name); - } - vty_out(vty, "%s", VTY_NEWLINE); -} - -void trx_dump_vty(struct vty *vty, struct gsm_bts_trx *trx, bool print_rsl, bool show_connected) -{ - if (show_connected && !trx->rsl_link_primary) - return; - - if (!show_connected && trx->rsl_link_primary) - return; - - vty_out(vty, "TRX %u of BTS %u is on ARFCN %u%s", - trx->nr, trx->bts->nr, trx->arfcn, VTY_NEWLINE); - vty_out(vty, " RF Nominal Power: %d dBm, reduced by %u dB, " - "resulting BS power: %d dBm%s", - trx->nominal_power, trx->max_power_red, - trx->nominal_power - trx->max_power_red, VTY_NEWLINE); - vty_out(vty, " Radio Carrier NM State: "); - net_dump_nmstate(vty, &trx->mo.nm_state); - if (print_rsl) - vty_out(vty, " RSL State: %s%s", trx->rsl_link_primary? "connected" : "disconnected", VTY_NEWLINE); - vty_out(vty, " Baseband Transceiver NM State: "); - net_dump_nmstate(vty, &trx->bb_transc.mo.nm_state); - if (is_ipaccess_bts(trx->bts)) { - vty_out(vty, " ip.access stream ID: 0x%02x ", trx->rsl_tei_primary); - e1isl_dump_vty_tcp(vty, trx->rsl_link_primary); - } else { - vty_out(vty, " E1 Signalling Link:%s", VTY_NEWLINE); - e1isl_dump_vty(vty, trx->rsl_link_primary); - } -} - - static void bts_dump_vty_cbch(struct vty *vty, const struct bts_smscb_chan_state *cstate) { vty_out(vty, " CBCH %s: %u messages, %u pages, %zu-entry sched_arr, %u%% load%s", @@ -4139,72 +3441,6 @@ bts_dump_vty_features(vty, bts); } -static void config_write_e1_link(struct vty *vty, struct gsm_e1_subslot *e1_link, - const char *prefix) -{ - if (!e1_link->e1_ts) - return; - - if (e1_link->e1_ts_ss == 255) - vty_out(vty, "%se1 line %u timeslot %u sub-slot full%s", - prefix, e1_link->e1_nr, e1_link->e1_ts, VTY_NEWLINE); - else - vty_out(vty, "%se1 line %u timeslot %u sub-slot %u%s", - prefix, e1_link->e1_nr, e1_link->e1_ts, - e1_link->e1_ts_ss, VTY_NEWLINE); -} - - -static void config_write_ts_single(struct vty *vty, struct gsm_bts_trx_ts *ts) -{ - vty_out(vty, " timeslot %u%s", ts->nr, VTY_NEWLINE); - if (ts->tsc != -1) - vty_out(vty, " training_sequence_code %u%s", ts->tsc, VTY_NEWLINE); - if (ts->pchan_from_config != GSM_PCHAN_NONE) - vty_out(vty, " phys_chan_config %s%s", - gsm_pchan_name(ts->pchan_from_config), VTY_NEWLINE); - vty_out(vty, " hopping enabled %u%s", - ts->hopping.enabled, VTY_NEWLINE); - if (ts->hopping.enabled) { - unsigned int i; - vty_out(vty, " hopping sequence-number %u%s", - ts->hopping.hsn, VTY_NEWLINE); - vty_out(vty, " hopping maio %u%s", - ts->hopping.maio, VTY_NEWLINE); - for (i = 0; i < ts->hopping.arfcns.data_len*8; i++) { - if (!bitvec_get_bit_pos(&ts->hopping.arfcns, i)) - continue; - vty_out(vty, " hopping arfcn add %u%s", - i, VTY_NEWLINE); - } - } - config_write_e1_link(vty, &ts->e1_link, " "); - - if (ts->trx->bts->model->config_write_ts) - ts->trx->bts->model->config_write_ts(vty, ts); -} - -static void config_write_trx_single(struct vty *vty, struct gsm_bts_trx *trx) -{ - int i; - - vty_out(vty, " trx %u%s", trx->nr, VTY_NEWLINE); - vty_out(vty, " rf_locked %u%s", - trx->mo.force_rf_lock ? 1 : 0, - VTY_NEWLINE); - vty_out(vty, " arfcn %u%s", trx->arfcn, VTY_NEWLINE); - vty_out(vty, " nominal power %u%s", trx->nominal_power, VTY_NEWLINE); - vty_out(vty, " max_power_red %u%s", trx->max_power_red, VTY_NEWLINE); - config_write_e1_link(vty, &trx->rsl_e1_link, " rsl "); - vty_out(vty, " rsl e1 tei %u%s", trx->rsl_tei_primary, VTY_NEWLINE); - - if (trx->bts->model->config_write_trx) - trx->bts->model->config_write_trx(vty, trx); - - for (i = 0; i < TRX_NR_TS; i++) - config_write_ts_single(vty, &trx->ts[i]); -} - static void config_write_bts_gprs(struct vty *vty, struct gsm_bts *bts) { unsigned int i; @@ -4743,17 +3979,6 @@ int bts_vty_init(void) { - cfg_ts_pchan_cmd.string = - vty_cmd_string_from_valstr(tall_bsc_ctx, - gsm_pchant_names, - "phys_chan_config (", "|", ")", - VTY_DO_LOWER); - cfg_ts_pchan_cmd.doc = - vty_cmd_string_from_valstr(tall_bsc_ctx, - gsm_pchant_descs, - "Physical Channel Combination\n", - "\n", "", 0); - cfg_bts_type_cmd.string = vty_cmd_string_from_valstr(tall_bsc_ctx, bts_type_names, @@ -4923,29 +4148,6 @@ install_element(POWER_CTRL_NODE, &cfg_power_ctrl_avg_algo_cmd); install_element(POWER_CTRL_NODE, &cfg_power_ctrl_avg_osmo_ewma_cmd); - install_element(BTS_NODE, &cfg_trx_cmd); - install_node(&trx_node, dummy_config_write); - install_element(TRX_NODE, &cfg_trx_arfcn_cmd); - install_element(TRX_NODE, &cfg_description_cmd); - install_element(TRX_NODE, &cfg_no_description_cmd); - install_element(TRX_NODE, &cfg_trx_nominal_power_cmd); - install_element(TRX_NODE, &cfg_trx_max_power_red_cmd); - install_element(TRX_NODE, &cfg_trx_rsl_e1_cmd); - install_element(TRX_NODE, &cfg_trx_rsl_e1_tei_cmd); - install_element(TRX_NODE, &cfg_trx_rf_locked_cmd); - install_element(TRX_NODE, &cfg_ts_cmd); - install_node(&ts_node, dummy_config_write); - install_element(TS_NODE, &cfg_ts_pchan_cmd); - install_element(TS_NODE, &cfg_ts_pchan_compat_cmd); - install_element(TS_NODE, &cfg_ts_tsc_cmd); - install_element(TS_NODE, &cfg_ts_hopping_cmd); - install_element(TS_NODE, &cfg_ts_hsn_cmd); - install_element(TS_NODE, &cfg_ts_maio_cmd); - install_element(TS_NODE, &cfg_ts_arfcn_add_cmd); - install_element(TS_NODE, &cfg_ts_arfcn_del_cmd); - install_element(TS_NODE, &cfg_ts_arfcn_del_all_cmd); - install_element(TS_NODE, &cfg_ts_e1_subslot_cmd); - - return 0; + return bts_trx_vty_init(); } diff --git a/tests/handover/Makefile.am b/tests/handover/Makefile.am index a4d11a0..55b25c6 100644 --- a/tests/handover/Makefile.am +++ b/tests/handover/Makefile.am @@ -64,6 +64,7 @@ $(top_builddir)/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o \ $(top_builddir)/src/osmo-bsc/bts_unknown.o \ $(top_builddir)/src/osmo-bsc/bts_vty.o \ + $(top_builddir)/src/osmo-bsc/bts_trx_vty.o \ $(top_builddir)/src/osmo-bsc/chan_alloc.o \ $(top_builddir)/src/osmo-bsc/codec_pref.o \ $(top_builddir)/src/osmo-bsc/gsm_04_08_rr.o \ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24980 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I15ec8f71a5d31915162cb3ad75ea77e934fa4887 Gerrit-Change-Number: 24980 Gerrit-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 Jul 21 18:48:04 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 21 Jul 2021 18:48:04 +0000 Subject: Change in osmo-bsc[master]: Itnroduce libbsc to avoid linking long lists of .o files References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24981 ) Change subject: Itnroduce libbsc to avoid linking long lists of .o files ...................................................................... Itnroduce libbsc to avoid linking long lists of .o files Every time a new file is added in osmo-bsc, it ends up being a pain because its .o file has to be included to other tests/util binaries, or stubs need to be added. Let's instead bundle all .o files together in an .la file and pass that around. Change-Id: If91dc589ea1e476da105b58846d1c3e720a439e1 --- M src/ipaccess/Makefile.am M src/osmo-bsc/Makefile.am M src/utils/Makefile.am M tests/abis/Makefile.am M tests/acc/Makefile.am M tests/bsc/Makefile.am M tests/codec_pref/Makefile.am M tests/gsm0408/Makefile.am M tests/handover/Makefile.am M tests/nanobts_omlattr/Makefile.am M tests/subscr/Makefile.am 11 files changed, 36 insertions(+), 246 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/81/24981/1 diff --git a/src/ipaccess/Makefile.am b/src/ipaccess/Makefile.am index 351f618..9a9fff6 100644 --- a/src/ipaccess/Makefile.am +++ b/src/ipaccess/Makefile.am @@ -46,25 +46,7 @@ # FIXME: resolve the bogus dependencies patched around here: ipaccess_config_LDADD = \ - $(top_builddir)/src/osmo-bsc/bts.o \ - $(top_builddir)/src/osmo-bsc/bts_sm.o \ - $(top_builddir)/src/osmo-bsc/bts_trx.o \ - $(top_builddir)/src/osmo-bsc/abis_nm.o \ - $(top_builddir)/src/osmo-bsc/abis_osmo.o \ - $(top_builddir)/src/osmo-bsc/acc.o \ - $(top_builddir)/src/osmo-bsc/bts_ipaccess_nanobts.o \ - $(top_builddir)/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o \ - $(top_builddir)/src/osmo-bsc/gsm_data.o \ - $(top_builddir)/src/osmo-bsc/net_init.o \ - $(top_builddir)/src/osmo-bsc/nm_common_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bts_sm_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bts_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bb_transc_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_channel_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_cell_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_nse_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_nsvc_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_rcarrier_fsm.o \ + $(top_builddir)/src/osmo-bsc/libbsc.la \ $(OSMO_LIBS) \ $(NULL) @@ -74,22 +56,6 @@ $(NULL) ipaccess_proxy_LDADD = \ - $(top_builddir)/src/osmo-bsc/abis_nm.o \ - $(top_builddir)/src/osmo-bsc/abis_osmo.o \ - $(top_builddir)/src/osmo-bsc/acc.o \ - $(top_builddir)/src/osmo-bsc/bts.o \ - $(top_builddir)/src/osmo-bsc/bts_sm.o \ - $(top_builddir)/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o \ - $(top_builddir)/src/osmo-bsc/bts_trx.o \ - $(top_builddir)/src/osmo-bsc/gsm_data.o \ - $(top_builddir)/src/osmo-bsc/nm_common_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bts_sm_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bts_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bb_transc_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_channel_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_cell_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_nse_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_nsvc_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_rcarrier_fsm.o \ + $(top_builddir)/src/osmo-bsc/libbsc.la \ $(OSMO_LIBS) \ $(NULL) diff --git a/src/osmo-bsc/Makefile.am b/src/osmo-bsc/Makefile.am index 34b4f34..a4c732d 100644 --- a/src/osmo-bsc/Makefile.am +++ b/src/osmo-bsc/Makefile.am @@ -21,11 +21,9 @@ $(COVERAGE_LDFLAGS) \ $(NULL) -bin_PROGRAMS = \ - osmo-bsc \ - $(NULL) +noinst_LTLIBRARIES = libbsc.la -osmo_bsc_SOURCES = \ +libbsc_la_SOURCES = \ a_reset.c \ abis_nm.c \ abis_nm_vty.c \ @@ -95,7 +93,6 @@ osmo_bsc_filter.c \ osmo_bsc_grace.c \ osmo_bsc_lcls.c \ - osmo_bsc_main.c \ osmo_bsc_mgcp.c \ osmo_bsc_msc.c \ osmo_bsc_sigtran.c \ @@ -110,7 +107,29 @@ cbsp_link.c \ $(NULL) +libbsc_la_LIBADD = \ + $(LIBOSMOCORE_LIBS) \ + $(LIBOSMOGSM_LIBS) \ + $(LIBOSMOVTY_LIBS) \ + $(LIBOSMOCTRL_LIBS) \ + $(LIBOSMONETIF_LIBS) \ + $(COVERAGE_LDFLAGS) \ + $(LIBOSMOABIS_LIBS) \ + $(LIBOSMOSIGTRAN_LIBS) \ + $(LIBOSMOMGCPCLIENT_LIBS) \ + $(NULL) + +bin_PROGRAMS = \ + osmo-bsc \ + $(NULL) + +osmo_bsc_SOURCES = \ + osmo_bsc_main.c \ + $(NULL) + +#$(top_builddir)/src/osmo-bsc/libbsc.la osmo_bsc_LDADD = \ + libbsc.la \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ $(LIBOSMOVTY_LIBS) \ diff --git a/src/utils/Makefile.am b/src/utils/Makefile.am index 39d2417..1d6c48e 100644 --- a/src/utils/Makefile.am +++ b/src/utils/Makefile.am @@ -47,26 +47,7 @@ $(NULL) bs11_config_LDADD = \ - $(top_builddir)/src/osmo-bsc/abis_nm.o \ - $(top_builddir)/src/osmo-bsc/abis_osmo.o \ - $(top_builddir)/src/osmo-bsc/acc.o \ - $(top_builddir)/src/osmo-bsc/bts.o \ - $(top_builddir)/src/osmo-bsc/bts_sm.o \ - $(top_builddir)/src/osmo-bsc/bts_trx.o \ - $(top_builddir)/src/osmo-bsc/bts_siemens_bs11.o \ - $(top_builddir)/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o \ - $(top_builddir)/src/osmo-bsc/e1_config.o \ - $(top_builddir)/src/osmo-bsc/gsm_data.o \ - $(top_builddir)/src/osmo-bsc/net_init.o \ - $(top_builddir)/src/osmo-bsc/nm_common_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bts_sm_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bts_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bb_transc_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_channel_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_cell_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_nse_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_nsvc_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_rcarrier_fsm.o \ + $(top_builddir)/src/osmo-bsc/libbsc.la \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ $(LIBOSMOABIS_LIBS) \ @@ -132,23 +113,7 @@ $(NULL) meas_json_LDADD = \ - $(top_builddir)/src/osmo-bsc/abis_nm.o \ - $(top_builddir)/src/osmo-bsc/abis_osmo.o \ - $(top_builddir)/src/osmo-bsc/acc.o \ - $(top_builddir)/src/osmo-bsc/bts.o \ - $(top_builddir)/src/osmo-bsc/bts_sm.o \ - $(top_builddir)/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o \ - $(top_builddir)/src/osmo-bsc/bts_trx.o \ - $(top_builddir)/src/osmo-bsc/gsm_data.o \ - $(top_builddir)/src/osmo-bsc/nm_common_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bts_sm_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bts_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bb_transc_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_channel_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_cell_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_nse_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_nsvc_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_rcarrier_fsm.o \ + $(top_builddir)/src/osmo-bsc/libbsc.la \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ $(LIBOSMOABIS_LIBS) \ diff --git a/tests/abis/Makefile.am b/tests/abis/Makefile.am index 0612827..5abbf77 100644 --- a/tests/abis/Makefile.am +++ b/tests/abis/Makefile.am @@ -25,24 +25,7 @@ $(NULL) abis_test_LDADD = \ - $(top_builddir)/src/osmo-bsc/abis_nm.o \ - $(top_builddir)/src/osmo-bsc/abis_osmo.o \ - $(top_builddir)/src/osmo-bsc/acc.o \ - $(top_builddir)/src/osmo-bsc/bts.o \ - $(top_builddir)/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o \ - $(top_builddir)/src/osmo-bsc/bts_sm.o \ - $(top_builddir)/src/osmo-bsc/bts_trx.o \ - $(top_builddir)/src/osmo-bsc/gsm_data.o \ - $(top_builddir)/src/osmo-bsc/net_init.o \ - $(top_builddir)/src/osmo-bsc/nm_common_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bts_sm_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bts_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bb_transc_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_channel_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_cell_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_nse_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_nsvc_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_rcarrier_fsm.o \ + $(top_builddir)/src/osmo-bsc/libbsc.la \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOABIS_LIBS) \ $(LIBOSMOGSM_LIBS) \ diff --git a/tests/acc/Makefile.am b/tests/acc/Makefile.am index e0044d0..0c7fe0c 100644 --- a/tests/acc/Makefile.am +++ b/tests/acc/Makefile.am @@ -25,24 +25,7 @@ $(NULL) acc_test_LDADD = \ - $(top_builddir)/src/osmo-bsc/abis_nm.o \ - $(top_builddir)/src/osmo-bsc/abis_osmo.o \ - $(top_builddir)/src/osmo-bsc/acc.o \ - $(top_builddir)/src/osmo-bsc/bts.o \ - $(top_builddir)/src/osmo-bsc/bts_sm.o \ - $(top_builddir)/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o \ - $(top_builddir)/src/osmo-bsc/bts_trx.o \ - $(top_builddir)/src/osmo-bsc/gsm_data.o \ - $(top_builddir)/src/osmo-bsc/net_init.o \ - $(top_builddir)/src/osmo-bsc/nm_common_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bts_sm_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bts_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bb_transc_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_channel_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_cell_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_nse_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_nsvc_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_rcarrier_fsm.o \ + $(top_builddir)/src/osmo-bsc/libbsc.la \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOABIS_LIBS) \ $(LIBOSMOGSM_LIBS) \ diff --git a/tests/bsc/Makefile.am b/tests/bsc/Makefile.am index 2f66778..94b606c 100644 --- a/tests/bsc/Makefile.am +++ b/tests/bsc/Makefile.am @@ -34,30 +34,7 @@ $(NULL) bsc_test_LDADD = \ - $(top_builddir)/src/osmo-bsc/abis_nm.o \ - $(top_builddir)/src/osmo-bsc/abis_osmo.o \ - $(top_builddir)/src/osmo-bsc/acc.o \ - $(top_builddir)/src/osmo-bsc/osmo_bsc_filter.o \ - $(top_builddir)/src/osmo-bsc/bsc_subscriber.o \ - $(top_builddir)/src/osmo-bsc/bts.o \ - $(top_builddir)/src/osmo-bsc/bts_sm.o \ - $(top_builddir)/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o \ - $(top_builddir)/src/osmo-bsc/bts_trx.o \ - $(top_builddir)/src/osmo-bsc/gsm_data.o \ - $(top_builddir)/src/osmo-bsc/handover_cfg.o \ - $(top_builddir)/src/osmo-bsc/handover_logic.o \ - $(top_builddir)/src/osmo-bsc/meas_rep.o \ - $(top_builddir)/src/osmo-bsc/neighbor_ident.o \ - $(top_builddir)/src/osmo-bsc/net_init.o \ - $(top_builddir)/src/osmo-bsc/nm_common_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bts_sm_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bts_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bb_transc_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_channel_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_cell_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_nse_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_nsvc_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_rcarrier_fsm.o \ + $(top_builddir)/src/osmo-bsc/libbsc.la \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ $(LIBOSMOVTY_LIBS) \ diff --git a/tests/codec_pref/Makefile.am b/tests/codec_pref/Makefile.am index e000252..3bdd1fa 100644 --- a/tests/codec_pref/Makefile.am +++ b/tests/codec_pref/Makefile.am @@ -27,7 +27,7 @@ $(NULL) codec_pref_test_LDADD = \ - $(top_builddir)/src/osmo-bsc/codec_pref.o \ + $(top_builddir)/src/osmo-bsc/libbsc.la \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ -lrt \ diff --git a/tests/gsm0408/Makefile.am b/tests/gsm0408/Makefile.am index 186dc39..320f7de 100644 --- a/tests/gsm0408/Makefile.am +++ b/tests/gsm0408/Makefile.am @@ -24,27 +24,7 @@ $(NULL) gsm0408_test_LDADD = \ - $(top_builddir)/src/osmo-bsc/abis_nm.o \ - $(top_builddir)/src/osmo-bsc/abis_osmo.o \ - $(top_builddir)/src/osmo-bsc/acc.o \ - $(top_builddir)/src/osmo-bsc/gsm_04_08_rr.o \ - $(top_builddir)/src/osmo-bsc/bts.o \ - $(top_builddir)/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o \ - $(top_builddir)/src/osmo-bsc/bts_sm.o \ - $(top_builddir)/src/osmo-bsc/bts_trx.o \ - $(top_builddir)/src/osmo-bsc/gsm_data.o \ - $(top_builddir)/src/osmo-bsc/net_init.o \ - $(top_builddir)/src/osmo-bsc/system_information.o \ - $(top_builddir)/src/osmo-bsc/neighbor_ident.o \ - $(top_builddir)/src/osmo-bsc/nm_common_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bts_sm_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bts_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bb_transc_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_channel_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_cell_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_nse_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_nsvc_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_rcarrier_fsm.o \ + $(top_builddir)/src/osmo-bsc/libbsc.la \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ $(LIBOSMOCTRL_LIBS) \ diff --git a/tests/handover/Makefile.am b/tests/handover/Makefile.am index 55b25c6..bfd64b0 100644 --- a/tests/handover/Makefile.am +++ b/tests/handover/Makefile.am @@ -40,74 +40,7 @@ $(NULL) handover_test_LDADD = \ - $(top_builddir)/src/osmo-bsc/a_reset.o \ - $(top_builddir)/src/osmo-bsc/abis_nm.o \ - $(top_builddir)/src/osmo-bsc/abis_nm_vty.o \ - $(top_builddir)/src/osmo-bsc/abis_om2000.o \ - $(top_builddir)/src/osmo-bsc/abis_om2000_vty.o \ - $(top_builddir)/src/osmo-bsc/abis_osmo.o \ - $(top_builddir)/src/osmo-bsc/abis_rsl.o \ - $(top_builddir)/src/osmo-bsc/acc.o \ - $(top_builddir)/src/osmo-bsc/assignment_fsm.o \ - $(top_builddir)/src/osmo-bsc/bsc_ctrl_commands.o \ - $(top_builddir)/src/osmo-bsc/handover_ctrl.o \ - $(top_builddir)/src/osmo-bsc/bsc_init.o \ - $(top_builddir)/src/osmo-bsc/bsc_rf_ctrl.o \ - $(top_builddir)/src/osmo-bsc/bsc_rll.o \ - $(top_builddir)/src/osmo-bsc/bsc_subscr_conn_fsm.o \ - $(top_builddir)/src/osmo-bsc/bsc_subscriber.o \ - $(top_builddir)/src/osmo-bsc/bsc_vty.o \ - $(top_builddir)/src/osmo-bsc/bts.o \ - $(top_builddir)/src/osmo-bsc/bts_sm.o \ - $(top_builddir)/src/osmo-bsc/bts_trx.o \ - $(top_builddir)/src/osmo-bsc/bts_ipaccess_nanobts.o \ - $(top_builddir)/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o \ - $(top_builddir)/src/osmo-bsc/bts_unknown.o \ - $(top_builddir)/src/osmo-bsc/bts_vty.o \ - $(top_builddir)/src/osmo-bsc/bts_trx_vty.o \ - $(top_builddir)/src/osmo-bsc/chan_alloc.o \ - $(top_builddir)/src/osmo-bsc/codec_pref.o \ - $(top_builddir)/src/osmo-bsc/gsm_04_08_rr.o \ - $(top_builddir)/src/osmo-bsc/gsm_data.o \ - $(top_builddir)/src/osmo-bsc/handover_cfg.o \ - $(top_builddir)/src/osmo-bsc/handover_decision.o \ - $(top_builddir)/src/osmo-bsc/handover_decision_2.o \ - $(top_builddir)/src/osmo-bsc/handover_fsm.o \ - $(top_builddir)/src/osmo-bsc/handover_logic.o \ - $(top_builddir)/src/osmo-bsc/handover_vty.o \ - $(top_builddir)/src/osmo-bsc/lchan_fsm.o \ - $(top_builddir)/src/osmo-bsc/lchan_rtp_fsm.o \ - $(top_builddir)/src/osmo-bsc/lchan_select.o \ - $(top_builddir)/src/osmo-bsc/meas_feed.o \ - $(top_builddir)/src/osmo-bsc/meas_rep.o \ - $(top_builddir)/src/osmo-bsc/neighbor_ident.o \ - $(top_builddir)/src/osmo-bsc/neighbor_ident_vty.o \ - $(top_builddir)/src/osmo-bsc/net_init.o \ - $(top_builddir)/src/osmo-bsc/nm_common_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bts_sm_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bts_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bb_transc_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_channel_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_cell_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_nse_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_nsvc_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_rcarrier_fsm.o \ - $(top_builddir)/src/osmo-bsc/osmo_bsc_ctrl.o \ - $(top_builddir)/src/osmo-bsc/osmo_bsc_lcls.o \ - $(top_builddir)/src/osmo-bsc/osmo_bsc_mgcp.o \ - $(top_builddir)/src/osmo-bsc/osmo_bsc_msc.o \ - $(top_builddir)/src/osmo-bsc/paging.o \ - $(top_builddir)/src/osmo-bsc/pcu_sock.o \ - $(top_builddir)/src/osmo-bsc/penalty_timers.o \ - $(top_builddir)/src/osmo-bsc/system_information.o \ - $(top_builddir)/src/osmo-bsc/timeslot_fsm.o \ - $(top_builddir)/src/osmo-bsc/smscb.o \ - $(top_builddir)/src/osmo-bsc/cbch_scheduler.o \ - $(top_builddir)/src/osmo-bsc/cbsp_link.o \ - $(top_builddir)/src/osmo-bsc/lcs_loc_req.o \ - $(top_builddir)/src/osmo-bsc/lcs_ta_req.o \ - $(top_builddir)/src/osmo-bsc/lb.o \ - $(top_builddir)/src/osmo-bsc/bsc_sccp.o \ + $(top_builddir)/src/osmo-bsc/libbsc.la \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ $(LIBOSMOCTRL_LIBS) \ diff --git a/tests/nanobts_omlattr/Makefile.am b/tests/nanobts_omlattr/Makefile.am index e31b8e9..b5d1d7a 100644 --- a/tests/nanobts_omlattr/Makefile.am +++ b/tests/nanobts_omlattr/Makefile.am @@ -23,23 +23,7 @@ $(NULL) nanobts_omlattr_test_LDADD = \ - $(top_builddir)/src/osmo-bsc/abis_nm.o \ - $(top_builddir)/src/osmo-bsc/abis_osmo.o \ - $(top_builddir)/src/osmo-bsc/acc.o \ - $(top_builddir)/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o \ - $(top_builddir)/src/osmo-bsc/bts.o \ - $(top_builddir)/src/osmo-bsc/bts_sm.o \ - $(top_builddir)/src/osmo-bsc/bts_trx.o \ - $(top_builddir)/src/osmo-bsc/gsm_data.o \ - $(top_builddir)/src/osmo-bsc/nm_common_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bts_sm_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bts_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bb_transc_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_channel_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_cell_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_nse_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_nsvc_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_rcarrier_fsm.o \ + $(top_builddir)/src/osmo-bsc/libbsc.la \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ $(LIBOSMOABIS_LIBS) \ diff --git a/tests/subscr/Makefile.am b/tests/subscr/Makefile.am index e56d142..fef486a 100644 --- a/tests/subscr/Makefile.am +++ b/tests/subscr/Makefile.am @@ -31,7 +31,7 @@ $(NULL) bsc_subscr_test_LDADD = \ - $(top_builddir)/src/osmo-bsc/bsc_subscriber.o \ + $(top_builddir)/src/osmo-bsc/libbsc.la \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOABIS_LIBS) \ $(LIBOSMOGSM_LIBS) \ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24981 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If91dc589ea1e476da105b58846d1c3e720a439e1 Gerrit-Change-Number: 24981 Gerrit-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 Jul 21 18:48:13 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 21 Jul 2021 18:48:13 +0000 Subject: Change in osmo-bsc[master]: Introduce libbsc to avoid linking long lists of .o files In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-bsc/+/24981 ) Change subject: Introduce libbsc to avoid linking long lists of .o files ...................................................................... Introduce libbsc to avoid linking long lists of .o files Every time a new file is added in osmo-bsc, it ends up being a pain because its .o file has to be included to other tests/util binaries, or stubs need to be added. Let's instead bundle all .o files together in an .la file and pass that around. Change-Id: If91dc589ea1e476da105b58846d1c3e720a439e1 --- M src/ipaccess/Makefile.am M src/osmo-bsc/Makefile.am M src/utils/Makefile.am M tests/abis/Makefile.am M tests/acc/Makefile.am M tests/bsc/Makefile.am M tests/codec_pref/Makefile.am M tests/gsm0408/Makefile.am M tests/handover/Makefile.am M tests/nanobts_omlattr/Makefile.am M tests/subscr/Makefile.am 11 files changed, 36 insertions(+), 246 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/81/24981/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24981 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If91dc589ea1e476da105b58846d1c3e720a439e1 Gerrit-Change-Number: 24981 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 Wed Jul 21 23:59:03 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 21 Jul 2021 23:59:03 +0000 Subject: Change in osmo-bsc[master]: RES IND: allow empty Resource Information IE References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25002 ) Change subject: RES IND: allow empty Resource Information IE ...................................................................... RES IND: allow empty Resource Information IE If all channels of a BTS are in use and there are no interference ratings to be reported, the Resource Information IE may be empty. Do not log this as an error, it is not something that needs operator attention. Related: SYS#5313 Change-Id: I75b851ef1269674f43db3fb3a48518e76182d7f0 --- M src/osmo-bsc/abis_rsl.c 1 file changed, 4 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/02/25002/1 diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 5bb0efe..b491285 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1492,7 +1492,7 @@ } } - res_info_ie = TLVP_GET_MINLEN(&tp, RSL_IE_RESOURCE_INFO, 2); + res_info_ie = TLVP_GET(&tp, RSL_IE_RESOURCE_INFO); if (!res_info_ie) { LOGP(DRSL, LOGL_ERROR, "Rx Resource Indication: missing Resource Info IE\n"); return -ENOENT; @@ -1510,7 +1510,9 @@ return -EINVAL; } - /* Now iterate the reported levels and update corresponding lchans */ + /* Now iterate the reported levels and update corresponding lchans. + * Note that an empty res_info_ie can also make sense, if no lchans are idle and no interference ratings are + * present. The practical effect of the message then is to invalidate previous interference ratings. */ for (i = 0; i < res_info_ie->len; i += 2) { struct gsm_bts *bts = trx->bts; uint8_t chan_nr = res_info_ie->val[i]; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25002 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I75b851ef1269674f43db3fb3a48518e76182d7f0 Gerrit-Change-Number: 25002 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 Jul 21 23:59:04 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 21 Jul 2021 23:59:04 +0000 Subject: Change in osmo-bsc[master]: RES IND: tweak error code on missing Resource Information IE References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25003 ) Change subject: RES IND: tweak error code on missing Resource Information IE ...................................................................... RES IND: tweak error code on missing Resource Information IE If the RES IND message is invalid, let's not return ENOENT which translates to "No such file or directory", instead return EINVAL. Related: SYS#5313 Change-Id: Ifd700e90c881874d428f2860603a4ddbf13d705e --- M src/osmo-bsc/abis_rsl.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/03/25003/1 diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index b491285..ed45c64 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1495,7 +1495,7 @@ res_info_ie = TLVP_GET(&tp, RSL_IE_RESOURCE_INFO); if (!res_info_ie) { LOGP(DRSL, LOGL_ERROR, "Rx Resource Indication: missing Resource Info IE\n"); - return -ENOENT; + return -EINVAL; } /* The IE value is defined in 3GPP TS 48.058 9.3.21 Resource Information: -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25003 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifd700e90c881874d428f2860603a4ddbf13d705e Gerrit-Change-Number: 25003 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 Jul 22 08:19:28 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 22 Jul 2021 08:19:28 +0000 Subject: Change in osmo-bsc[master]: RES IND: allow empty Resource Information IE In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25002 ) Change subject: RES IND: allow empty Resource Information IE ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25002 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I75b851ef1269674f43db3fb3a48518e76182d7f0 Gerrit-Change-Number: 25002 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 22 Jul 2021 08:19:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 22 08:20:09 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 22 Jul 2021 08:20:09 +0000 Subject: Change in osmo-bsc[master]: RES IND: tweak error code on missing Resource Information IE In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25003 ) Change subject: RES IND: tweak error code on missing Resource Information IE ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25003 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifd700e90c881874d428f2860603a4ddbf13d705e Gerrit-Change-Number: 25003 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 22 Jul 2021 08:20:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 22 08:47:22 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 22 Jul 2021 08:47:22 +0000 Subject: Change in osmo-bsc[master]: bts: Clear BTS_STAT_CHAN_*_{TOTAL, USED} on bts disconnect In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24978 ) Change subject: bts: Clear BTS_STAT_CHAN_*_{TOTAL,USED} on bts disconnect ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24978 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic42687cd73e3546edaa99fb1268a5960ffa43b12 Gerrit-Change-Number: 24978 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 22 Jul 2021 08:47:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 22 10:07:32 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 22 Jul 2021 10:07:32 +0000 Subject: Change in osmo-mgw[master]: mcgp_client: initalize domain name from mgcp_client_conf_init References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25004 ) Change subject: mcgp_client: initalize domain name from mgcp_client_conf_init ...................................................................... mcgp_client: initalize domain name from mgcp_client_conf_init Te function mgcp_client_conf_init initalizes an mgcp client configuration struct with some default values but it does not initalize the buffer for the mgw domain name. If the configuration is not initalized with zeros by the API user in some way, the endpoint domain name buffer still might contain random data, even after calling mgcp_client_conf_init(). Change-Id: Iabef17c7ab0e0f4a9a0cb3ad4ec83006bd07f566 --- M src/libosmo-mgcp-client/mgcp_client.c 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/04/25004/1 diff --git a/src/libosmo-mgcp-client/mgcp_client.c b/src/libosmo-mgcp-client/mgcp_client.c index 9d60ee8..7a7dcb5 100644 --- a/src/libosmo-mgcp-client/mgcp_client.c +++ b/src/libosmo-mgcp-client/mgcp_client.c @@ -201,6 +201,9 @@ .remote_addr = NULL, .remote_port = -1, }; + + /* See also function mgcp_client_endpoint_domain() */ + memset(conf->endpoint_domain_name, 0, sizeof(conf->endpoint_domain_name)); } static void mgcp_client_handle_response(struct mgcp_client *mgcp, -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25004 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Iabef17c7ab0e0f4a9a0cb3ad4ec83006bd07f566 Gerrit-Change-Number: 25004 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 Jul 22 10:44:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 22 Jul 2021 10:44:42 +0000 Subject: Change in osmo-mgw[master]: mcgp_client: initalize domain name from mgcp_client_conf_init In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25004 ) Change subject: mcgp_client: initalize domain name from mgcp_client_conf_init ...................................................................... Patch Set 1: Code-Review-1 Are you sure about this? I'd expect it to be initialized the zero when the assignment is done immediately beforehand. Did you experience an issue with it? In any case, probably setting name[0] = '\0'; would be enough I guess. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25004 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Iabef17c7ab0e0f4a9a0cb3ad4ec83006bd07f566 Gerrit-Change-Number: 25004 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 22 Jul 2021 10:44:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 22 10:57:02 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 22 Jul 2021 10:57:02 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Allow disabling dyn TS SDCCH8 tests In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24967 ) Change subject: bsc: Allow disabling dyn TS SDCCH8 tests ...................................................................... Patch Set 1: Code-Review+2 Merging myself in order to fix ttcn3-bsc-test -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24967 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib956401030e6a97db218823c997c61c335fbd581 Gerrit-Change-Number: 24967 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 22 Jul 2021 10:57:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 22 10:57:20 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 22 Jul 2021 10:57:20 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc: Disable dyn TS SDCCH8 tests for latest In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24969 ) Change subject: ttcn3-bsc: Disable dyn TS SDCCH8 tests for latest ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24969 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: If941c110501cd5f9c1d5084cc4d054e1eafb14f4 Gerrit-Change-Number: 24969 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 22 Jul 2021 10:57: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 Jul 22 10:57:27 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 22 Jul 2021 10:57:27 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Allow disabling dyn TS SDCCH8 tests In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24967 ) Change subject: bsc: Allow disabling dyn TS SDCCH8 tests ...................................................................... bsc: Allow disabling dyn TS SDCCH8 tests With this we'll avoid running the test in latest. This way we'll not fail after changing the TS for the test and hence other tests won't be affected. Related: SYS#5309 Change-Id: Ib956401030e6a97db218823c997c61c335fbd581 --- M bsc/BSC_Tests.ttcn 1 file changed, 10 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified osmith: 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 f562df3..2b11dc9 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -684,6 +684,11 @@ unconditionally once new version of osmo-bsc is released (current version: 1.4.1) */ boolean mp_enable_osmux_test := true; + + /* Whether to enable dyn TS SDCCH8 tests. Can be dropped completely and enable + unconditionally once new version of osmo-bsc is released (current + version: 1.7.0) */ + boolean mp_enable_dyn_sdcch8_test := true; /* Value set in osmo-bsc.cfg "ms max power" */ uint8_t mp_exp_ms_power_level := 7; } @@ -9510,9 +9515,11 @@ execute( TC_dyn_pdch_ipa_act_nack() ); execute( TC_dyn_pdch_osmo_act_deact() ); execute( TC_dyn_pdch_osmo_act_nack() ); - execute( TC_dyn_ts_sdcch8_act_deact() ); - execute (TC_dyn_ts_sdcch8_tch_call_act_deact() ); - execute( TC_dyn_ts_sdcch8_act_nack() ); + if (mp_enable_dyn_sdcch8_test) { + execute( TC_dyn_ts_sdcch8_act_deact() ); + execute (TC_dyn_ts_sdcch8_tch_call_act_deact() ); + execute( TC_dyn_ts_sdcch8_act_nack() ); + } execute( TC_chopped_ipa_ping() ); execute( TC_chopped_ipa_payload() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24967 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib956401030e6a97db218823c997c61c335fbd581 Gerrit-Change-Number: 24967 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter 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 Jul 22 10:57:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 22 Jul 2021 10:57:28 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Drop mp_enable_osmux_test In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24968 ) Change subject: bsc: Drop mp_enable_osmux_test ...................................................................... bsc: Drop mp_enable_osmux_test This module parameter is not needed anymore, since latest already supports this feature for a while. Change-Id: I3a2a4f984443a40285440a7fc54b1797a943e4b0 --- M bsc/BSC_Tests.ttcn 1 file changed, 2 insertions(+), 11 deletions(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, but someone else must approve osmith: Looks good to me, approved diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 2b11dc9..ae805e3 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -680,11 +680,6 @@ }; boolean mp_enable_lcs_tests := true; - /* Whether to enable osmux tests. Can be dropped completely and enable - unconditionally once new version of osmo-bsc is released (current - version: 1.4.1) */ - boolean mp_enable_osmux_test := true; - /* Whether to enable dyn TS SDCCH8 tests. Can be dropped completely and enable unconditionally once new version of osmo-bsc is released (current version: 1.7.0) */ @@ -1121,9 +1116,7 @@ activate(as_Tguard()); f_init_vty("VirtMSC"); - if (mp_enable_osmux_test) { - f_vty_allow_osmux(allow_osmux); - } + f_vty_allow_osmux(allow_osmux); var my_BooleanList allow_attach := { false, false, false }; f_init_statsd("VirtMSC", vc_STATSD, mp_test_ip, mp_bsc_statsd_port); @@ -9415,9 +9408,7 @@ execute( TC_assignment_codec_req_hr_fr() ); execute( TC_assignment_codec_req_fr_hr() ); - if (mp_enable_osmux_test) { - execute( TC_assignment_osmux() ); - } + execute( TC_assignment_osmux() ); /* RLL Establish Indication on inactive DCHAN / SAPI */ execute( TC_rll_est_ind_inact_lchan() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24968 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3a2a4f984443a40285440a7fc54b1797a943e4b0 Gerrit-Change-Number: 24968 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter 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 Jul 22 10:57:30 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 22 Jul 2021 10:57:30 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc: Disable dyn TS SDCCH8 tests for latest In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24969 ) Change subject: ttcn3-bsc: Disable dyn TS SDCCH8 tests for latest ...................................................................... ttcn3-bsc: Disable dyn TS SDCCH8 tests for latest With this we'll avoid running the test in latest. This way we'll not fail after changing the TS for the test and hence other tests won't be affected. Related: SYS#5309 Change-Id: If941c110501cd5f9c1d5084cc4d054e1eafb14f4 --- M ttcn3-bsc-test/BSC_Tests.cfg M ttcn3-bsc-test/jenkins-sccplite.sh M ttcn3-bsc-test/jenkins.sh M ttcn3-bsc-test/sccplite/BSC_Tests.cfg 4 files changed, 12 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved; Verified osmith: Looks good to me, but someone else must approve diff --git a/ttcn3-bsc-test/BSC_Tests.cfg b/ttcn3-bsc-test/BSC_Tests.cfg index ad189c9..7620eb7 100644 --- a/ttcn3-bsc-test/BSC_Tests.cfg +++ b/ttcn3-bsc-test/BSC_Tests.cfg @@ -13,6 +13,7 @@ BSC_Tests.mp_bsc_ip := "172.18.2.20"; BSC_Tests.mp_test_ip := "172.18.2.203"; BSC_Tests.mp_enable_osmux_test := true; +BSC_Tests.mp_enable_dyn_sdcch8_test := true; BSC_Tests.mp_bssap_cfg := { { transport := BSSAP_TRANSPORT_AoIP, diff --git a/ttcn3-bsc-test/jenkins-sccplite.sh b/ttcn3-bsc-test/jenkins-sccplite.sh index bc6eaa0..7fb0525 100755 --- a/ttcn3-bsc-test/jenkins-sccplite.sh +++ b/ttcn3-bsc-test/jenkins-sccplite.sh @@ -16,6 +16,11 @@ mkdir $VOL_BASE_DIR/bsc-tester cp sccplite/BSC_Tests.cfg $VOL_BASE_DIR/bsc-tester/ +# Dynamic TS SDCCH8 must be disabled until release AFTER osmo-bsc 1.7.0 is tagged +if image_suffix_is_latest; then + sed "s/BSC_Tests.mp_enable_dyn_sdcch8_test := true;/BSC_Tests.mp_enable_dyn_sdcch8_test := false;/g" -i $VOL_BASE_DIR/bsc-tester/BSC_Tests.cfg +fi + mkdir $VOL_BASE_DIR/bsc cp sccplite/osmo-bsc.cfg $VOL_BASE_DIR/bsc/ diff --git a/ttcn3-bsc-test/jenkins.sh b/ttcn3-bsc-test/jenkins.sh index 18236a2..dfa1f6f 100755 --- a/ttcn3-bsc-test/jenkins.sh +++ b/ttcn3-bsc-test/jenkins.sh @@ -14,6 +14,11 @@ mkdir $VOL_BASE_DIR/bsc-tester cp BSC_Tests.cfg $VOL_BASE_DIR/bsc-tester/ +# Dynamic TS SDCCH8 must be disabled until release AFTER osmo-bsc 1.7.0 is tagged +if image_suffix_is_latest; then + sed "s/BSC_Tests.mp_enable_dyn_sdcch8_test := true;/BSC_Tests.mp_enable_dyn_sdcch8_test := false;/g" -i $VOL_BASE_DIR/bsc-tester/BSC_Tests.cfg +fi + mkdir $VOL_BASE_DIR/stp cp osmo-stp.cfg $VOL_BASE_DIR/stp/ diff --git a/ttcn3-bsc-test/sccplite/BSC_Tests.cfg b/ttcn3-bsc-test/sccplite/BSC_Tests.cfg index f1f02d6..b77537f 100644 --- a/ttcn3-bsc-test/sccplite/BSC_Tests.cfg +++ b/ttcn3-bsc-test/sccplite/BSC_Tests.cfg @@ -13,6 +13,7 @@ BSC_Tests.mp_bsc_ip := "172.18.12.20"; BSC_Tests.mp_test_ip := "172.18.12.203"; BSC_Tests.mp_enable_osmux_test := true; +BSC_Tests.mp_enable_dyn_sdcch8_test := true; BSC_Tests.mp_bssap_cfg := { { transport := BSSAP_TRANSPORT_SCCPlite_SERVER, -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24969 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: If941c110501cd5f9c1d5084cc4d054e1eafb14f4 Gerrit-Change-Number: 24969 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter 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 Jul 22 10:57:32 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 22 Jul 2021 10:57:32 +0000 Subject: Change in docker-playground[master]: ttcn3-bsc: Drop mp_enable_osmux_test In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24970 ) Change subject: ttcn3-bsc: Drop mp_enable_osmux_test ...................................................................... ttcn3-bsc: Drop mp_enable_osmux_test This module parameter is never set to false anymore, since latest already supports the feature for a while. The module parameter will be removed soon in osmo-ttcn3-hacks, so let's drop using it here too. Change-Id: Idf459365e9aa42f7efd2a418cadea63ec49bdd7a --- M ttcn3-bsc-test-vamos/BSC_Tests.cfg M ttcn3-bsc-test/BSC_Tests.cfg M ttcn3-bsc-test/sccplite/BSC_Tests.cfg 3 files changed, 0 insertions(+), 3 deletions(-) Approvals: dexter: Looks good to me, but someone else must approve osmith: Looks good to me, approved pespin: Verified diff --git a/ttcn3-bsc-test-vamos/BSC_Tests.cfg b/ttcn3-bsc-test-vamos/BSC_Tests.cfg index 8850705..cbab789 100644 --- a/ttcn3-bsc-test-vamos/BSC_Tests.cfg +++ b/ttcn3-bsc-test-vamos/BSC_Tests.cfg @@ -12,7 +12,6 @@ [MODULE_PARAMETERS] BSC_Tests.mp_bsc_ip := "172.18.31.20"; BSC_Tests.mp_test_ip := "172.18.31.203"; -BSC_Tests.mp_enable_osmux_test := true; BSC_Tests.mp_bssap_cfg := { { transport := BSSAP_TRANSPORT_AoIP, diff --git a/ttcn3-bsc-test/BSC_Tests.cfg b/ttcn3-bsc-test/BSC_Tests.cfg index 7620eb7..8ec9409 100644 --- a/ttcn3-bsc-test/BSC_Tests.cfg +++ b/ttcn3-bsc-test/BSC_Tests.cfg @@ -12,7 +12,6 @@ [MODULE_PARAMETERS] BSC_Tests.mp_bsc_ip := "172.18.2.20"; BSC_Tests.mp_test_ip := "172.18.2.203"; -BSC_Tests.mp_enable_osmux_test := true; BSC_Tests.mp_enable_dyn_sdcch8_test := true; BSC_Tests.mp_bssap_cfg := { { diff --git a/ttcn3-bsc-test/sccplite/BSC_Tests.cfg b/ttcn3-bsc-test/sccplite/BSC_Tests.cfg index b77537f..d5f8bd7 100644 --- a/ttcn3-bsc-test/sccplite/BSC_Tests.cfg +++ b/ttcn3-bsc-test/sccplite/BSC_Tests.cfg @@ -12,7 +12,6 @@ [MODULE_PARAMETERS] BSC_Tests.mp_bsc_ip := "172.18.12.20"; BSC_Tests.mp_test_ip := "172.18.12.203"; -BSC_Tests.mp_enable_osmux_test := true; BSC_Tests.mp_enable_dyn_sdcch8_test := true; BSC_Tests.mp_bssap_cfg := { { -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24970 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Idf459365e9aa42f7efd2a418cadea63ec49bdd7a Gerrit-Change-Number: 24970 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter 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 Jul 22 11:27:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 22 Jul 2021 11:27:38 +0000 Subject: Change in osmo-bsc[master]: Fix recent regression in CHREQ allocation References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25005 ) Change subject: Fix recent regression in CHREQ allocation ...................................................................... Fix recent regression in CHREQ allocation Recent commit introduces a silly bug when changing code. Fixing it now. Fixes: fdb87343d7a747575fae0bb436cd9d105b9748e9 Change-Id: I1e8027a3933c3c8450e76e1325d0f7c28a89a6d1 --- M src/osmo-bsc/abis_rsl.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/05/25005/1 diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 5bb0efe..f6ae19a 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -2004,7 +2004,7 @@ * */ - if (GSM_CHREQ_REASON_CALL) { + if (rqd->reason == GSM_CHREQ_REASON_CALL) { lchan = _select_sdcch_for_call(bts, rqd, lctype); } else if (rqd->reason != GSM_CHREQ_REASON_EMERG) { lchan = lchan_select_by_type(bts, GSM_LCHAN_SDCCH); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25005 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1e8027a3933c3c8450e76e1325d0f7c28a89a6d1 Gerrit-Change-Number: 25005 Gerrit-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 Jul 22 12:06:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 22 Jul 2021 12:06:38 +0000 Subject: Change in osmo-bsc[master]: Introduce VTY option to forbid use of TCH for non-voicecall signalling References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25006 ) Change subject: Introduce VTY option to forbid use of TCH for non-voicecall signalling ...................................................................... Introduce VTY option to forbid use of TCH for non-voicecall signalling Usual allocation mechansim, when some signalling channel is needed, first tries to reserve an SDCCH, and if all of them are exhausted, then attempts to reserve a TCH as a last resort. This, however, may cause TCH starvation under certain situations, for instance if there high load on other services (LU, SMS, etc.). Hence, it may be desirable for the operator to forbid reservation of TCH slots once SDCCH becamse exhausted. This commit is thus adding a VTY command which allows forbiding it. The default behavior (allow using TCH timeslots when SDCCHs are exhausted) is kept as before. The above mentioned prohibition is applied only to non-voicecall related signalling services. That's because voicecall services will end up requiring a TCH anyway, and forbiding reservation of TCH straighaway when SDCCHs are exhausted would mean no voice calls could be initiated while still TCHs would be available. Related: SYS#5548 Change-Id: Ib08027125145df26602069bfb51847063b0ccc0c --- M include/osmocom/bsc/bts.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bts.c M src/osmo-bsc/bts_vty.c M tests/osmo-bsc.vty 6 files changed, 63 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/06/25006/1 diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h index 9ec9364..619c6b8 100644 --- a/include/osmocom/bsc/bts.h +++ b/include/osmocom/bsc/bts.h @@ -454,6 +454,10 @@ * interference reported in RSL Resource Indication. */ bool chan_alloc_avoid_interf; + /* When true (default), TCH can be allocated to serve + * non-voicecall-related signalling services when SDCCHs are exhausted */ + bool chan_alloc_allow_tch_for_signalling; + enum neigh_list_manual_mode neigh_list_manual_mode; /* parameters from which we build SYSTEM INFORMATION */ struct { diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 0632944..5a20e72 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -419,6 +419,11 @@ GSM_CHREQ_REASON_PDCH, }; +static inline bool gsm_chreq_reason_is_voicecall(enum gsm_chreq_reason_t reason) +{ + return reason == GSM_CHREQ_REASON_EMERG || reason == GSM_CHREQ_REASON_CALL; +} + /* lchans 0..3 are SDCCH in combined channel configuration, use 4 as magic number for BCCH hack - see osmo-bts-../oml.c:opstart_compl() */ #define CCCH_LCHAN 4 diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index f6ae19a..55f9968 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -2013,17 +2013,19 @@ * in the code below, all other channel requests will get an SDCCH first * (if possible). */ - if (!lchan) { - LOG_BTS(bts, DRSL, LOGL_NOTICE, "CHAN RQD[%s]: no resources for %s 0x%x, retrying with %s\n", - get_value_string(gsm_chreq_descs, rqd->reason), gsm_lchant_name(GSM_LCHAN_SDCCH), - rqd->ref.ra, gsm_lchant_name(GSM_LCHAN_TCH_H)); - lchan = lchan_select_by_type(bts, GSM_LCHAN_TCH_H); - } - if (!lchan) { - LOG_BTS(bts, DRSL, LOGL_NOTICE, "CHAN RQD[%s]: no resources for %s 0x%x, retrying with %s\n", - get_value_string(gsm_chreq_descs, rqd->reason), gsm_lchant_name(GSM_LCHAN_SDCCH), - rqd->ref.ra, gsm_lchant_name(GSM_LCHAN_TCH_F)); - lchan = lchan_select_by_type(bts, GSM_LCHAN_TCH_F); + if (gsm_chreq_reason_is_voicecall(rqd->reason) || bts->chan_alloc_allow_tch_for_signalling) { + if (!lchan) { + LOG_BTS(bts, DRSL, LOGL_NOTICE, "CHAN RQD[%s]: no resources for %s 0x%x, retrying with %s\n", + get_value_string(gsm_chreq_descs, rqd->reason), gsm_lchant_name(GSM_LCHAN_SDCCH), + rqd->ref.ra, gsm_lchant_name(GSM_LCHAN_TCH_H)); + lchan = lchan_select_by_type(bts, GSM_LCHAN_TCH_H); + } + if (!lchan) { + LOG_BTS(bts, DRSL, LOGL_NOTICE, "CHAN RQD[%s]: no resources for %s 0x%x, retrying with %s\n", + get_value_string(gsm_chreq_descs, rqd->reason), gsm_lchant_name(GSM_LCHAN_SDCCH), + rqd->ref.ra, gsm_lchant_name(GSM_LCHAN_TCH_F)); + lchan = lchan_select_by_type(bts, GSM_LCHAN_TCH_F); + } } if (!lchan) { LOG_BTS(bts, DRSL, LOGL_NOTICE, "CHAN RQD[%s]: no resources for %s 0x%x\n", diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c index d03f092..3d56e61 100644 --- a/src/osmo-bsc/bts.c +++ b/src/osmo-bsc/bts.c @@ -245,6 +245,7 @@ bts->neigh_list_manual_mode = NL_MODE_AUTOMATIC; bts->early_classmark_allowed_3g = true; /* 3g Early Classmark Sending controlled by bts->early_classmark_allowed param */ bts->si_unused_send_empty = true; + bts->chan_alloc_allow_tch_for_signalling = true; bts->si_common.cell_sel_par.cell_resel_hyst = 2; /* 4 dB */ bts->si_common.cell_sel_par.rxlev_acc_min = 0; bts->si_common.si2quater_neigh_list.arfcn = bts->si_common.data.earfcn_list; diff --git a/src/osmo-bsc/bts_vty.c b/src/osmo-bsc/bts_vty.c index b8b9f6c..3695d28 100644 --- a/src/osmo-bsc/bts_vty.c +++ b/src/osmo-bsc/bts_vty.c @@ -565,6 +565,25 @@ return CMD_SUCCESS; } +DEFUN_ATTR(cfg_bts_chan_alloc_allow_tch_for_signalling, + cfg_bts_chan_alloc_allow_tch_for_signalling_cmd, + "channel allocator allow-tch-for-signalling (0|1)", + "Channel Allocator\n" "Channel Allocator\n" + "Configure whether TCH/H or TCH/F channels can be used to serve non-call-related signalling if SDCCHs are exhausted\n" + "Forbid use of TCH for non-call-related signalling purposes\n" + "Allow use of TCH for non-call-related signalling purposes (default)\n", + CMD_ATTR_IMMEDIATE) +{ + struct gsm_bts *bts = vty->index; + + if (!strcmp(argv[0], "0")) + bts->chan_alloc_allow_tch_for_signalling = false; + else + bts->chan_alloc_allow_tch_for_signalling = true; + + return CMD_SUCCESS; +} + #define RACH_STR "Random Access Control Channel\n" DEFUN_USRATTR(cfg_bts_rach_tx_integer, @@ -3736,6 +3755,8 @@ VTY_NEWLINE); if (bts->chan_alloc_avoid_interf) vty_out(vty, " channel allocator avoid-interference 1%s", VTY_NEWLINE); + if (!bts->chan_alloc_allow_tch_for_signalling) + vty_out(vty, " channel allocator allow-tch-for-signalling 0%s", VTY_NEWLINE); vty_out(vty, " rach tx integer %u%s", bts->si_common.rach_control.tx_integer, VTY_NEWLINE); vty_out(vty, " rach max transmission %u%s", @@ -4018,6 +4039,7 @@ install_element(BTS_NODE, &cfg_bts_oml_e1_tei_cmd); install_element(BTS_NODE, &cfg_bts_challoc_cmd); install_element(BTS_NODE, &cfg_bts_chan_alloc_interf_cmd); + install_element(BTS_NODE, &cfg_bts_chan_alloc_allow_tch_for_signalling_cmd); install_element(BTS_NODE, &cfg_bts_rach_tx_integer_cmd); install_element(BTS_NODE, &cfg_bts_rach_max_trans_cmd); install_element(BTS_NODE, &cfg_bts_rach_max_delay_cmd); diff --git a/tests/osmo-bsc.vty b/tests/osmo-bsc.vty index 1d859c3..67210cb 100644 --- a/tests/osmo-bsc.vty +++ b/tests/osmo-bsc.vty @@ -163,9 +163,10 @@ allocator Channel Allocator OsmoBSC(config-net-bts)# channel allocator ? - ascending Allocate Timeslots and Transceivers in ascending order - descending Allocate Timeslots and Transceivers in descending order - avoid-interference Configure whether reported interference levels from RES IND are used in channel allocation + ascending Allocate Timeslots and Transceivers in ascending order + descending Allocate Timeslots and Transceivers in descending order + avoid-interference Configure whether reported interference levels from RES IND are used in channel allocation + allow-tch-for-signalling Configure whether TCH/H or TCH/F channels can be used to serve non-call-related signalling if SDCCHs are exhausted OsmoBSC(config-net-bts)# channel allocator avoid-interference ? 0 Ignore interference levels (default). Always assign lchans in a deterministic order. @@ -184,3 +185,17 @@ OsmoBSC(config-net-bts)# channel allocator avoid-interference 0 OsmoBSC(config-net-bts)# show running-config ... !channel allocator avoid-interference + +OsmoBSC(config-net-bts)# show running-config +... !channel allocator allow-tch-for-signalling +OsmoBSC(config-net-bts)# channel allocator allow-tch-for-signalling 0 +OsmoBSC(config-net-bts)# show running-config +... + bts 0 +... + channel allocator allow-tch-for-signalling 0 +... + +OsmoBSC(config-net-bts)# channel allocator allow-tch-for-signalling 1 +OsmoBSC(config-net-bts)# show running-config +... !channel allocator allow-tch-for-signalling -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25006 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib08027125145df26602069bfb51847063b0ccc0c Gerrit-Change-Number: 25006 Gerrit-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 Jul 22 12:06:54 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 22 Jul 2021 12:06:54 +0000 Subject: Change in osmo-bsc[master]: Fix recent regression in CHREQ allocation In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25005 ) Change subject: Fix recent regression in CHREQ allocation ...................................................................... Patch Set 1: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/25005/1/src/osmo-bsc/abis_rsl.c File src/osmo-bsc/abis_rsl.c: https://gerrit.osmocom.org/c/osmo-bsc/+/25005/1/src/osmo-bsc/abis_rsl.c at 2007 PS1, Line 2007: if (rqd->reason == GSM_CHREQ_REASON_CALL) { lol how did we not spot this : ) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25005 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1e8027a3933c3c8450e76e1325d0f7c28a89a6d1 Gerrit-Change-Number: 25005 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Thu, 22 Jul 2021 12:06: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 Jul 22 12:08:39 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 22 Jul 2021 12:08:39 +0000 Subject: Change in osmo-bsc[master]: Fix recent regression in CHREQ allocation In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25005 ) Change subject: Fix recent regression in CHREQ allocation ...................................................................... Fix recent regression in CHREQ allocation Recent commit introduces a silly bug when changing code. Fixing it now. Fixes: fdb87343d7a747575fae0bb436cd9d105b9748e9 Change-Id: I1e8027a3933c3c8450e76e1325d0f7c28a89a6d1 --- M src/osmo-bsc/abis_rsl.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified neels: Looks good to me, approved diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 5bb0efe..f6ae19a 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -2004,7 +2004,7 @@ * */ - if (GSM_CHREQ_REASON_CALL) { + if (rqd->reason == GSM_CHREQ_REASON_CALL) { lchan = _select_sdcch_for_call(bts, rqd, lctype); } else if (rqd->reason != GSM_CHREQ_REASON_EMERG) { lchan = lchan_select_by_type(bts, GSM_LCHAN_SDCCH); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25005 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1e8027a3933c3c8450e76e1325d0f7c28a89a6d1 Gerrit-Change-Number: 25005 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 22 12:10:36 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Thu, 22 Jul 2021 12:10:36 +0000 Subject: Change in osmo-bsc[master]: Split bsc_vty.c creating bts_vty.c In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24979 ) Change subject: Split bsc_vty.c creating bts_vty.c ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24979 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I347e7da328fed0733af2eec10a3ca6e02a148308 Gerrit-Change-Number: 24979 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 22 Jul 2021 12:10: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 Jul 22 12:15:36 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 22 Jul 2021 12:15:36 +0000 Subject: Change in osmo-bsc[master]: RES IND: allow empty Resource Information IE In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25002 ) Change subject: RES IND: allow empty Resource Information IE ...................................................................... RES IND: allow empty Resource Information IE If all channels of a BTS are in use and there are no interference ratings to be reported, the Resource Information IE may be empty. Do not log this as an error, it is not something that needs operator attention. Related: SYS#5313 Change-Id: I75b851ef1269674f43db3fb3a48518e76182d7f0 --- M src/osmo-bsc/abis_rsl.c 1 file changed, 4 insertions(+), 2 deletions(-) Approvals: fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index f6ae19a..02037e1 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1492,7 +1492,7 @@ } } - res_info_ie = TLVP_GET_MINLEN(&tp, RSL_IE_RESOURCE_INFO, 2); + res_info_ie = TLVP_GET(&tp, RSL_IE_RESOURCE_INFO); if (!res_info_ie) { LOGP(DRSL, LOGL_ERROR, "Rx Resource Indication: missing Resource Info IE\n"); return -ENOENT; @@ -1510,7 +1510,9 @@ return -EINVAL; } - /* Now iterate the reported levels and update corresponding lchans */ + /* Now iterate the reported levels and update corresponding lchans. + * Note that an empty res_info_ie can also make sense, if no lchans are idle and no interference ratings are + * present. The practical effect of the message then is to invalidate previous interference ratings. */ for (i = 0; i < res_info_ie->len; i += 2) { struct gsm_bts *bts = trx->bts; uint8_t chan_nr = res_info_ie->val[i]; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25002 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I75b851ef1269674f43db3fb3a48518e76182d7f0 Gerrit-Change-Number: 25002 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 22 12:15:37 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 22 Jul 2021 12:15:37 +0000 Subject: Change in osmo-bsc[master]: RES IND: tweak error code on missing Resource Information IE In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25003 ) Change subject: RES IND: tweak error code on missing Resource Information IE ...................................................................... RES IND: tweak error code on missing Resource Information IE If the RES IND message is invalid, let's not return ENOENT which translates to "No such file or directory", instead return EINVAL. Related: SYS#5313 Change-Id: Ifd700e90c881874d428f2860603a4ddbf13d705e --- M src/osmo-bsc/abis_rsl.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 02037e1..8e4916d 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1495,7 +1495,7 @@ res_info_ie = TLVP_GET(&tp, RSL_IE_RESOURCE_INFO); if (!res_info_ie) { LOGP(DRSL, LOGL_ERROR, "Rx Resource Indication: missing Resource Info IE\n"); - return -ENOENT; + return -EINVAL; } /* The IE value is defined in 3GPP TS 48.058 9.3.21 Resource Information: -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25003 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifd700e90c881874d428f2860603a4ddbf13d705e Gerrit-Change-Number: 25003 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 22 13:17:01 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 22 Jul 2021 13:17:01 +0000 Subject: Change in osmo-mgw[master]: mcgp_client: initalize domain name from mgcp_client_conf_init In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25004 ) Change subject: mcgp_client: initalize domain name from mgcp_client_conf_init ...................................................................... Patch Set 1: > Patch Set 1: Code-Review-1 > > Are you sure about this? I'd expect it to be initialized the zero when the assignment is done immediately beforehand. Did you experience an issue with it? > In any case, probably setting name[0] = '\0'; would be enough I guess. Its because the struct member is not set in the assignment, so its filled up with zeros, is it that what you mean? -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25004 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Iabef17c7ab0e0f4a9a0cb3ad4ec83006bd07f566 Gerrit-Change-Number: 25004 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 22 Jul 2021 13:17: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 Jul 22 13:17:25 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 22 Jul 2021 13:17:25 +0000 Subject: Change in osmo-mgw[master]: mgcp_lient: remove unsubstantial FIXME note References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25007 ) Change subject: mgcp_lient: remove unsubstantial FIXME note ...................................................................... mgcp_lient: remove unsubstantial FIXME note Change-Id: Ibc73a8a95d93c4a0f8a891bfba6fd1293ae6f1b5 --- M src/libosmo-mgcp-client/mgcp_client.c 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/07/25007/1 diff --git a/src/libosmo-mgcp-client/mgcp_client.c b/src/libosmo-mgcp-client/mgcp_client.c index 9d60ee8..786019a 100644 --- a/src/libosmo-mgcp-client/mgcp_client.c +++ b/src/libosmo-mgcp-client/mgcp_client.c @@ -69,7 +69,6 @@ if (!str) return NULL; - /* FIXME osmo_strlcpy */ osmo_strlcpy(buf, str, sizeof(buf)); for (i = 0; i < strlen(buf); i++) { -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25007 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ibc73a8a95d93c4a0f8a891bfba6fd1293ae6f1b5 Gerrit-Change-Number: 25007 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 Jul 22 13:33:58 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 22 Jul 2021 13:33:58 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: add support for wildcarded DLCX In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24973 ) Change subject: mgcp_protocol: add support for wildcarded DLCX ...................................................................... mgcp_protocol: add support for wildcarded DLCX The request handler handle_delete_con currently rejects wildcarded DLCX requests even though a wildcarded DLCX would be a valuable tool to remove lingering connections from the trunk in case osmo-bsc has to be restarted. Change-Id: I5c2de6b2b61ee64ba9c0618fd20e8fc2fe6a5ed3 Related: SYS#5535 --- M include/osmocom/mgcp/mgcp_ratectr.h M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_ratectr.c 3 files changed, 53 insertions(+), 19 deletions(-) Approvals: daniel: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/mgcp/mgcp_ratectr.h b/include/osmocom/mgcp/mgcp_ratectr.h index 78c687b..4c01059 100644 --- a/include/osmocom/mgcp/mgcp_ratectr.h +++ b/include/osmocom/mgcp/mgcp_ratectr.h @@ -53,7 +53,6 @@ /* Trunk-global MCGP DLCX related rate counters */ enum { MGCP_DLCX_SUCCESS, - MGCP_DLCX_FAIL_WILDCARD, MGCP_DLCX_FAIL_NO_CONN, MGCP_DLCX_FAIL_INVALID_CALLID, MGCP_DLCX_FAIL_INVALID_CONNID, diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index 3af87d0..aef41e0 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -46,6 +46,16 @@ #include #include +/* A combination of LOGPENDP and LOGPTRUNK that automatically falls back to + * LOGPTRUNK when the endp parameter is NULL */ +#define LOGPEPTR(endp, trunk, cat, level, fmt, args...) \ +do { \ + if (endp) \ + LOGPENDP(endp, cat, level, fmt, ## args); \ + else \ + LOGPTRUNK(trunk, cat, level, fmt, ## args); \ +} while (0) + /* Request data passed to the request handler */ struct mgcp_request_data { /* request name (e.g. "MDCX") */ @@ -102,7 +112,7 @@ { .name = "DLCX", .handle_request = handle_delete_con, .debug_name = "DeleteConnection", - .require_endp = true }, + .require_endp = false }, { .name = "MDCX", .handle_request = handle_modify_con, .debug_name = "ModifiyConnection", @@ -1351,26 +1361,21 @@ char stats[1048]; const char *conn_id = NULL; struct mgcp_conn_rtp *conn = NULL; + unsigned int i; - LOGPENDP(endp, DLMGCP, LOGL_NOTICE, - "DLCX: deleting connection ...\n"); + /* NOTE: In this handler we can not take it for granted that the endp + * pointer will be populated, however a trunk is always guaranteed. */ - if (!mgcp_endp_avail(endp)) { + LOGPEPTR(endp, trunk, DLMGCP, LOGL_NOTICE, "DLCX: deleting connection(s) ...\n"); + + if (endp && !mgcp_endp_avail(endp)) { rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_FAIL_AVAIL)); LOGPENDP(endp, DLMGCP, LOGL_ERROR, "DLCX: selected endpoint not available!\n"); return create_err_response(NULL, 501, "DLCX", pdata->trans); } - /* Prohibit wildcarded requests */ - if (endp->wildcarded_req) { - LOGPENDP(endp, DLMGCP, LOGL_ERROR, - "DLCX: wildcarded endpoint names not supported.\n"); - rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_FAIL_WILDCARD)); - return create_err_response(endp, 507, "DLCX", pdata->trans); - } - - if (llist_count(&endp->conns) <= 0) { + if (endp && !rq->wildcarded && llist_empty(&endp->conns)) { LOGPENDP(endp, DLMGCP, LOGL_ERROR, "DLCX: endpoint is not holding a connection.\n"); rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_FAIL_NO_CONN)); @@ -1383,6 +1388,15 @@ switch (toupper(line[0])) { case 'C': + /* If we have no endpoint, but a call id in the request, + then this request cannot be handled */ + if (!endp) { + LOGPTRUNK(trunk, DLMGCP, LOGL_NOTICE, + "cannot handle requests with call-id (C) without endpoint -- abort!"); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_FAIL_UNHANDLED_PARAM)); + return create_err_response(NULL, 539, "DLCX", pdata->trans); + } + if (mgcp_verify_call_id(endp, line + 3) != 0) { error_code = 516; rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_FAIL_INVALID_CALLID)); @@ -1390,6 +1404,15 @@ } break; case 'I': + /* If we have no endpoint, but a connection id in the request, + then this request cannot be handled */ + if (!endp) { + LOGPTRUNK(trunk, DLMGCP, LOGL_NOTICE, + "cannot handle requests with conn-id (I) without endpoint -- abort!"); + rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_FAIL_UNHANDLED_PARAM)); + return create_err_response(NULL, 539, "DLCX", pdata->trans); + } + conn_id = (const char *)line + 3; if ((error_code = mgcp_verify_ci(endp, conn_id))) { rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_FAIL_INVALID_CONNID)); @@ -1400,8 +1423,7 @@ silent = strcasecmp("noanswer", line + 3) == 0; break; default: - LOGPENDP(endp, DLMGCP, LOGL_NOTICE, - "DLCX: Unhandled MGCP option: '%c'/%d\n", + LOGPEPTR(endp, trunk, DLMGCP, LOGL_NOTICE, "DLCX: Unhandled MGCP option: '%c'/%d\n", line[0], line[0]); rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_FAIL_UNHANDLED_PARAM)); return create_err_response(NULL, 539, "DLCX", pdata->trans); @@ -1432,9 +1454,23 @@ } } + /* Handle wildcarded DLCX that refers to the whole trunk. This means + * that we walk over all endpoints on the trunk in order to drop all + * connections on the trunk. (see also RFC3435 Annex F.7) */ + if (rq->wildcarded) { + int num_conns = 0; + for (i = 0; i < trunk->number_endpoints; i++) { + num_conns += llist_count(&trunk->endpoints[i]->conns); + mgcp_endp_release(trunk->endpoints[i]); + } + rate_ctr_add(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_SUCCESS), num_conns); + return create_ok_response(NULL, 200, "DLCX", pdata->trans); + } + /* When no connection id is supplied, we will interpret this as a - * wildcarded DLCX and drop all connections at once. (See also - * RFC3435 Section F.7) */ + * wildcarded DLCX that refers to the selected endpoint. This means + * that we drop all connections on that specific endpoint at once. + * (See also RFC3435 Section F.7) */ if (!conn_id) { int num_conns = llist_count(&endp->conns); LOGPENDP(endp, DLMGCP, LOGL_NOTICE, diff --git a/src/libosmo-mgcp/mgcp_ratectr.c b/src/libosmo-mgcp/mgcp_ratectr.c index 1f8b233..3c3b5db 100644 --- a/src/libosmo-mgcp/mgcp_ratectr.c +++ b/src/libosmo-mgcp/mgcp_ratectr.c @@ -106,7 +106,6 @@ static const struct rate_ctr_desc mgcp_dlcx_ctr_desc[] = { [MGCP_DLCX_SUCCESS] = { "dlcx:success", "DLCX command processed successfully." }, - [MGCP_DLCX_FAIL_WILDCARD] = { "dlcx:wildcard", "wildcard names in DLCX commands are unsupported." }, [MGCP_DLCX_FAIL_NO_CONN] = { "dlcx:no_conn", "endpoint specified in DLCX command has no active connections." }, [MGCP_DLCX_FAIL_INVALID_CALLID] = { "dlcx:callid", "CallId specified in DLCX command mismatches endpoint's CallId ." }, -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24973 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I5c2de6b2b61ee64ba9c0618fd20e8fc2fe6a5ed3 Gerrit-Change-Number: 24973 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 22 13:34:42 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 22 Jul 2021 13:34:42 +0000 Subject: Change in osmo-mgw[master]: remove struct member wildcarded_req from struct mgcp_endpoint In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24974 ) Change subject: remove struct member wildcarded_req from struct mgcp_endpoint ...................................................................... remove struct member wildcarded_req from struct mgcp_endpoint The struct member bool wildcarded_req is no longer needed Change-Id: Iabd2df8f0f8fcce964af647e3a6d8e4c3006ab29 Related: SYS#5535 --- M include/osmocom/mgcp/mgcp_endp.h M src/libosmo-mgcp/mgcp_endp.c 2 files changed, 0 insertions(+), 7 deletions(-) Approvals: daniel: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/mgcp/mgcp_endp.h b/include/osmocom/mgcp/mgcp_endp.h index db1a897..b6bd7b3 100644 --- a/include/osmocom/mgcp/mgcp_endp.h +++ b/include/osmocom/mgcp/mgcp_endp.h @@ -111,10 +111,6 @@ /*! Last MGCP response (in case re-transmission is required) */ char *last_response; - /*! Memorize if this endpoint was choosen by the MGW (wildcarded, true) - * or if the user has choosen the particular endpoint explicitly. */ - bool wildcarded_req; - /*! MGCP_X_OSMO_IGN_* flags from 'X-Osmo-IGN:' header */ uint32_t x_osmo_ign; diff --git a/src/libosmo-mgcp/mgcp_endp.c b/src/libosmo-mgcp/mgcp_endp.c index ae376b0..41e0d4f 100644 --- a/src/libosmo-mgcp/mgcp_endp.c +++ b/src/libosmo-mgcp/mgcp_endp.c @@ -129,7 +129,6 @@ endp->local_options.string = NULL; talloc_free(endp->local_options.codec); endp->local_options.codec = NULL; - endp->wildcarded_req = false; if (endp->trunk->trunk_type == MGCP_TRUNK_E1) mgcp_e1_endp_release(endp); @@ -271,7 +270,6 @@ LOGPENDP(endp, DLMGCP, LOGL_DEBUG, "(trunk:%d) found free endpoint: %s\n", trunk->trunk_nr, endp->name); - endp->wildcarded_req = true; return endp; } @@ -290,7 +288,6 @@ LOGPENDP(endp, DLMGCP, LOGL_DEBUG, "(trunk:%d) found endpoint: %s\n", trunk->trunk_nr, endp->name); - endp->wildcarded_req = false; return endp; } -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24974 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Iabd2df8f0f8fcce964af647e3a6d8e4c3006ab29 Gerrit-Change-Number: 24974 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 22 13:44:10 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 22 Jul 2021 13:44:10 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: allow to reset endpoints on startup References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25008 ) Change subject: mgcp_client: allow to reset endpoints on startup ...................................................................... mgcp_client: allow to reset endpoints on startup Depending on the usecase of osmo_mpcg_client it may be helpful to send a DLCX to certain endpoints. Usually this would be a wildcarded endpoint that resets the entire trunk to drop lingering RTP flows which may still present after a restart/crash, but it might be also a group of specific endpoints. The user may specify an arbitrary amount of endpoints where the mgcp client will send a DLCX to. It does not matter if the endpoints are wildcarded or not. Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Related: SYS#5535 --- M include/osmocom/mgcp_client/mgcp_client.h M src/libosmo-mgcp-client/mgcp_client.c M src/libosmo-mgcp-client/mgcp_client_vty.c 3 files changed, 131 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/08/25008/1 diff --git a/include/osmocom/mgcp_client/mgcp_client.h b/include/osmocom/mgcp_client/mgcp_client.h index 02996a7..95c25b1 100644 --- a/include/osmocom/mgcp_client/mgcp_client.h +++ b/include/osmocom/mgcp_client/mgcp_client.h @@ -17,6 +17,12 @@ struct vty; struct mgcp_client; +/* Struct that holds one endpoint name */ +struct reset_ep { + struct llist_head list; + char *name; +}; + struct mgcp_client_conf { const char *local_addr; int local_port; @@ -26,6 +32,12 @@ /* By default, we are always addressing the MGW with e.g. 'rtpbridge/123 at mgw'. * If this is nonempty, the contained name will be used instead of 'mgw'. */ char endpoint_domain_name[MGCP_ENDPOINT_MAXLEN]; + + /* The user may configure certain endpoint names that are reset via DLCX + * on startup. Usually this will be one wildcarded endpoint e.g. + * 'rtpbridge/(wildcard)' or a number of specific E1 like e.g. + * 'ds/e1-0/s-3/su16-4' */ + struct llist_head reset_epnames; }; typedef unsigned int mgcp_trans_id_t; diff --git a/src/libosmo-mgcp-client/mgcp_client.c b/src/libosmo-mgcp-client/mgcp_client.c index 9d60ee8..3320ad7 100644 --- a/src/libosmo-mgcp-client/mgcp_client.c +++ b/src/libosmo-mgcp-client/mgcp_client.c @@ -201,6 +201,8 @@ .remote_addr = NULL, .remote_port = -1, }; + + INIT_LLIST_HEAD(&conf->reset_epnames); } static void mgcp_client_handle_response(struct mgcp_client *mgcp, @@ -754,6 +756,8 @@ struct mgcp_client_conf *conf) { struct mgcp_client *mgcp; + struct reset_ep *reset_ep; + struct reset_ep *actual_reset_ep; mgcp = talloc_zero(ctx, struct mgcp_client); if (!mgcp) @@ -784,6 +788,12 @@ } LOGP(DLMGCP, LOGL_NOTICE, "MGCP client: using endpoint domain '@%s'\n", mgcp_client_endpoint_domain(mgcp)); + INIT_LLIST_HEAD(&mgcp->actual.reset_epnames); + llist_for_each_entry(reset_ep, &conf->reset_epnames, list) { + actual_reset_ep = talloc_memdup (ctx, reset_ep, sizeof(*reset_ep)); + llist_add_tail(&actual_reset_ep->list, &mgcp->actual.reset_epnames); + } + return mgcp; } @@ -823,6 +833,42 @@ return -EINVAL; } +static const char *_mgcp_client_name_append_domain(const struct mgcp_client *mgcp, char *name) +{ + static char endpoint[MGCP_ENDPOINT_MAXLEN]; + int rc; + + rc = snprintf(endpoint, sizeof(endpoint), "%s@%s", name, mgcp_client_endpoint_domain(mgcp)); + if (rc > sizeof(endpoint) - 1) { + LOGP(DLMGCP, LOGL_ERROR, "MGCP endpoint exceeds maximum length of %zu: '%s@%s'\n", + sizeof(endpoint) - 1, name, mgcp_client_endpoint_domain(mgcp)); + return NULL; + } + if (rc < 1) { + LOGP(DLMGCP, LOGL_ERROR, "Cannot compose MGCP endpoint name\n"); + return NULL; + } + return endpoint; +} + +/* Safely ignore the MGCP response to the DLCX sent via _mgcp_client_send_dlcx() */ +void _ignore_mgcp_response(struct mgcp_response *response, void *priv) +{ + return; +} + +/* Fromat DLCX message (fire and forget) and send it off to the MGW */ +static void _mgcp_client_send_dlcx(struct mgcp_client *mgcp, const char *epname) { + struct msgb *msgb_dlcx; + struct mgcp_msg mgcp_msg_dlcx = { + .verb = MGCP_VERB_DLCX, + .presence = MGCP_MSG_PRESENCE_ENDPOINT, + }; + osmo_strlcpy(mgcp_msg_dlcx.endpoint, epname, sizeof(mgcp_msg_dlcx.endpoint)); + msgb_dlcx = mgcp_msg_gen(mgcp, &mgcp_msg_dlcx); + mgcp_client_tx(mgcp, msgb_dlcx, &_ignore_mgcp_response, NULL); +} + /*! Initalize client connection (opens socket only, no request is sent yet) * \param[in,out] mgcp MGCP client descriptor. * \returns 0 on success, -EINVAL on error. */ @@ -830,6 +876,7 @@ { struct osmo_wqueue *wq; int rc; + struct reset_ep *reset_ep; if (!mgcp) { LOGP(DLMGCP, LOGL_FATAL, "MGCPGW client not initialized properly\n"); @@ -852,9 +899,14 @@ goto error_close_fd; } - LOGP(DLMGCP, LOGL_INFO, "MGCP GW connection: %s\n", osmo_sock_get_name2(wq->bfd.fd)); + /* If configured, send a DLCX message to the endpoints that are configured to + * be reset on startup. Usually this is a wildcarded endpoint. */ + llist_for_each_entry(reset_ep, &mgcp->actual.reset_epnames, list) { + LOGP(DLMGCP, LOGL_INFO, "MGCP GW sending DLCX to: %s\n", _mgcp_client_name_append_domain(mgcp, reset_ep->name)); + _mgcp_client_send_dlcx(mgcp, _mgcp_client_name_append_domain(mgcp, reset_ep->name)); + } return 0; error_close_fd: close(wq->bfd.fd); @@ -894,24 +946,6 @@ return mgcp->actual.endpoint_domain_name[0] ? mgcp->actual.endpoint_domain_name : "mgw"; } -static const char *_mgcp_client_name_append_domain(const struct mgcp_client *mgcp, char *name) -{ - static char endpoint[MGCP_ENDPOINT_MAXLEN]; - int rc; - - rc = snprintf(endpoint, sizeof(endpoint), "%s@%s", name, mgcp_client_endpoint_domain(mgcp)); - if (rc > sizeof(endpoint) - 1) { - LOGP(DLMGCP, LOGL_ERROR, "MGCP endpoint exceeds maximum length of %zu: '%s@%s'\n", - sizeof(endpoint) - 1, name, mgcp_client_endpoint_domain(mgcp)); - return NULL; - } - if (rc < 1) { - LOGP(DLMGCP, LOGL_ERROR, "Cannot compose MGCP endpoint name\n"); - return NULL; - } - return endpoint; -} - /*! Compose endpoint name for a wildcarded request to the virtual trunk * \param[in] mgcp MGCP client descriptor. * \returns string containing the endpoint name (e.g. rtpbridge\*@mgw) */ diff --git a/src/libosmo-mgcp-client/mgcp_client_vty.c b/src/libosmo-mgcp-client/mgcp_client_vty.c index cc8db5d..cd12776 100644 --- a/src/libosmo-mgcp-client/mgcp_client_vty.c +++ b/src/libosmo-mgcp-client/mgcp_client_vty.c @@ -155,10 +155,71 @@ return CMD_SUCCESS; } +DEFUN(cfg_mgw_reset_ep_name, + cfg_mgw_reset_ep_name_cmd, + "mgw reset-endpoint NAME", + MGW_STR "Set an eindpoint name that should be reset (DLCX) on startup, e.g. 'rtpbridge/*'\n" + "Endpoint name, e.g. 'rtpbridge/*' or 'ds/e1-0/s-3/su16-4'.\n") +{ + struct reset_ep *reset_ep; + unsigned int i; + + /* stop when the address is already in the list */ + llist_for_each_entry(reset_ep, &global_mgcp_client_conf->reset_epnames, list) { + if (strcmp(argv[0], reset_ep->name) == 0) { + vty_out(vty, "%% duplicate endpoint name configured ('%s')%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + } + + /* the domain name is not part of the actual endpoint name */ + for (i = 0; i < strlen(argv[0]); i++) { + if (argv[0][i] == '@') { + vty_out(vty, "%% the endpoint name must be given without domain name ('%s')%s", + argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + } + + reset_ep = talloc_zero(global_mgcp_client_ctx, struct reset_ep); + OSMO_ASSERT(reset_ep); + reset_ep->name = talloc_strdup(reset_ep, argv[0]); + OSMO_ASSERT(reset_ep->name); + llist_add_tail(&reset_ep->list, &global_mgcp_client_conf->reset_epnames); + + return CMD_SUCCESS; +} + +DEFUN(cfg_mgw_no_reset_ep_name, + cfg_mgw_no_reset_ep_name_cmd, + "no mgw reset-endpoint NAME", + MGW_STR "Do not reset (DLCX) endpoint on startup, e.g. 'rtpbridge/*'\n" + "Endpoint name, e.g. 'rtpbridge/*' or 'ds/e1-0/s-3/su16-4'.\n") +{ + struct reset_ep *reset_ep; + struct reset_ep *reset_ep_del = NULL; + + llist_for_each_entry(reset_ep, &global_mgcp_client_conf->reset_epnames, list) { + if (strcmp(argv[0], reset_ep->name) == 0) + reset_ep_del = reset_ep; + } + + if (reset_ep_del) { + llist_del(&reset_ep_del->list); + talloc_free(reset_ep_del); + } else { + vty_out(vty, "%% no such endpoint name configured ('%s')%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + + return CMD_SUCCESS; +} + int mgcp_client_config_write(struct vty *vty, const char *indent) { const char *addr; int port; + struct reset_ep *reset_ep; addr = global_mgcp_client_conf->local_addr; if (addr) @@ -182,6 +243,9 @@ vty_out(vty, "%smgw endpoint-domain %s%s", indent, global_mgcp_client_conf->endpoint_domain_name, VTY_NEWLINE); + llist_for_each_entry(reset_ep, &global_mgcp_client_conf->reset_epnames, list) + vty_out(vty, "%smgw reset-endpoint %s%s", indent, reset_ep->name, VTY_NEWLINE); + return CMD_SUCCESS; } @@ -197,6 +261,8 @@ install_lib_element(node, &cfg_mgw_endpoint_range_cmd); install_lib_element(node, &cfg_mgw_rtp_bts_base_port_cmd); install_lib_element(node, &cfg_mgw_endpoint_domain_name_cmd); + install_lib_element(node, &cfg_mgw_reset_ep_name_cmd); + install_lib_element(node, &cfg_mgw_no_reset_ep_name_cmd); /* deprecated 'mgcpgw' commands */ install_lib_element(node, &cfg_mgcpgw_local_ip_cmd); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25008 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Gerrit-Change-Number: 25008 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 Jul 22 13:46:19 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 22 Jul 2021 13:46:19 +0000 Subject: Change in osmo-mgw[master]: mcgp_client: initalize domain name from mgcp_client_conf_init In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25004 ) Change subject: mcgp_client: initalize domain name from mgcp_client_conf_init ...................................................................... Patch Set 2: > Patch Set 1: > Its because the struct member is not set in the assignment, so its filled up with zeros, is it that what you mean? Yes. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25004 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Iabef17c7ab0e0f4a9a0cb3ad4ec83006bd07f566 Gerrit-Change-Number: 25004 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 22 Jul 2021 13:46: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 Thu Jul 22 13:46:30 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 22 Jul 2021 13:46:30 +0000 Subject: Change in osmo-mgw[master]: mgcp_lient: remove unsubstantial FIXME note In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25007 ) Change subject: mgcp_lient: remove unsubstantial FIXME note ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25007 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ibc73a8a95d93c4a0f8a891bfba6fd1293ae6f1b5 Gerrit-Change-Number: 25007 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 22 Jul 2021 13: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 Jul 22 13:46:43 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 22 Jul 2021 13:46:43 +0000 Subject: Change in osmo-mgw[master]: mgcp_lient: remove unsubstantial FIXME note In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25007 ) Change subject: mgcp_lient: remove unsubstantial FIXME note ...................................................................... mgcp_lient: remove unsubstantial FIXME note Change-Id: Ibc73a8a95d93c4a0f8a891bfba6fd1293ae6f1b5 --- M src/libosmo-mgcp-client/mgcp_client.c 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libosmo-mgcp-client/mgcp_client.c b/src/libosmo-mgcp-client/mgcp_client.c index 9d60ee8..786019a 100644 --- a/src/libosmo-mgcp-client/mgcp_client.c +++ b/src/libosmo-mgcp-client/mgcp_client.c @@ -69,7 +69,6 @@ if (!str) return NULL; - /* FIXME osmo_strlcpy */ osmo_strlcpy(buf, str, sizeof(buf)); for (i = 0; i < strlen(buf); i++) { -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25007 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ibc73a8a95d93c4a0f8a891bfba6fd1293ae6f1b5 Gerrit-Change-Number: 25007 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 22 13:47:33 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 22 Jul 2021 13:47:33 +0000 Subject: Change in osmo-mgw[master]: mcgp_client: initalize domain name from mgcp_client_conf_init In-Reply-To: References: Message-ID: dexter has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25004 ) Change subject: mcgp_client: initalize domain name from mgcp_client_conf_init ...................................................................... Abandoned This patch assumed a problem that was not there. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25004 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Iabef17c7ab0e0f4a9a0cb3ad4ec83006bd07f566 Gerrit-Change-Number: 25004 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 22 14:32:20 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 22 Jul 2021 14:32:20 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: allow to reset endpoints on startup 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/+/25008 to look at the new patch set (#2). Change subject: mgcp_client: allow to reset endpoints on startup ...................................................................... mgcp_client: allow to reset endpoints on startup Depending on the usecase of osmo_mpcg_client it may be helpful to send a DLCX to certain endpoints. Usually this would be a wildcarded endpoint that resets the entire trunk to drop lingering RTP flows which may still present after a restart/crash, but it might be also a group of specific endpoints. The user may specify an arbitrary amount of endpoints where the mgcp client will send a DLCX to. It does not matter if the endpoints are wildcarded or not. Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Related: SYS#5535 --- M include/osmocom/mgcp_client/mgcp_client.h M src/libosmo-mgcp-client/mgcp_client.c M src/libosmo-mgcp-client/mgcp_client_vty.c 3 files changed, 128 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/08/25008/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25008 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Gerrit-Change-Number: 25008 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 Thu Jul 22 14:37:49 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 22 Jul 2021 14:37:49 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: allow to reset endpoints on startup 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/+/25008 to look at the new patch set (#3). Change subject: mgcp_client: allow to reset endpoints on startup ...................................................................... mgcp_client: allow to reset endpoints on startup Depending on the usecase of osmo_mpcg_client it may be helpful to send a DLCX to certain endpoints. Usually this would be a wildcarded endpoint that resets the entire trunk to drop lingering RTP flows which may still present after a restart/crash, but it might be also a group of specific endpoints. The user may specify an arbitrary amount of endpoints where the mgcp client will send a DLCX to. It does not matter if the endpoints are wildcarded or not. Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Related: SYS#5535 --- M include/osmocom/mgcp_client/mgcp_client.h M src/libosmo-mgcp-client/mgcp_client.c M src/libosmo-mgcp-client/mgcp_client_vty.c 3 files changed, 130 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/08/25008/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25008 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Gerrit-Change-Number: 25008 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 22 14:50:25 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 22 Jul 2021 14:50:25 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: allow to reset endpoints on startup In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25008 ) Change subject: mgcp_client: allow to reset endpoints on startup ...................................................................... Patch Set 3: Code-Review-1 (3 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/25008/3/src/libosmo-mgcp-client/mgcp_client.c File src/libosmo-mgcp-client/mgcp_client.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25008/3/src/libosmo-mgcp-client/mgcp_client.c at 792 PS3, Line 792: actual_reset_ep = talloc_memdup(ctx, reset_ep, sizeof(*reset_ep)); I bet talloc_memdup is not duplicating the char* name in reset_ep. So you end up having a new structure with a pointer pointing to the old one. If the old one (config) is freed, then you keep a pointer to freed memory. https://gerrit.osmocom.org/c/osmo-mgw/+/25008/3/src/libosmo-mgcp-client/mgcp_client.c at 835 PS3, Line 835: static const char *_mgcp_client_name_append_domain(const struct mgcp_client *mgcp, char *name) const char *name https://gerrit.osmocom.org/c/osmo-mgw/+/25008/3/src/libosmo-mgcp-client/mgcp_client.c at 905 PS3, Line 905: _mgcp_client_name_append_domain(mgcp, reset_ep->name)); store it in a local pointer instead of calling the function twice for each iteration. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25008 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Gerrit-Change-Number: 25008 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 22 Jul 2021 14:50: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 Thu Jul 22 15:14:26 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 22 Jul 2021 15:14:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Test tch allocation if sdcch exhausted References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25009 ) Change subject: bsc: Test tch allocation if sdcch exhausted ...................................................................... bsc: Test tch allocation if sdcch exhausted Related: SYS#5548 Change-Id: I0c958de10a3643f8b94479d676dd1ac1b9140802 --- M bsc/BSC_Tests.ttcn 1 file changed, 77 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/09/25009/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index ae805e3..23f3164 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -4517,6 +4517,68 @@ f_shutdown_helper(); } +/* request a signalling channel with all SDCCH exhausted, it is expected that a TCH will be selected */ +private function f_TC_assignment_sdcch_exhausted_req_signalling(charstring id) runs on MSC_ConnHdlr { + g_pars := f_gen_test_hdlr_pars(); + g_pars.ra := '02'O; /* RA containing reason=LU*/ + + var MobileIdentityLV mi := valueof(ts_MI_IMSI_LV(g_pars.imsi)); + var PDU_ML3_MS_NW l3_info := valueof(ts_CM_SERV_REQ(CM_TYPE_MO_CALL, mi)); + var octetstring l3_enc := enc_PDU_ML3_MS_NW(l3_info); + var template uint3_t tsc := ?; + + f_MscConnHdlr_init(g_pars.media_nr, host_bts, host_mgw_mgcp, FR_AMR); + + //RSL.send(ts_RSLDC_ChanRqd(g_pars.ra, 32)); + f_create_bssmap_exp(l3_enc); + /* call helper function for CHAN_RQD -> IMM ASS ->EST_IND */ + RSL_Emulation.f_chan_est(g_pars.ra, l3_enc, g_pars.link_id, g_pars.fn, tsc); + + /* we should now have a COMPL_L3 at the MSC */ + timer T := 10.0; + T.start; + alt { + [] BSSAP.receive(tr_BSSMAP_ComplL3); + [] T.timeout { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Timeout waiting for COMPLETE LAYER 3 INFORMATION"); + } + } +} +testcase TC_assignment_sdcch_exhausted_req_signalling() runs on test_CT { + var MSC_ConnHdlr vc_conn; + f_init(1, true); + f_sleep(1.0); + f_disable_all_sdcch(); + vc_conn := f_start_handler(refers(f_TC_assignment_sdcch_exhausted_req_signalling)); + vc_conn.done; + f_enable_all_sdcch(); + f_shutdown_helper(); +} + +/* Request a signalling channel with all SDCCH exhausted, it is + expected that no TCH will be selected for signalling and assigment will fail + because it's dictated by VTY config */ +testcase TC_assignment_sdcch_exhausted_req_signalling_tch_forbiden() runs on test_CT { + var RSL_Message rsl_unused, rsl_msg; + var GsmRrMessage rr; + f_init(1, false); + f_sleep(1.0); + f_vty_allow_tch_for_signalling(false, 0); + f_disable_all_sdcch(); + + /* RA containing reason=LU*/ + f_ipa_tx(0, ts_RSL_CHAN_RQD('02'O, 2342)); + rsl_msg := f_exp_ipa_rx(0, tr_RSL_IMM_ASSIGN(0)); + rr := dec_GsmRrMessage(rsl_msg.ies[1].body.full_imm_ass_info.payload); + if (rr.header.message_type != IMMEDIATE_ASSIGNMENT_REJECT) { + setverdict(fail, "Expected reject"); + } + + f_vty_allow_tch_for_signalling(true, 0); + f_enable_all_sdcch(); + f_shutdown_helper(); +} + testcase TC_assignment_osmux() runs on test_CT { var TestHdlrParams pars := f_gen_test_hdlr_pars(); var MSC_ConnHdlr vc_conn; @@ -7828,6 +7890,19 @@ f_vty_transceive(BSCVTY, "exit"); } +/* Allow/Forbid TCH for signalling if SDCCH exhausted on a given BTS via VTY */ +private function f_vty_allow_tch_for_signalling(boolean allow, integer bts_nr) runs on test_CT { + f_vty_enter_cfg_bts(BSCVTY, bts_nr); + if (allow) { + f_vty_transceive(BSCVTY, "channel allocator allow-tch-for-signalling 1"); + } else { + f_vty_transceive(BSCVTY, "channel allocator allow-tch-for-signalling 0"); + } + f_vty_transceive(BSCVTY, "exit"); + f_vty_transceive(BSCVTY, "exit"); + f_vty_transceive(BSCVTY, "exit"); +} + /* Begin assignmet procedure and send an EMERGENCY SETUP (RR) */ private function f_assignment_emerg_setup() runs on MSC_ConnHdlr { var PDU_ML3_MS_NW emerg_setup; @@ -9407,6 +9482,8 @@ execute( TC_assignment_codec_hr_exhausted_req_fr_hr() ); execute( TC_assignment_codec_req_hr_fr() ); execute( TC_assignment_codec_req_fr_hr() ); + execute( TC_assignment_sdcch_exhausted_req_signalling() ); + execute( TC_assignment_sdcch_exhausted_req_signalling_tch_forbiden() ); execute( TC_assignment_osmux() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25009 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0c958de10a3643f8b94479d676dd1ac1b9140802 Gerrit-Change-Number: 25009 Gerrit-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 Jul 22 15:31:24 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 22 Jul 2021 15:31:24 +0000 Subject: Change in osmo-bsc[master]: Split bsc_vty.c creating bts_vty.c In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24979 ) Change subject: Split bsc_vty.c creating bts_vty.c ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24979 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I347e7da328fed0733af2eec10a3ca6e02a148308 Gerrit-Change-Number: 24979 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 22 Jul 2021 15:31:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 22 15:34:25 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 22 Jul 2021 15:34:25 +0000 Subject: Change in osmo-bsc[master]: Split bts_vty.c creating bts_trx_vty.c In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24980 ) Change subject: Split bts_vty.c creating bts_trx_vty.c ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24980 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I15ec8f71a5d31915162cb3ad75ea77e934fa4887 Gerrit-Change-Number: 24980 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 22 Jul 2021 15:34:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 22 15:36:14 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 22 Jul 2021 15:36:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Test tch allocation if sdcch exhausted 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/+/25009 to look at the new patch set (#2). Change subject: bsc: Test tch allocation if sdcch exhausted ...................................................................... bsc: Test tch allocation if sdcch exhausted Related: SYS#5548 Change-Id: I0c958de10a3643f8b94479d676dd1ac1b9140802 --- M bsc/BSC_Tests.ttcn 1 file changed, 118 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/09/25009/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25009 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0c958de10a3643f8b94479d676dd1ac1b9140802 Gerrit-Change-Number: 25009 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 Jul 22 15:39:20 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 22 Jul 2021 15:39:20 +0000 Subject: Change in osmo-bsc[master]: Introduce libbsc to avoid linking long lists of .o files In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24981 ) Change subject: Introduce libbsc to avoid linking long lists of .o files ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24981/3/src/osmo-bsc/Makefile.am File src/osmo-bsc/Makefile.am: https://gerrit.osmocom.org/c/osmo-bsc/+/24981/3/src/osmo-bsc/Makefile.am at 130 PS3, Line 130: #$(top_builddir)/src/osmo-bsc/libbsc.la Is this a leftover? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24981 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If91dc589ea1e476da105b58846d1c3e720a439e1 Gerrit-Change-Number: 24981 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-Comment-Date: Thu, 22 Jul 2021 15:39: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 Jul 22 15:40:19 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 22 Jul 2021 15:40:19 +0000 Subject: Change in osmo-bsc[master]: Introduce libbsc to avoid linking long lists of .o files In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24981 ) Change subject: Introduce libbsc to avoid linking long lists of .o files ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/24981/3/src/osmo-bsc/Makefile.am File src/osmo-bsc/Makefile.am: https://gerrit.osmocom.org/c/osmo-bsc/+/24981/3/src/osmo-bsc/Makefile.am at 130 PS3, Line 130: #$(top_builddir)/src/osmo-bsc/libbsc.la > Is this a leftover? ugh, yes, thanks. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24981 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If91dc589ea1e476da105b58846d1c3e720a439e1 Gerrit-Change-Number: 24981 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-Comment-Date: Thu, 22 Jul 2021 15:40:19 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 22 15:41:02 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 22 Jul 2021 15:41:02 +0000 Subject: Change in osmo-bsc[master]: Introduce libbsc to avoid linking long lists of .o files In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24981 to look at the new patch set (#4). Change subject: Introduce libbsc to avoid linking long lists of .o files ...................................................................... Introduce libbsc to avoid linking long lists of .o files Every time a new file is added in osmo-bsc, it ends up being a pain because its .o file has to be included to other tests/util binaries, or stubs need to be added. Let's instead bundle all .o files together in an .la file and pass that around. Change-Id: If91dc589ea1e476da105b58846d1c3e720a439e1 --- M src/ipaccess/Makefile.am M src/osmo-bsc/Makefile.am M src/utils/Makefile.am M tests/abis/Makefile.am M tests/acc/Makefile.am M tests/bsc/Makefile.am M tests/codec_pref/Makefile.am M tests/gsm0408/Makefile.am M tests/handover/Makefile.am M tests/nanobts_omlattr/Makefile.am M tests/subscr/Makefile.am 11 files changed, 35 insertions(+), 246 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/81/24981/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24981 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If91dc589ea1e476da105b58846d1c3e720a439e1 Gerrit-Change-Number: 24981 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 22 15:41:36 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 22 Jul 2021 15:41:36 +0000 Subject: Change in osmo-bsc[master]: Introduce libbsc to avoid linking long lists of .o files In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24981 ) Change subject: Introduce libbsc to avoid linking long lists of .o files ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24981 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If91dc589ea1e476da105b58846d1c3e720a439e1 Gerrit-Change-Number: 24981 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 22 Jul 2021 15:41: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 Jul 22 15:45:22 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 22 Jul 2021 15:45:22 +0000 Subject: Change in osmo-bsc[master]: bts: Clear BTS_STAT_CHAN_*_{TOTAL, USED} on bts disconnect In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24978 ) Change subject: bts: Clear BTS_STAT_CHAN_*_{TOTAL,USED} on bts disconnect ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24978 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic42687cd73e3546edaa99fb1268a5960ffa43b12 Gerrit-Change-Number: 24978 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 22 Jul 2021 15:45:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 22 15:45:24 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 22 Jul 2021 15:45:24 +0000 Subject: Change in osmo-bsc[master]: bts: Clear BTS_STAT_CHAN_*_{TOTAL, USED} on bts disconnect In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24978 ) Change subject: bts: Clear BTS_STAT_CHAN_*_{TOTAL,USED} on bts disconnect ...................................................................... bts: Clear BTS_STAT_CHAN_*_{TOTAL,USED} on bts disconnect Adds gsm_bts_stats_reset() to clear the stats and calls it from the different models. Change-Id: Ic42687cd73e3546edaa99fb1268a5960ffa43b12 Related: SYS#5541 --- M include/osmocom/bsc/bts.h M src/osmo-bsc/bts.c M src/osmo-bsc/bts_ericsson_rbs2000.c M src/osmo-bsc/bts_ipaccess_nanobts.c M src/osmo-bsc/bts_nokia_site.c M src/osmo-bsc/bts_siemens_bs11.c 6 files changed, 27 insertions(+), 0 deletions(-) Approvals: fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h index 9ec9364..72ef8d9 100644 --- a/include/osmocom/bsc/bts.h +++ b/include/osmocom/bsc/bts.h @@ -704,6 +704,8 @@ int gsm_bts_set_c0_power_red(struct gsm_bts *bts, const uint8_t red); +void gsm_bts_stats_reset(struct gsm_bts *bts); + int gsm_bts_model_register(struct gsm_bts_model *model); struct gsm_bts_model *bts_model_find(enum gsm_bts_type type); diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c index d03f092..ec29ac8 100644 --- a/src/osmo-bsc/bts.c +++ b/src/osmo-bsc/bts.c @@ -796,6 +796,26 @@ return 0; } +void gsm_bts_stats_reset(struct gsm_bts *bts) +{ + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_CCCH_SDCCH4_USED), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_CCCH_SDCCH4_TOTAL), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_TCH_F_USED), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_TCH_F_TOTAL), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_TCH_H_USED), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_TCH_H_TOTAL), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_SDCCH8_USED), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_SDCCH8_TOTAL), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_TCH_F_PDCH_USED), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_TCH_F_PDCH_TOTAL), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_CCCH_SDCCH4_CBCH_USED), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_CCCH_SDCCH4_CBCH_TOTAL), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_SDCCH8_CBCH_USED), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_SDCCH8_CBCH_TOTAL), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_OSMO_DYN_USED), 0); + osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_OSMO_DYN_TOTAL), 0); +} + const struct rate_ctr_desc bts_ctr_description[] = { [BTS_CTR_CHREQ_TOTAL] = \ { "chreq:total", diff --git a/src/osmo-bsc/bts_ericsson_rbs2000.c b/src/osmo-bsc/bts_ericsson_rbs2000.c index 7d29657..b3d79b4 100644 --- a/src/osmo-bsc/bts_ericsson_rbs2000.c +++ b/src/osmo-bsc/bts_ericsson_rbs2000.c @@ -52,6 +52,7 @@ static int shutdown_om(struct gsm_bts *bts) { gsm_bts_all_ts_dispatch(bts, TS_EV_OML_DOWN, NULL); + gsm_bts_stats_reset(bts); /* FIXME */ return 0; diff --git a/src/osmo-bsc/bts_ipaccess_nanobts.c b/src/osmo-bsc/bts_ipaccess_nanobts.c index 26e2196..27f6aee 100644 --- a/src/osmo-bsc/bts_ipaccess_nanobts.c +++ b/src/osmo-bsc/bts_ipaccess_nanobts.c @@ -32,6 +32,7 @@ #include #include #include +#include #include #include #include @@ -557,6 +558,7 @@ bts->oml_link = NULL; bts->uptime = 0; osmo_stat_item_dec(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_OML_CONNECTED), 1); + gsm_bts_stats_reset(bts); /* Also drop the associated OSMO link */ e1inp_sign_link_destroy(bts->osmo_link); diff --git a/src/osmo-bsc/bts_nokia_site.c b/src/osmo-bsc/bts_nokia_site.c index 3820ead..75ffa95 100644 --- a/src/osmo-bsc/bts_nokia_site.c +++ b/src/osmo-bsc/bts_nokia_site.c @@ -80,6 +80,7 @@ static int shutdown_om(struct gsm_bts *bts) { + gsm_bts_stats_reset(bts); /* TODO !? */ return 0; } diff --git a/src/osmo-bsc/bts_siemens_bs11.c b/src/osmo-bsc/bts_siemens_bs11.c index 0d71ce2..818d84a 100644 --- a/src/osmo-bsc/bts_siemens_bs11.c +++ b/src/osmo-bsc/bts_siemens_bs11.c @@ -552,6 +552,7 @@ /* Reset BTS Site manager resource */ abis_nm_bs11_reset_resource(bts); + gsm_bts_stats_reset(bts); gsm_bts_all_ts_dispatch(bts, TS_EV_OML_DOWN, NULL); return 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24978 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic42687cd73e3546edaa99fb1268a5960ffa43b12 Gerrit-Change-Number: 24978 Gerrit-PatchSet: 2 Gerrit-Owner: daniel 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 Jul 22 15:58:34 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 22 Jul 2021 15:58:34 +0000 Subject: Change in osmo-bsc[master]: Introduce VTY option to forbid use of TCH for non-voicecall signalling In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25006 ) Change subject: Introduce VTY option to forbid use of TCH for non-voicecall signalling ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/25006/2/src/osmo-bsc/abis_rsl.c File src/osmo-bsc/abis_rsl.c: https://gerrit.osmocom.org/c/osmo-bsc/+/25006/2/src/osmo-bsc/abis_rsl.c at 2028 PS2, Line 2028: } I think it would be useful to log if one of the new conditions are hit that cause it not to get an lchan. Maybe like this? if (!lchan) { if (!gsm_chreq_reason_is_voicecall(rqd->reason)) { /* log message */ } else if (!bts->chan_alloc_allow_tch_for_signalling) { /* log message */ } else { /* try tch_h */ if (!lchan) /* try tch_f */ } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25006 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib08027125145df26602069bfb51847063b0ccc0c Gerrit-Change-Number: 25006 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-Comment-Date: Thu, 22 Jul 2021 15:58:34 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 22 16:14:59 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 22 Jul 2021 16:14:59 +0000 Subject: Change in osmo-bsc[master]: Introduce VTY option to forbid use of TCH for non-voicecall signalling In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25006 ) Change subject: Introduce VTY option to forbid use of TCH for non-voicecall signalling ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/25006/2/src/osmo-bsc/abis_rsl.c File src/osmo-bsc/abis_rsl.c: https://gerrit.osmocom.org/c/osmo-bsc/+/25006/2/src/osmo-bsc/abis_rsl.c at 2028 PS2, Line 2028: } > I think it would be useful to log if one of the new conditions are hit that cause it not to get an l [?] TBH I think it's clearer the way it is now. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25006 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib08027125145df26602069bfb51847063b0ccc0c Gerrit-Change-Number: 25006 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-Comment-Date: Thu, 22 Jul 2021 16:14:59 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 22 16:15:35 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 22 Jul 2021 16:15:35 +0000 Subject: Change in osmo-bsc[master]: Introduce VTY option to forbid use of TCH for non-voicecall signalling In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25006 ) Change subject: Introduce VTY option to forbid use of TCH for non-voicecall signalling ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/25006/2/src/osmo-bsc/abis_rsl.c File src/osmo-bsc/abis_rsl.c: https://gerrit.osmocom.org/c/osmo-bsc/+/25006/2/src/osmo-bsc/abis_rsl.c at 2028 PS2, Line 2028: } > TBH I think it's clearer the way it is now. Okay, fine with me. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25006 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib08027125145df26602069bfb51847063b0ccc0c Gerrit-Change-Number: 25006 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 22 Jul 2021 16:15:35 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: osmith 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 Jul 22 16:56:07 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 22 Jul 2021 16:56:07 +0000 Subject: Change in osmo-bsc[master]: Introduce VTY option to forbid use of TCH for non-voicecall signalling In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25006 ) Change subject: Introduce VTY option to forbid use of TCH for non-voicecall signalling ...................................................................... Patch Set 2: Code-Review+1 (2 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/25006/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bsc/+/25006/1//COMMIT_MSG at 21 PS1, Line 21: requiring a TCH anyway, and forbiding reservation of TCH straighaway ("forbidding") https://gerrit.osmocom.org/c/osmo-bsc/+/25006/2/tests/osmo-bsc.vty File tests/osmo-bsc.vty: https://gerrit.osmocom.org/c/osmo-bsc/+/25006/2/tests/osmo-bsc.vty at 173 PS2, Line 173: 1 In channel allocation, prefer lchans with less interference. I would also welcome a test for the doc strings of 0 and 1, as shown here for avoid-interference -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25006 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib08027125145df26602069bfb51847063b0ccc0c Gerrit-Change-Number: 25006 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 22 Jul 2021 16:56:07 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 22 17:26:53 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 22 Jul 2021 17:26:53 +0000 Subject: Change in osmo-bsc[master]: Split bsc_vty.c creating bts_vty.c In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24979 ) Change subject: Split bsc_vty.c creating bts_vty.c ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24979 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I347e7da328fed0733af2eec10a3ca6e02a148308 Gerrit-Change-Number: 24979 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 22 Jul 2021 17:26:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 22 17:26:56 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 22 Jul 2021 17:26:56 +0000 Subject: Change in osmo-bsc[master]: Split bsc_vty.c creating bts_vty.c In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24979 ) Change subject: Split bsc_vty.c creating bts_vty.c ...................................................................... Split bsc_vty.c creating bts_vty.c Change-Id: I347e7da328fed0733af2eec10a3ca6e02a148308 --- M include/osmocom/bsc/vty.h M src/osmo-bsc/Makefile.am M src/osmo-bsc/abis_nm_vty.c M src/osmo-bsc/abis_om2000_vty.c M src/osmo-bsc/bsc_vty.c A src/osmo-bsc/bts_vty.c M tests/handover/Makefile.am 7 files changed, 5,003 insertions(+), 4,941 deletions(-) Approvals: pespin: Looks good to me, approved osmith: Looks good to me, but someone else must approve Hoernchen: Looks good to me, but someone else must approve Jenkins Builder: Verified -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24979 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I347e7da328fed0733af2eec10a3ca6e02a148308 Gerrit-Change-Number: 24979 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter 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 Jul 22 17:31:45 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 22 Jul 2021 17:31:45 +0000 Subject: Change in osmo-bsc[master]: Introduce VTY option to forbid use of TCH for non-voicecall signalling In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, neels, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/25006 to look at the new patch set (#3). Change subject: Introduce VTY option to forbid use of TCH for non-voicecall signalling ...................................................................... Introduce VTY option to forbid use of TCH for non-voicecall signalling Usual allocation mechansim, when some signalling channel is needed, first tries to reserve an SDCCH, and if all of them are exhausted, then attempts to reserve a TCH as a last resort. This, however, may cause TCH starvation under certain situations, for instance if there high load on other services (LU, SMS, etc.). Hence, it may be desirable for the operator to forbid reservation of TCH slots once SDCCH become exhausted. This commit is thus adding a VTY command which allows forbidding it. The default behavior (allow using TCH timeslots when SDCCHs are exhausted) is kept as before. The above mentioned prohibition is applied only to non-voicecall related signalling services. That's because voicecall services will end up requiring a TCH anyway, and forbiding reservation of TCH straighaway when SDCCHs are exhausted would mean no voice calls could be initiated while still TCHs would be available. Related: SYS#5548 Change-Id: Ib08027125145df26602069bfb51847063b0ccc0c --- M include/osmocom/bsc/bts.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bts.c M src/osmo-bsc/bts_vty.c M tests/osmo-bsc.vty 6 files changed, 67 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/06/25006/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25006 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib08027125145df26602069bfb51847063b0ccc0c Gerrit-Change-Number: 25006 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 22 18:26:16 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 22 Jul 2021 18:26:16 +0000 Subject: Change in osmo-pcu[master]: tbf: Drop impossible paths in create_dl_ass() References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25010 ) Change subject: tbf: Drop impossible paths in create_dl_ass() ...................................................................... tbf: Drop impossible paths in create_dl_ass() create_dl_ass() is only called in gprs_rlcmac_sched.cpp on tbf_cand->dl_ass pointer, which is always assigned under the guard "!tbf->is_control_ts(pdch->ts_no)", since we only send CTRL messages for a TBF on its control TS. Hence, condition "!is_control_ts(ts)" in create_dl_ass will always be false, and as a result poll_ass_dl will always be 1. So we can drop different code paths. Change-Id: Ibea4100a5dc8bd49303cb6a3d02417038c3d3887 --- M src/tbf.cpp 1 file changed, 13 insertions(+), 27 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/10/25010/1 diff --git a/src/tbf.cpp b/src/tbf.cpp index e83f472..fcad879 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -852,29 +852,24 @@ struct msgb *msg; struct gprs_rlcmac_dl_tbf *new_dl_tbf = NULL; RlcMacDownlink_t *mac_control_block = NULL; - int poll_ass_dl = 1; + const int poll_ass_dl = 1; unsigned int rrbp = 0; uint32_t new_poll_fn = 0; int rc; bool old_tfi_is_valid = is_tfi_assigned(); - if (direction == GPRS_RLCMAC_DL_TBF && !is_control_ts(ts)) { - LOGPTBF(this, LOGL_NOTICE, - "Cannot poll for downlink assignment, because MS cannot reply. (TS=%d, first common TS=%d)\n", - ts, first_common_ts); - poll_ass_dl = 0; + /* We only use this function in control TS (PACCH) so that MS can always answer the poll */ + OSMO_ASSERT(is_control_ts(ts)); + + if (ul_ass_state == GPRS_RLCMAC_UL_ASS_WAIT_ACK) + { + LOGPTBF(this, LOGL_DEBUG, + "Polling is already scheduled, so we must wait for the uplink assignment...\n"); + return NULL; } - if (poll_ass_dl) { - if (ul_ass_state == GPRS_RLCMAC_UL_ASS_WAIT_ACK) - { - LOGPTBF(this, LOGL_DEBUG, - "Polling is already scheduled, so we must wait for the uplink assignment...\n"); - return NULL; - } - rc = check_polling(fn, ts, &new_poll_fn, &rrbp); - if (rc < 0) - return NULL; - } + rc = check_polling(fn, ts, &new_poll_fn, &rrbp); + if (rc < 0) + return NULL; /* on uplink TBF we get the downlink TBF to be assigned. */ if (direction == GPRS_RLCMAC_UL_TBF) { @@ -938,16 +933,7 @@ LOGP(DTBF, LOGL_DEBUG, "------------------------- TX : Packet Downlink Assignment -------------------------\n"); bts_do_rate_ctr_inc(bts, CTR_PKT_DL_ASSIGNMENT); - if (poll_ass_dl) { - set_polling(new_poll_fn, ts, PDCH_ULC_POLL_DL_ASS); - } else { - dl_ass_state = GPRS_RLCMAC_DL_ASS_NONE; - TBF_SET_STATE(new_dl_tbf, TBF_ST_FLOW); - tbf_assign_control_ts(new_dl_tbf); - /* stop pending assignment timer */ - new_dl_tbf->t_stop(T0, "assignment (DL-TBF)"); - - } + set_polling(new_poll_fn, ts, PDCH_ULC_POLL_DL_ASS); talloc_free(mac_control_block); return msg; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25010 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibea4100a5dc8bd49303cb6a3d02417038c3d3887 Gerrit-Change-Number: 25010 Gerrit-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 Jul 22 18:26:20 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 22 Jul 2021 18:26:20 +0000 Subject: Change in osmo-pcu[master]: WIP: Move NULL and ASSIGN tbf_state transition to tbf_fsm References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25011 ) Change subject: WIP: Move NULL and ASSIGN tbf_state transition to tbf_fsm ...................................................................... WIP: Move NULL and ASSIGN tbf_state transition to tbf_fsm At some point later in time the state_flags will most probably be split into different variables, one ending up in a different FSM. It is moved so far to the exsiting FSM from the C++ class since it's easier to access it from C and C++ code, and anyway that kind of information belongs to the FSM. Related: OS#2709 Change-Id: I3c62e9e83965cb28065338733f182863e54d7474 --- M src/pcu_vty_functions.cpp M src/pdch.cpp M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp M src/tbf_fsm.c M src/tbf_fsm.h M src/tbf_ul.cpp M tests/alloc/AllocTest.err M tests/tbf/TbfTest.err 10 files changed, 24,858 insertions(+), 134 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/11/25011/1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25011 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3c62e9e83965cb28065338733f182863e54d7474 Gerrit-Change-Number: 25011 Gerrit-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 Jul 22 18:26:21 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 22 Jul 2021 18:26:21 +0000 Subject: Change in osmo-pcu[master]: WIP: Move FLOW tbf_state transition to tbf_fsm. References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25012 ) Change subject: WIP: Move FLOW tbf_state transition to tbf_fsm. ...................................................................... WIP: Move FLOW tbf_state transition to tbf_fsm. Related: OS#2709 Change-Id: Ia8c7de759c195d09263fb1f083fbf6cfa3087f8d --- M src/pdch.cpp M src/tbf.cpp M src/tbf_fsm.c M src/tbf_fsm.h M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err 6 files changed, 317 insertions(+), 99 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/12/25012/1 diff --git a/src/pdch.cpp b/src/pdch.cpp index f53e155..b5622b4 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -368,15 +368,7 @@ tbf->direction == new_tbf->direction) tbf_free(tbf); - if (new_tbf->state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_CCCH)) { - /* We now know that the PACCH really existed */ - LOGPTBF(new_tbf, LOGL_INFO, - "The TBF has been confirmed on the PACCH, " - "changed type from CCCH to PACCH\n"); - osmo_fsm_inst_dispatch(new_tbf->state_fsm.fi, TBF_EV_ASSIGN_DEL_CCCH, NULL); - osmo_fsm_inst_dispatch(new_tbf->state_fsm.fi, TBF_EV_ASSIGN_ADD_PACCH, NULL); - } - TBF_SET_STATE(new_tbf, TBF_ST_FLOW); + osmo_fsm_inst_dispatch(new_tbf->state_fsm.fi, TBF_EV_ASSIGN_ACK_PACCH, NULL); /* stop pending assignment timer */ new_tbf->t_stop(T0, "control acked (DL-TBF)"); if (new_tbf->check_n_clear(GPRS_RLCMAC_FLAG_TO_DL_ASS)) @@ -401,7 +393,7 @@ tbf->direction == new_tbf->direction) tbf_free(tbf); - TBF_SET_STATE(new_tbf, TBF_ST_FLOW); + osmo_fsm_inst_dispatch(new_tbf->state_fsm.fi, TBF_EV_ASSIGN_ACK_PACCH, NULL); if (new_tbf->check_n_clear(GPRS_RLCMAC_FLAG_TO_UL_ASS)) LOGPTBF(new_tbf, LOGL_NOTICE, "Recovered uplink assignment for UL\n"); diff --git a/src/tbf.cpp b/src/tbf.cpp index 6f79e14..8f8c064 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -806,7 +806,7 @@ if (!dl_tbf->upgrade_to_multislot) { /* change state to FLOW, so scheduler * will start transmission */ - TBF_SET_STATE(dl_tbf, TBF_ST_FLOW); + osmo_fsm_inst_dispatch(dl_tbf->state_fsm.fi, TBF_EV_ASSIGN_READY_CCCH, NULL); return; } diff --git a/src/tbf_fsm.c b/src/tbf_fsm.c index d591c31..a049066 100644 --- a/src/tbf_fsm.c +++ b/src/tbf_fsm.c @@ -45,6 +45,8 @@ { TBF_EV_ASSIGN_ADD_PACCH, "ASSIGN_ADD_PACCH" }, { TBF_EV_ASSIGN_DEL_CCCH, "ASSIGN_DEL_CCCH" }, //{ TBF_EV_ASSIGN_DEL_PACCH, "ASSIGN_DEL_PACCH" }, + { TBF_EV_ASSIGN_ACK_PACCH, "ASSIGN_ACK_PACCH" }, + { TBF_EV_ASSIGN_READY_CCCH, "ASSIGN_READY_CCCH" }, { 0, NULL } }; @@ -116,6 +118,21 @@ case TBF_EV_ASSIGN_ADD_PACCH: mod_ass_type(ctx, GPRS_RLCMAC_FLAG_PACCH, true); break; + case TBF_EV_ASSIGN_ACK_PACCH: + if (ctx->state_flags & (1 << GPRS_RLCMAC_FLAG_CCCH)) { + /* We now know that the PACCH really existed */ + LOGPTBF(ctx->tbf, LOGL_INFO, + "The TBF has been confirmed on the PACCH, " + "changed type from CCCH to PACCH\n"); + mod_ass_type(ctx, GPRS_RLCMAC_FLAG_CCCH, false); + mod_ass_type(ctx, GPRS_RLCMAC_FLAG_PACCH, true); + } + tbf_fsm_state_chg(fi, TBF_ST_FLOW); + break; + case TBF_EV_ASSIGN_READY_CCCH: + /* change state to FLOW, so scheduler will start transmission */ + tbf_fsm_state_chg(fi, TBF_ST_FLOW); + break; default: OSMO_ASSERT(0); } @@ -152,7 +169,9 @@ [TBF_ST_ASSIGN] = { .in_event_mask = X(TBF_EV_ASSIGN_ADD_CCCH) | - X(TBF_EV_ASSIGN_ADD_PACCH), + X(TBF_EV_ASSIGN_ADD_PACCH) | + X(TBF_EV_ASSIGN_ACK_PACCH) | + X(TBF_EV_ASSIGN_READY_CCCH), .out_state_mask = X(TBF_ST_FLOW) | X(TBF_ST_FINISHED) | diff --git a/src/tbf_fsm.h b/src/tbf_fsm.h index 0e280d1..677f735 100644 --- a/src/tbf_fsm.h +++ b/src/tbf_fsm.h @@ -31,6 +31,8 @@ TBF_EV_ASSIGN_ADD_PACCH, TBF_EV_ASSIGN_DEL_CCCH, //TBF_EV_ASSIGN_DEL_PACCH, + TBF_EV_ASSIGN_ACK_PACCH, /* We received a CTRL ACK confirming assignment started on PACCH */ + TBF_EV_ASSIGN_READY_CCCH, /* TBF Start Time timer triggered */ }; enum tbf_fsm_states { diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index 5065e90..afae1ac 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -205,7 +205,8 @@ /* "Establish" the DL TBF */ TBF_SET_ASS_STATE_DL(dl_tbf, GPRS_RLCMAC_DL_ASS_SEND_ASS); - TBF_SET_STATE(dl_tbf, TBF_ST_FLOW); + osmo_fsm_inst_dispatch(dl_tbf->state_fsm.fi, TBF_EV_ASSIGN_ADD_CCCH, NULL); + osmo_fsm_inst_dispatch(dl_tbf->state_fsm.fi, TBF_EV_ASSIGN_ACK_PACCH, NULL); dl_tbf->m_wait_confirm = 0; check_tbf(dl_tbf); diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index a023465..f2beb1f 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -63,7 +63,14 @@ MS(TLLI=0xffffffff, IMSI=, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) appending 200 bytes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) appending 200 bytes @@ -72,7 +79,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduled DL Assignment polling on PACCH (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -161,7 +168,14 @@ MS(TLLI=0xffffffff, IMSI=, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) appending 200 bytes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) appending 200 bytes @@ -170,7 +184,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduled DL Assignment polling on PACCH (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -259,7 +273,14 @@ MS(TLLI=0xffffffff, IMSI=, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) appending 200 bytes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) appending 200 bytes @@ -268,7 +289,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduled DL Assignment polling on PACCH (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -446,7 +467,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 20) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 91 + 13 = 104 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduled DL Acknowledgement polling on UNKNOWN (FN=104, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduled DL Acknowledgement polling on PACCH (FN=104, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduled Ack/Nack polling on FN=104, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 20, CS-1): 0f 00 28 09 c6 c7 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink acknowledge @@ -469,7 +490,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) Copying data unit 0 (BSN 21) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 203 + 13 = 216 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) Scheduled DL Acknowledgement polling on UNKNOWN (FN=216, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) Scheduled DL Acknowledgement polling on PACCH (FN=216, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) starting timer T3191 [final block (DL-TBF)] with 5 sec. 0 microsec, cur_fn=2654167 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) Scheduled Ack/Nack polling on FN=216, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) msg block (BSN 21, CS-1): 0f 01 2a 4d 43 c0 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b @@ -512,7 +533,14 @@ MS(TLLI=0xffffffff, IMSI=, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW Creating MS object, TLLI = 0xffffffff Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 45 Found first unallocated TRX=0 TFI=1 @@ -534,7 +562,14 @@ MS(TLLI=0xffffffff, IMSI=, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=NULL) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_1){NULL}: state_chg to FLOW +TBF(DL-TFI_1){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_1){NULL}: state_chg to ASSIGN +TBF(DL-TFI_1){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=ASSIGN) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=ASSIGN) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=ASSIGN) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_1){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xf1000001, partly confirmed The MS object cannot fully confirm an unexpected TLLI: 0xf1000002, partly confirmed Modifying MS object, TLLI = 0xf1000001, IMSI '' -> '001001000000001' @@ -1691,6 +1726,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) FN=2654283 Rx Packet Control Ack (reason=UL_ASS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE +TBF(UL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH TBF(UL-TFI_0){ASSIGN}: state_chg to FLOW Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 @@ -1778,6 +1814,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) FN=2654283 Rx Packet Control Ack (reason=UL_ASS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE +TBF(UL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH TBF(UL-TFI_0){ASSIGN}: state_chg to FLOW Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 @@ -1830,6 +1867,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) FN=2654288 Rx Packet Control Ack (reason=DL_ASS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) [UPLINK] DOWNLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) stopping timer T0 [control acked (DL-TBF)] PDCH(bts=0,trx=0,ts=7) Expiring FN=2654288 but previous FN=2654279 is still reserved! @@ -1935,6 +1973,7 @@ TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) FN=2654361 Rx Packet Control Ack (reason=UL_ASS) TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE +TBF(UL-TFI_1){ASSIGN}: Received Event ASSIGN_ACK_PACCH TBF(UL-TFI_1){ASSIGN}: state_chg to FLOW PDCH(bts=0,trx=0,ts=7) Expiring FN=2654361 but previous FN=2654353 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654353): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) @@ -2014,6 +2053,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) FN=2654283 Rx Packet Control Ack (reason=UL_ASS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE +TBF(UL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH TBF(UL-TFI_0){ASSIGN}: state_chg to FLOW Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 @@ -2103,6 +2143,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) FN=2654340 Rx Packet Control Ack (reason=UL_ASS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE +TBF(UL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH TBF(UL-TFI_0){ASSIGN}: state_chg to FLOW Detected FN jump! 2654340 -> 2654331 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 @@ -2164,6 +2205,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) FN=2654283 Rx Packet Control Ack (reason=UL_ASS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE +TBF(UL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH TBF(UL-TFI_0){ASSIGN}: state_chg to FLOW Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 @@ -2317,6 +2359,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) FN=2654283 Rx Packet Control Ack (reason=UL_ASS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE +TBF(UL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH TBF(UL-TFI_0){ASSIGN}: state_chg to FLOW Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 @@ -2409,6 +2452,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) FN=2654288 Rx Packet Control Ack (reason=DL_ASS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) [UPLINK] DOWNLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) stopping timer T0 [control acked (DL-TBF)] PDCH(bts=0,trx=0,ts=7) Expiring FN=2654288 but previous FN=2654279 is still reserved! @@ -3087,6 +3131,7 @@ MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL DL) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=RELEASING) ********** DL-TBF ends here ********** TBF(DL-TFI_0){RELEASING}: Deallocated +TBF(DL-TFI_1){ASSIGN}: Received Event ASSIGN_ACK_PACCH TBF(DL-TFI_1){ASSIGN}: state_chg to FLOW TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) stopping timer T0 [control acked (DL-TBF)] PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654383 is still reserved! @@ -3464,6 +3509,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) FN=2654283 Rx Packet Control Ack (reason=UL_ASS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE +TBF(UL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH TBF(UL-TFI_0){ASSIGN}: state_chg to FLOW Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 @@ -3559,6 +3605,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) FN=2654283 Rx Packet Control Ack (reason=UL_ASS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE +TBF(UL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH TBF(UL-TFI_0){ASSIGN}: state_chg to FLOW Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 @@ -3747,7 +3794,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 10 bytes PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 0 + 13 = 13 @@ -3755,7 +3809,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on PACCH (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -3770,7 +3824,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 4 + 13 = 17 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=17, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=17, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=17, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-1): 0f 00 00 16 28 fe 03 02 02 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 00 Detected FN jump! 2654167 -> 8 @@ -3939,7 +3993,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 20) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because 20 blocks sent. PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 91 + 13 = 104 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=104, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=104, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=104, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 20, MCS-1): 0f 00 05 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 PDCH(bts=0,trx=0,ts=4) FN=95 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS @@ -3979,19 +4033,19 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 24) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 108 + 13 = 121 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=121, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=121, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=121, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 24, MCS-1): 0f 00 06 16 18 fe 03 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 Detected FN jump! 8 -> 112 PDCH(bts=0,trx=0,ts=4) Expiring FN=112 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 112) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) PDCH(bts=0,trx=0,ts=4) Expiring FN=112 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 112) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) PDCH(bts=0,trx=0,ts=4) Expiring FN=112 but previous FN=104 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=104): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) @@ -4038,7 +4092,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 10 bytes PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 0 + 13 = 13 @@ -4046,7 +4107,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on PACCH (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -4061,7 +4122,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 4 + 13 = 17 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=17, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=17, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=17, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-2): 0f 00 00 12 28 fe 03 02 02 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 Detected FN jump! 112 -> 8 @@ -4225,19 +4286,19 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 19) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 86 + 13 = 99 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=99, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=99, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=99, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 19, MCS-2): 0f c0 04 12 20 fe 03 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 Detected FN jump! 8 -> 91 PDCH(bts=0,trx=0,ts=4) Expiring FN=91 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 91) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) PDCH(bts=0,trx=0,ts=4) Expiring FN=91 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 91) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. @@ -4280,7 +4341,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 10 bytes PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 0 + 13 = 13 @@ -4288,7 +4356,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on PACCH (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -4303,7 +4371,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 4 + 13 = 17 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=17, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=17, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=17, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-3): 0f 00 00 06 28 fe 03 02 02 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 Detected FN jump! 91 -> 8 @@ -4427,19 +4495,19 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 14) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 65 + 13 = 78 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=78, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=78, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=78, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 14, MCS-3): 0f 80 03 06 7c fe 03 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 56 56 56 56 00 Detected FN jump! 8 -> 69 PDCH(bts=0,trx=0,ts=4) Expiring FN=69 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 69) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) PDCH(bts=0,trx=0,ts=4) Expiring FN=69 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 69) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. @@ -4482,7 +4550,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 10 bytes PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 0 + 13 = 13 @@ -4490,7 +4565,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on PACCH (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -4505,7 +4580,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 4 + 13 = 17 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=17, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=17, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=17, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-4): 0f 00 00 00 28 fe 03 02 02 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 Detected FN jump! 69 -> 8 @@ -4613,19 +4688,19 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 12) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 56 + 13 = 69 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=69, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=69, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=69, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 12, MCS-4): 0f 00 03 00 70 fe 03 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 Detected FN jump! 8 -> 60 PDCH(bts=0,trx=0,ts=4) Expiring FN=60 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 60) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) PDCH(bts=0,trx=0,ts=4) Expiring FN=60 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 60) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. @@ -4668,7 +4743,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 10 bytes PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 0 + 13 = 13 @@ -4676,7 +4758,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on PACCH (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -4691,7 +4773,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 4 + 13 = 17 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=17, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=17, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=17, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-5): 0f 00 00 08 c5 7f 40 40 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a Detected FN jump! 60 -> 8 @@ -4783,19 +4865,19 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 47 + 13 = 60 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=60, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=60, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=60, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 10, MCS-5): 0f 80 02 08 c4 7f 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a Detected FN jump! 8 -> 52 PDCH(bts=0,trx=0,ts=4) Expiring FN=52 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 52) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) PDCH(bts=0,trx=0,ts=4) Expiring FN=52 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 52) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. @@ -4838,7 +4920,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 10 bytes PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 0 + 13 = 13 @@ -4846,7 +4935,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on PACCH (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -4861,7 +4950,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 4 + 13 = 17 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=17, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=17, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=17, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-6): 0f 00 00 00 c5 7f 40 40 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a Detected FN jump! 52 -> 8 @@ -4929,19 +5018,19 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 7) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 34 + 13 = 47 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=47, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=47, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=47, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 7, MCS-6): 0f c0 01 00 e2 7f 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 c0 ca ca ca 0a Detected FN jump! 8 -> 39 PDCH(bts=0,trx=0,ts=4) Expiring FN=39 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 39) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) PDCH(bts=0,trx=0,ts=4) Expiring FN=39 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 39) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. @@ -4984,7 +5073,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 10 bytes PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 0 + 13 = 13 @@ -4992,7 +5088,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on PACCH (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -5008,7 +5104,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 4 + 13 = 17 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=17, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=17, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=17, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-5): 0f 00 00 08 c5 7f 40 40 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a Detected FN jump! 39 -> 8 @@ -5084,19 +5180,19 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 30 + 13 = 43 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=43, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=43, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=43, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 10, MCS-5): 0f 80 02 08 c4 7f 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a Detected FN jump! 8 -> 34 PDCH(bts=0,trx=0,ts=4) Expiring FN=34 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 34) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) PDCH(bts=0,trx=0,ts=4) Expiring FN=34 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 34) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. @@ -5139,7 +5235,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 10 bytes PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 0 + 13 = 13 @@ -5147,7 +5250,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on PACCH (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -5164,7 +5267,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 1 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 4 + 13 = 17 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=17, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=17, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=17, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-8): 0f 00 00 00 60 50 fc 07 04 04 04 04 04 04 04 04 04 ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac 40 f1 1f 10 10 10 10 10 10 10 10 10 b0 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 02 Detected FN jump! 34 -> 8 @@ -5230,19 +5333,19 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 1 (BSN 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 26 + 13 = 39 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=39, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=39, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=39, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 8, MCS-8): 0f 00 02 00 60 20 fd 07 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac 80 f4 1f 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 b0 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 02 Detected FN jump! 8 -> 30 PDCH(bts=0,trx=0,ts=4) Expiring FN=30 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 30) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) PDCH(bts=0,trx=0,ts=4) Expiring FN=30 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 30) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. @@ -5285,7 +5388,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 10 bytes PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 0 + 13 = 13 @@ -5293,7 +5403,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on PACCH (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -5309,7 +5419,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 4 + 13 = 17 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=17, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=17, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=17, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-6): 0f 00 00 00 c5 7f 40 40 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a Detected FN jump! 30 -> 8 @@ -5365,19 +5475,19 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 1 (BSN 7) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 21 + 13 = 34 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=34, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=34, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=34, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 6, MCS-9): 0f 80 01 02 00 05 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 80 f8 1f 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 b0 b2 b2 b2 02 Detected FN jump! 8 -> 26 PDCH(bts=0,trx=0,ts=4) Expiring FN=26 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 26) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) PDCH(bts=0,trx=0,ts=4) Expiring FN=26 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 26) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. @@ -5422,7 +5532,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 100 bytes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -5482,7 +5599,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 100 bytes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -5541,7 +5665,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 100 bytes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -5600,7 +5731,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 100 bytes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -5622,7 +5760,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 8 + 13 = 21 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=21, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=21, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=21, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-5): 0f 40 00 08 d6 3f 4e 8e ce 0e 4f 8f cf 0f 50 90 d0 10 51 91 d1 11 52 92 d2 12 53 93 d3 13 54 94 d4 14 55 95 d5 15 56 96 d6 16 57 97 d7 17 58 98 d8 d8 ca ca ca ca ca ca ca ca ca 0a TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS @@ -5639,7 +5777,7 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=63 but previous FN=21 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=21): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=21, TS=4 (curr FN 63) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. @@ -5682,7 +5820,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 100 bytes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -5704,7 +5849,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 8 + 13 = 21 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=21, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=21, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=21, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-6): 0f 40 00 00 cd bf d2 12 53 93 d3 13 54 94 d4 14 55 95 d5 15 56 96 d6 16 57 97 d7 17 58 98 d8 d8 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS @@ -5720,7 +5865,7 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=63 but previous FN=21 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=21): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=21, TS=4 (curr FN 63) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. @@ -5763,7 +5908,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 100 bytes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -5781,7 +5933,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 1 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 4 + 13 = 17 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=17, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=17, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=17, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-7): 0f 00 00 02 a0 01 04 08 0c 10 14 18 1c 20 24 28 2c 30 34 38 3c 40 44 48 4c 50 54 58 5c 60 64 68 6c 70 74 78 7c 80 84 88 8c 90 94 98 9c a0 a4 a8 ac b0 b4 b8 bc c0 c4 c8 cc d0 d4 d8 dc 80 f5 8f 93 a3 b3 c3 d3 e3 f3 03 14 24 34 44 54 64 74 84 94 a4 b4 c4 d4 e4 f4 04 15 25 35 45 55 65 75 85 95 a5 b5 c5 d5 e5 f5 05 16 26 36 b6 b2 b2 b2 b2 b2 b2 b2 b2 b2 02 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS @@ -5801,7 +5953,7 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=63 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 63) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. @@ -5844,7 +5996,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 100 bytes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -5862,7 +6021,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 1 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 4 + 13 = 17 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=17, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=17, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=17, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-9): 0f 00 00 02 00 01 04 08 0c 10 14 18 1c 20 24 28 2c 30 34 38 3c 40 44 48 4c 50 54 58 5c 60 64 68 6c 70 74 78 7c 80 84 88 8c 90 94 98 9c a0 a4 a8 ac b0 b4 b8 bc c0 c4 c8 cc d0 d4 d8 dc e0 e4 e8 ec f0 f4 f8 fc 00 05 09 0d 11 15 19 1d 21 25 41 f3 af b4 c4 d4 e4 f4 04 15 25 35 45 55 65 75 85 95 a5 b5 c5 d5 e5 f5 05 16 26 36 b6 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 02 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS @@ -5882,7 +6041,7 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=63 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 63) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. @@ -5927,7 +6086,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 100 bytes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -5993,7 +6159,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 100 bytes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -6059,7 +6232,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 100 bytes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -6125,7 +6305,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 100 bytes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -6225,6 +6412,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) FN=2654283 Rx Packet Control Ack (reason=UL_ASS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE +TBF(UL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH TBF(UL-TFI_0){ASSIGN}: state_chg to FLOW Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 @@ -6394,6 +6582,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) FN=2654283 Rx Packet Control Ack (reason=UL_ASS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE +TBF(UL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH TBF(UL-TFI_0){ASSIGN}: state_chg to FLOW Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=1, SI=0, TFI=0, CPS=5, RSB=0, rc=385 @@ -6475,7 +6664,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed ws(480) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge @@ -6740,6 +6936,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) FN=2654283 Rx Packet Control Ack (reason=UL_ASS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE +TBF(UL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH TBF(UL-TFI_0){ASSIGN}: state_chg to FLOW Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 @@ -7940,7 +8137,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 100 bytes packet reject: 40 84 7f f7 6e e6 7e ab 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25012 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia8c7de759c195d09263fb1f083fbf6cfa3087f8d Gerrit-Change-Number: 25012 Gerrit-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 Jul 22 18:28:49 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 22 Jul 2021 18:28:49 +0000 Subject: Change in osmo-bsc[master]: Introduce VTY option to forbid use of TCH for non-voicecall signalling In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25006 ) Change subject: Introduce VTY option to forbid use of TCH for non-voicecall signalling ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25006 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib08027125145df26602069bfb51847063b0ccc0c Gerrit-Change-Number: 25006 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 22 Jul 2021 18: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 Thu Jul 22 18:31:49 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 22 Jul 2021 18:31:49 +0000 Subject: Change in libosmocore[master]: vty: clear screen with ^L References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/25013 ) Change subject: vty: clear screen with ^L ...................................................................... vty: clear screen with ^L Use ANSI escape characters to clear the screen with ^L, like it works in typical Linux shells. I always found it slightly inconvenient that this didn't work in the VTY. Change-Id: Ie2356cd92f39b4dc28b5c20bbe4557fb0d972747 --- M src/vty/vty.c 1 file changed, 17 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/13/25013/1 diff --git a/src/vty/vty.c b/src/vty/vty.c index 76c6ef5..a39f268 100644 --- a/src/vty/vty.c +++ b/src/vty/vty.c @@ -459,6 +459,7 @@ static const char telnet_backward_char = 0x08; static const char telnet_space_char = ' '; +static const char telnet_escape_char = 0x1B; /* Basic function to write buffer to vty. */ static void vty_write(struct vty *vty, const char *buf, size_t nbytes) @@ -858,6 +859,19 @@ vty->cp = 0; } +/* When '^L' is typed, clear all lines above the current one. */ +static void vty_clear_screen(struct vty *vty) +{ + vty_out(vty, "%c%s%c%s", + telnet_escape_char, + "[2J", /* Erase Screen */ + telnet_escape_char, + "[H" /* Cursor Home */ + ); + vty_prompt(vty); + vty_redraw_line(vty); +} + /* When '^Z' is received from vty, move down to the enable mode. */ static void vty_end_config(struct vty *vty) { @@ -1402,6 +1416,9 @@ case CONTROL('K'): vty_kill_line(vty); break; + case CONTROL('L'): + vty_clear_screen(vty); + break; case CONTROL('N'): vty_next_line(vty); break; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25013 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie2356cd92f39b4dc28b5c20bbe4557fb0d972747 Gerrit-Change-Number: 25013 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 Jul 23 01:40:04 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 23 Jul 2021 01:40:04 +0000 Subject: Change in osmo-bsc[master]: Introduce VTY option to forbid use of TCH for non-voicecall signalling In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25006 ) Change subject: Introduce VTY option to forbid use of TCH for non-voicecall signalling ...................................................................... Patch Set 3: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/25006/3//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bsc/+/25006/3//COMMIT_MSG at 21 PS3, Line 21: forbiding lol : ) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25006 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib08027125145df26602069bfb51847063b0ccc0c Gerrit-Change-Number: 25006 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 23 Jul 2021 01:40: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 Jul 23 01:52:38 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 23 Jul 2021 01:52:38 +0000 Subject: Change in osmo-bsc[master]: Introduce libbsc to avoid linking long lists of .o files In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24981 ) Change subject: Introduce libbsc to avoid linking long lists of .o files ...................................................................... Patch Set 5: Code-Review+2 funny because once upon a time we *had* a libbsc, in the same way we still have a libmsc in osmo-msc/src. It had a separate src/libbsc dir and was the common part to share between the different utils related to the BSC, originating from osmo-nitb. At some point we moved all the remaining source files into osmo-bsc/src/osmo-bsc and got rid of libbsc. I think that was also when a lot of the direct .o linking came about? Now libbsc is born again in the src/osmo-bsc/ dir, now containing all the objects that the osmo-bsc program uses. libmsc is pretty much the same as this new libbsc, just it still lives in a separate src dir. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24981 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If91dc589ea1e476da105b58846d1c3e720a439e1 Gerrit-Change-Number: 24981 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 23 Jul 2021 01:52: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 Jul 23 02:00:21 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 23 Jul 2021 02:00:21 +0000 Subject: Change in osmo-bsc[master]: Split bts_vty.c creating bts_trx_vty.c In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24980 ) Change subject: Split bts_vty.c creating bts_trx_vty.c ...................................................................... Patch Set 3: (2 comments) ok, but why? any functional reason? in osmo-bsc, i recently moved osmo_bsc_vty.c into bsc_vty.c to have less file splits and find DEFUNs easier. same as i still do with my two bicycle bags: i always looked in the first, didn't find it, then looked in the other, still didn't find it, to finally do find it in the first... https://gerrit.osmocom.org/c/osmo-bsc/+/24980/3/src/osmo-bsc/bts_trx_vty.c File src/osmo-bsc/bts_trx_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/24980/3/src/osmo-bsc/bts_trx_vty.c at 1 PS3, Line 1: /* OsmoBSC interface to quagga VTY, BTS node */ TRX node? https://gerrit.osmocom.org/c/osmo-bsc/+/24980/3/src/osmo-bsc/bts_trx_vty.c at 2 PS3, Line 2: /* (C) 2009-2017 by Harald Welte new date? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24980 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I15ec8f71a5d31915162cb3ad75ea77e934fa4887 Gerrit-Change-Number: 24980 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-CC: neels Gerrit-Comment-Date: Fri, 23 Jul 2021 02:00:21 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 02:04:16 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 23 Jul 2021 02:04:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: properly f_rslem_unregister() released channels References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25014 ) Change subject: bsc: properly f_rslem_unregister() released channels ...................................................................... bsc: properly f_rslem_unregister() released channels After the RSL RF Release has happened, by definition the RSL_Emulation should no longer direct RSL messages on that chan_nr to the test component that used to own the chan_nr in the ConnectionTable. Before this patch, re-using e.g. an already freed SDCCH would result in non-obvious test failure. This is most relevant for generic functions called from various tests, but fixing all occurences anyway. Related: SYS#5130 Change-Id: I764ea2ed9af9358adeb42d7ed46b84f30f1e224c --- M bsc/BSC_Tests.ttcn 1 file changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/14/25014/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index ae805e3..a56c03e 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -4939,10 +4939,12 @@ [] RSL.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) {} [] RSL.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) { RSL.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr)); + f_rslem_unregister(0, g_chan_nr); } [] RSL1.receive(tr_RSL_DEACT_SACCH(new_chan_nr)) {} [] RSL1.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) { RSL1.send(ts_RSL_RF_CHAN_REL_ACK(new_chan_nr)); + f_rslem_unregister(0, g_chan_nr, PT := RSL1_PROC); } [] BSSAP.receive(tr_BSSMAP_ClearComplete) {} } @@ -5324,6 +5326,7 @@ [] RSL.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) { log("Got RF Chan Rel"); RSL.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr)); + f_rslem_unregister(0, g_chan_nr); } } @@ -7113,6 +7116,7 @@ [] rsl.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) { f_logp(BSCVTY, "Got RSL RF Chan Rel, sending Rel Ack"); rsl.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr)); + f_rslem_unregister(0, g_chan_nr); break; } } @@ -7137,6 +7141,7 @@ [] rsl.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) { f_logp(BSCVTY, "Got RSL RF Chan Rel, sending Rel Ack"); rsl.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr)); + f_rslem_unregister(0, g_chan_nr); } } } @@ -9082,6 +9087,7 @@ [] RSL.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) { f_logp(BSCVTY, "Got RSL RF Chan Rel, sending Rel Ack"); RSL.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr)); + f_rslem_unregister(0, g_chan_nr); } } setverdict(pass); @@ -9258,6 +9264,7 @@ [] RSL.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) {} [] RSL.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) { RSL.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr)); + f_rslem_unregister(0, g_chan_nr); } [] BSSAP.receive(tr_BSSMAP_ClearComplete) { BSSAP.send(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_REQ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25014 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I764ea2ed9af9358adeb42d7ed46b84f30f1e224c Gerrit-Change-Number: 25014 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 02:04:17 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 23 Jul 2021 02:04:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: f_expect_dlcx_conns(): do not rx Clear Complete References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25015 ) Change subject: bsc: f_expect_dlcx_conns(): do not rx Clear Complete ...................................................................... bsc: f_expect_dlcx_conns(): do not rx Clear Complete The function f_expect_dlcx_conns() is clearly related to MGCP, and semantically should not interfere with BSSAP by also receiving the Clear Complete. For some tests, this incidentally makes sense, but an upcoming test failed in a non-obvious way because of this. Related: SYS#5130 Change-Id: I637414f4db8ea7c4b59aaee205d65926574b5ccd --- M bsc/BSC_Tests.ttcn 1 file changed, 10 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/15/25015/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index a56c03e..c764bcf 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -5004,8 +5004,6 @@ MGCP_MULTI.send(t_MGCP_SendToMrf(mrf, msg_resp)); }; } - - BSSAP.receive(tr_BSSMAP_ClearComplete); } private function f_ho_out_of_this_bsc(template (omit) BSSMAP_oldToNewBSSIEs exp_oldToNewBSSIEs := omit) runs on MSC_ConnHdlr { @@ -5058,6 +5056,7 @@ [] RSL.receive(tr_RSL_DATA_REQ(g_chan_nr, ?, decmatch tr_RRM_RR_RELEASE)); [] RSL.receive(tr_RSL_DEACT_SACCH(g_chan_nr)); [] RSL.receive(tr_RSL_RF_CHAN_REL(g_chan_nr)); + [] BSSAP.receive(tr_BSSMAP_ClearComplete); } setverdict(pass); } @@ -5331,6 +5330,7 @@ } f_expect_dlcx_conns(); + BSSAP.receive(tr_BSSMAP_ClearComplete); setverdict(pass); f_sleep(1.0); @@ -5641,6 +5641,8 @@ BSSAP.send(ts_BSSMAP_ClearCommand(cause)); f_expect_dlcx_conns(); + BSSAP.receive(tr_BSSMAP_ClearComplete); + setverdict(pass); f_sleep(1.0); @@ -5732,6 +5734,8 @@ BSSAP.send(ts_BSSMAP_ClearCommand(cause)); f_expect_dlcx_conns(); + BSSAP.receive(tr_BSSMAP_ClearComplete); + f_sleep(1.0); } testcase TC_ho_in_fail_msc_clears_after_ho_detect() runs on test_CT { @@ -5819,6 +5823,8 @@ BSSAP.send(ts_BSSMAP_ClearCommand(cause)); f_expect_dlcx_conns(); + BSSAP.receive(tr_BSSMAP_ClearComplete); + f_sleep(1.0); } testcase TC_ho_in_fail_no_detect() runs on test_CT { @@ -5898,6 +5904,8 @@ BSSAP.send(ts_BSSMAP_ClearCommand(cause)); }; f_expect_dlcx_conns(); + BSSAP.receive(tr_BSSMAP_ClearComplete); + f_sleep(1.0); } testcase TC_ho_in_fail_no_detect2() runs on test_CT { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25015 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I637414f4db8ea7c4b59aaee205d65926574b5ccd Gerrit-Change-Number: 25015 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 02:04:17 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 23 Jul 2021 02:04:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add RSL port args in MSC_ConnHdlr, RSLEM References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25016 ) Change subject: bsc: add RSL port args in MSC_ConnHdlr, RSLEM ...................................................................... bsc: add RSL port args in MSC_ConnHdlr, RSLEM Add explicit RSL_DCHAN_PT and RSLEM_PROC_PT args to functions and altsteps related to channel establishment and assignment. This allows establishing and assigning a channel on cells other than bts 0. This is required for upcoming BSC_Tests.TC_cm_reestablishment(). Related: SYS#5130 Change-Id: Ic3206b7125ee22bf98330080d9b136cefe7da03f --- M bsc/MSC_ConnectionHandler.ttcn M library/RSL_Emulation.ttcn 2 files changed, 37 insertions(+), 36 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/16/25016/1 diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index fc12307..af93343 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -187,11 +187,11 @@ /* altstep for handling of IPACC media related commands. Activated by as_Media() to test * RSL level media handling */ -altstep as_Media_ipacc() runs on MSC_ConnHdlr { +altstep as_Media_ipacc(RSL_DCHAN_PT rsl_pt := RSL, RSL_DCHAN_PT rsl_pt_ho_target := RSL1) runs on MSC_ConnHdlr { var RSL_Message rsl; var RSL_IE_Body ie; var boolean b_unused; - [not g_media.bts.ipa_crcx_seen] RSL.receive(tr_RSL_IPA_CRCX(g_chan_nr)) -> value rsl { + [not g_media.bts.ipa_crcx_seen] rsl_pt.receive(tr_RSL_IPA_CRCX(g_chan_nr)) -> value rsl { /* Extract parameters from request + use in response */ if (f_rsl_find_ie(rsl, RSL_IE_IPAC_RTP_PAYLOAD, ie)) { g_media.bts.rtp_pt := ie.ipa_rtp_pt; @@ -199,14 +199,14 @@ if (f_rsl_find_ie(rsl, RSL_IE_IPAC_RTP_PAYLOAD2, ie)) { g_media.bts.rtp_pt := ie.ipa_rtp_pt2; } - RSL.send(ts_RSL_IPA_CRCX_ACK(g_chan_nr, g_media.bts.conn_id, + rsl_pt.send(ts_RSL_IPA_CRCX_ACK(g_chan_nr, g_media.bts.conn_id, f_inet_addr(g_media.bts.bts.host), g_media.bts.bts.port_nr, g_media.bts.rtp_pt)); g_media.bts.ipa_crcx_seen := true; repeat; } - [g_media.bts.ipa_crcx_seen] RSL.receive(tr_RSL_IPA_MDCX(g_chan_nr, ?)) -> value rsl{ + [g_media.bts.ipa_crcx_seen] rsl_pt.receive(tr_RSL_IPA_MDCX(g_chan_nr, ?)) -> value rsl{ /* Extract conn_id, ip, port, rtp_pt2 from request + use in response */ b_unused := f_rsl_find_ie(rsl, RSL_IE_IPAC_CONN_ID, ie); if (g_media.bts.conn_id != ie.ipa_conn_id) { @@ -224,7 +224,7 @@ if (f_rsl_find_ie(rsl, RSL_IE_IPAC_RTP_PAYLOAD2, ie)) { g_media.bts.rtp_pt := ie.ipa_rtp_pt2; } - RSL.send(ts_RSL_IPA_MDCX_ACK(g_chan_nr, g_media.bts.conn_id, + rsl_pt.send(ts_RSL_IPA_MDCX_ACK(g_chan_nr, g_media.bts.conn_id, f_inet_addr(g_media.bts.peer.host), g_media.bts.peer.port_nr, g_media.bts.rtp_pt)); @@ -233,7 +233,7 @@ } /* on second (new) BTS during hand-over */ - [not g_media.bts1.ipa_crcx_seen] RSL1.receive(tr_RSL_IPA_CRCX(g_chan_nr)) -> value rsl { + [not g_media.bts1.ipa_crcx_seen] rsl_pt_ho_target.receive(tr_RSL_IPA_CRCX(g_chan_nr)) -> value rsl { /* Extract parameters from request + use in response */ if (f_rsl_find_ie(rsl, RSL_IE_IPAC_RTP_PAYLOAD, ie)) { g_media.bts1.rtp_pt := ie.ipa_rtp_pt; @@ -241,7 +241,7 @@ if (f_rsl_find_ie(rsl, RSL_IE_IPAC_RTP_PAYLOAD2, ie)) { g_media.bts1.rtp_pt := ie.ipa_rtp_pt2; } - RSL1.send(ts_RSL_IPA_CRCX_ACK(g_chan_nr, g_media.bts1.conn_id, + rsl_pt_ho_target.send(ts_RSL_IPA_CRCX_ACK(g_chan_nr, g_media.bts1.conn_id, f_inet_addr(g_media.bts1.bts.host), g_media.bts1.bts.port_nr, g_media.bts1.rtp_pt)); @@ -249,7 +249,7 @@ repeat; } /* on second (new) BTS during hand-over */ - [g_media.bts1.ipa_crcx_seen] RSL1.receive(tr_RSL_IPA_MDCX(g_chan_nr, ?)) -> value rsl{ + [g_media.bts1.ipa_crcx_seen] rsl_pt_ho_target.receive(tr_RSL_IPA_MDCX(g_chan_nr, ?)) -> value rsl{ /* Extract conn_id, ip, port, rtp_pt2 from request + use in response */ b_unused := f_rsl_find_ie(rsl, RSL_IE_IPAC_CONN_ID, ie); if (g_media.bts1.conn_id != ie.ipa_conn_id) { @@ -267,7 +267,7 @@ if (f_rsl_find_ie(rsl, RSL_IE_IPAC_RTP_PAYLOAD2, ie)) { g_media.bts1.rtp_pt := ie.ipa_rtp_pt2; } - RSL1.send(ts_RSL_IPA_MDCX_ACK(g_chan_nr, g_media.bts1.conn_id, + rsl_pt_ho_target.send(ts_RSL_IPA_MDCX_ACK(g_chan_nr, g_media.bts1.conn_id, f_inet_addr(g_media.bts1.peer.host), g_media.bts1.peer.port_nr, g_media.bts1.rtp_pt)); @@ -654,17 +654,17 @@ } function f_rsl_send_l3(template PDU_ML3_MS_NW l3, template (omit) RslLinkId link_id := omit, - template (omit) RslChannelNr chan_nr := omit) runs on MSC_ConnHdlr { + template (omit) RslChannelNr chan_nr := omit, RSL_DCHAN_PT rsl_pt := RSL) runs on MSC_ConnHdlr { if (not isvalue(link_id)) { link_id := ts_RslLinkID_DCCH(0); } if (not isvalue(chan_nr)) { chan_nr := g_chan_nr; } - RSL.send(ts_RSL_DATA_IND(valueof(chan_nr), valueof(link_id), enc_PDU_ML3_MS_NW(valueof(l3)))); + rsl_pt.send(ts_RSL_DATA_IND(valueof(chan_nr), valueof(link_id), enc_PDU_ML3_MS_NW(valueof(l3)))); } -function f_rsl_reply(template PDU_ML3_MS_NW l3, RSL_Message orig) runs on MSC_ConnHdlr { +function f_rsl_reply(template PDU_ML3_MS_NW l3, RSL_Message orig, RSL_DCHAN_PT rsl_pt := RSL) runs on MSC_ConnHdlr { var RslChannelNr chan_nr := orig.ies[0].body.chan_nr; var RslLinkId link_id; if (orig.msg_type == RSL_MT_ENCR_CMD) { @@ -672,7 +672,7 @@ } else { link_id := orig.ies[1].body.link_id; } - f_rsl_send_l3(l3, link_id, chan_nr); + f_rsl_send_l3(l3, link_id, chan_nr, rsl_pt := rsl_pt); } /* Convert the cipher representation on BSSMAP to the representation used on RSL */ @@ -783,7 +783,8 @@ setverdict(pass); } -function f_cipher_mode(TestHdlrEncrParams enc, boolean exp_fail := false) +function f_cipher_mode(TestHdlrEncrParams enc, boolean exp_fail := false, + RSL_DCHAN_PT rsl_pt := RSL, RSLEM_PROC_PT rsl_proc_pt := RSL_PROC) runs on MSC_ConnHdlr { var PDU_BSSAP bssap; var RSL_Message rsl; @@ -796,14 +797,14 @@ alt { /* RSL/UE Side */ - [] RSL.receive(tr_RSL_ENCR_CMD(g_chan_nr)) -> value rsl { + [] rsl_pt.receive(tr_RSL_ENCR_CMD(g_chan_nr)) -> value rsl { var PDU_ML3_NW_MS l3 := dec_PDU_ML3_NW_MS(rsl.ies[3].body.l3_info.payload); log("Rx L3 from net: ", l3); f_verify_encr_info(rsl); if (ischosen(l3.msgs.rrm.cipheringModeCommand)) { - f_rsl_reply(ts_RRM_CiphModeCompl, rsl); + f_rsl_reply(ts_RRM_CiphModeCompl, rsl, rsl_pt := rsl_pt); } repeat; } @@ -956,9 +957,9 @@ return tsc; } -altstep as_assignment(inout AssignmentState st) runs on MSC_ConnHdlr { +altstep as_assignment(inout AssignmentState st, RSL_DCHAN_PT rsl_pt := RSL, RSLEM_PROC_PT rsl_proc_pt := RSL_PROC) runs on MSC_ConnHdlr { var RSL_Message rsl; - [not st.rr_ass_cmpl_seen] RSL.receive(tr_RSL_DATA_REQ(g_chan_nr)) -> value rsl { + [not st.rr_ass_cmpl_seen] rsl_pt.receive(tr_RSL_DATA_REQ(g_chan_nr)) -> value rsl { var PDU_ML3_NW_MS l3 := dec_PDU_ML3_NW_MS(rsl.ies[2].body.l3_info.payload); log("Rx L3 from net: ", l3); if (ischosen(l3.msgs.rrm.assignmentCommand)) { @@ -979,20 +980,20 @@ /* FIXME: Determine TRX NR by ARFCN, instead of hard-coded TRX0! */ /* register our component for this channel number at the RSL Emulation */ - f_rslem_register(0, new_chan_nr); + f_rslem_register(0, new_chan_nr, PT := rsl_proc_pt); /* dispatch queued messages for this channel (if any) */ - f_rslem_dchan_queue_dispatch(); + f_rslem_dchan_queue_dispatch(PT := rsl_proc_pt); var PDU_ML3_MS_NW l3_tx := valueof(ts_RRM_AssignmentComplete('00'O)); /* send assignment complete over the new channel */ - RSL.send(ts_RSL_EST_IND(new_chan_nr, valueof(ts_RslLinkID_DCCH(0)), + rsl_pt.send(ts_RSL_EST_IND(new_chan_nr, valueof(ts_RslLinkID_DCCH(0)), enc_PDU_ML3_MS_NW(l3_tx))); /* by default, send via the new channel from now */ st.old_chan_nr := g_chan_nr; g_chan_nr := new_chan_nr; st.rr_ass_cmpl_seen := true; /* obtain channel activation from RSL_Emulation for new channel */ - var RSL_Message chan_act := f_rslem_get_last_act(RSL_PROC, 0, g_chan_nr); + var RSL_Message chan_act := f_rslem_get_last_act(rsl_proc_pt, 0, g_chan_nr); /* check it (e.g. for correct ciphering parameters) */ f_check_chan_act(st, chan_act); repeat; @@ -1000,20 +1001,20 @@ Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, log2str("Unexpected L3 received", l3)); } } - [st.rr_ass_cmpl_seen] RSL.receive(tr_RSL_DEACT_SACCH(st.old_chan_nr)) { + [st.rr_ass_cmpl_seen] rsl_pt.receive(tr_RSL_DEACT_SACCH(st.old_chan_nr)) { st.old_lchan_deact_sacch_seen := true; repeat; } - [st.rr_ass_cmpl_seen] RSL.receive(tr_RSL_REL_REQ(st.old_chan_nr, tr_RslLinkID_DCCH(0))) { + [st.rr_ass_cmpl_seen] rsl_pt.receive(tr_RSL_REL_REQ(st.old_chan_nr, tr_RslLinkID_DCCH(0))) { st.old_lchan_rll_rel_req_seen := true; - RSL.send(ts_RSL_REL_CONF(st.old_chan_nr, valueof(ts_RslLinkID_DCCH(0)))); + rsl_pt.send(ts_RSL_REL_CONF(st.old_chan_nr, valueof(ts_RslLinkID_DCCH(0)))); repeat; } - [st.rr_ass_cmpl_seen] RSL.receive(tr_RSL_RF_CHAN_REL(st.old_chan_nr)) { - RSL.send(ts_RSL_RF_CHAN_REL_ACK(st.old_chan_nr)); + [st.rr_ass_cmpl_seen] rsl_pt.receive(tr_RSL_RF_CHAN_REL(st.old_chan_nr)) { + rsl_pt.send(ts_RSL_RF_CHAN_REL_ACK(st.old_chan_nr)); /* unregister for old channel number in RSL emulation */ /* FIXME: Determine TRX NR by ARFCN, instead of hard-coded TRX0! */ - f_rslem_unregister(0, st.old_chan_nr); + f_rslem_unregister(0, st.old_chan_nr, PT := rsl_proc_pt); st.assignment_done := true; repeat; } diff --git a/library/RSL_Emulation.ttcn b/library/RSL_Emulation.ttcn index f64329a..969dbce 100644 --- a/library/RSL_Emulation.ttcn +++ b/library/RSL_Emulation.ttcn @@ -109,7 +109,7 @@ * Client Component for a single dedicated channel ***********************************************************************/ -private function f_rx_or_fail(template RSL_Message exp_rx) runs on RSL_DchanHdlr return RSL_Message +private function f_rx_or_fail(template RSL_Message exp_rx, RSL_DCHAN_PT rsl_pt := RSL) runs on RSL_DchanHdlr return RSL_Message { var RSL_Message rx_rsl; timer T := 10.0; @@ -117,11 +117,11 @@ /* request a channel to be established */ T.start; alt { - [] RSL.receive(exp_rx) -> value rx_rsl { + [] rsl_pt.receive(exp_rx) -> value rx_rsl { T.stop; return rx_rsl; } - [] RSL.receive { + [] rsl_pt.receive { setverdict(fail, "Unexpected RSL message on DCHAN"); mtc.stop; } @@ -136,16 +136,16 @@ /* establish a dedicated channel using 'ra' */ function f_chan_est(OCT1 ra, octetstring est_l3, template RslLinkId link_id, GsmFrameNumber fn := 23, - template uint3_t tsc := ?) + template uint3_t tsc := ?, RSL_DCHAN_PT rsl_pt := RSL, RSLEM_PROC_PT rsl_proc_pt := RSL_PROC) runs on RSL_DchanHdlr { var RSL_Message rx_rsl; var GsmRrMessage rr; /* request a channel to be established */ - RSL.send(ts_RSLDC_ChanRqd(ra, fn)); + rsl_pt.send(ts_RSLDC_ChanRqd(ra, fn)); /* At this point the BSC sends a CHAN ACTIV which we always ACK. Checking it below. */ /* expect immediate assignment */ - rx_rsl := f_rx_or_fail(tr_RSL_IMM_ASSIGN); + rx_rsl := f_rx_or_fail(tr_RSL_IMM_ASSIGN, rsl_pt := rsl_pt); rr := dec_GsmRrMessage(rx_rsl.ies[1].body.full_imm_ass_info.payload); if (not match(rr.payload.imm_ass.chan_desc.tsc, tsc)) { setverdict(fail, "Immediate Assignment: unexpected TSC in Channel Description: expected ", tsc, " got ", @@ -153,10 +153,10 @@ mtc.stop; } g_chan_nr := rr.payload.imm_ass.chan_desc.chan_nr; - RSL.send(ts_RSL_EST_IND(g_chan_nr, valueof(link_id), est_l3)); + rsl_pt.send(ts_RSL_EST_IND(g_chan_nr, valueof(link_id), est_l3)); /* Check above CHAN ACTIV */ - var RSL_Message chan_act := f_rslem_get_last_act(RSL_PROC, 0, g_chan_nr); + var RSL_Message chan_act := f_rslem_get_last_act(rsl_proc_pt, 0, g_chan_nr); var RSL_IE_Body ie; if (f_rsl_find_ie(chan_act, RSL_IE_CHAN_IDENT, ie)) { var uint3_t got_tsc := ie.chan_ident.ch_desc.v.tsc; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25016 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic3206b7125ee22bf98330080d9b136cefe7da03f Gerrit-Change-Number: 25016 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 02:04:17 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 23 Jul 2021 02:04:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add RSL, RSL_PROC port args in various places References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25017 ) Change subject: bsc: add RSL, RSL_PROC port args in various places ...................................................................... bsc: add RSL, RSL_PROC port args in various places To be able to run tests on a cell other than bts 0, there needs to be a way to select the RSL_DCHAN_PT and RSLEM_PROC_PT in various places. Upcoming BSC_Tests.TC_cm_reestablishment depends on this, to be able to run through an Assignment on bts 1. Related: SYS#5130 Change-Id: Ia14f46d4e5e8d4722224b97c346c0cb7973fff97 --- M bsc/BSC_Tests.ttcn 1 file changed, 40 insertions(+), 38 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/17/25017/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index c764bcf..5ab3cc7 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -5437,7 +5437,7 @@ exp_rr_rel_tmpl := tr_RRM_RR_RELEASE; } f_ho_into_this_bsc(id, oldToNewBSSIEs); - f_perform_clear(RSL, exp_rr_rel_tmpl); + f_perform_clear(exp_rr_rel_tmpl := exp_rr_rel_tmpl); setverdict(pass); } function f_tc_ho_into_this_bsc_main(TestHdlrParams pars) runs on test_CT { @@ -7112,33 +7112,34 @@ template MobileIdentityLV ts_MI_TMSI_NRI_LV(integer nri_v, integer nri_bitlen := 10) := ts_MI_TMSI_LV(tmsi := f_gen_tmsi(suffix := 0, nri_v := nri_v, nri_bitlen := nri_bitlen)); -private function f_expect_lchan_rel(RSL_DCHAN_PT rsl, template PDU_ML3_NW_MS exp_rr_rel_tmpl := tr_RRM_RR_RELEASE) +private function f_expect_lchan_rel(RSL_DCHAN_PT rsl_pt, RSLEM_PROC_PT rsl_proc_pt, template PDU_ML3_NW_MS exp_rr_rel_tmpl := tr_RRM_RR_RELEASE) runs on MSC_ConnHdlr { interleave { - [] rsl.receive(tr_RSL_DATA_REQ(g_chan_nr, ?, decmatch exp_rr_rel_tmpl)) { + [] rsl_pt.receive(tr_RSL_DATA_REQ(g_chan_nr, ?, decmatch exp_rr_rel_tmpl)) { f_logp(BSCVTY, "Got RSL RR Release"); } - [] rsl.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) { + [] rsl_pt.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) { f_logp(BSCVTY, "Got RSL Deact SACCH"); } - [] rsl.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) { + [] rsl_pt.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) { f_logp(BSCVTY, "Got RSL RF Chan Rel, sending Rel Ack"); - rsl.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr)); - f_rslem_unregister(0, g_chan_nr); + rsl_pt.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr)); + f_rslem_unregister(0, g_chan_nr, PT := rsl_proc_pt); break; } } } -friend function f_perform_clear(RSL_DCHAN_PT rsl, template PDU_ML3_NW_MS exp_rr_rel_tmpl := tr_RRM_RR_RELEASE) +friend function f_perform_clear(RSL_DCHAN_PT rsl_pt := RSL, RSLEM_PROC_PT rsl_proc_pt := RSL_PROC, + template PDU_ML3_NW_MS exp_rr_rel_tmpl := tr_RRM_RR_RELEASE) runs on MSC_ConnHdlr { f_logp(BSCVTY, "MSC instructs BSC to clear channel"); BSSAP.send(ts_BSSMAP_ClearCommand(0)); interleave { - [] rsl.receive(tr_RSL_DATA_REQ(g_chan_nr, ?, decmatch exp_rr_rel_tmpl)) { + [] rsl_pt.receive(tr_RSL_DATA_REQ(g_chan_nr, ?, decmatch exp_rr_rel_tmpl)) { f_logp(BSCVTY, "Got RSL RR Release"); } - [] rsl.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) { + [] rsl_pt.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) { f_logp(BSCVTY, "Got RSL Deact SACCH"); } [] BSSAP.receive(tr_BSSMAP_ClearComplete) { @@ -7146,15 +7147,16 @@ /* Also drop the SCCP connection */ BSSAP.send(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_REQ); } - [] rsl.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) { + [] rsl_pt.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) { f_logp(BSCVTY, "Got RSL RF Chan Rel, sending Rel Ack"); - rsl.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr)); - f_rslem_unregister(0, g_chan_nr); + rsl_pt.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr)); + f_rslem_unregister(0, g_chan_nr, PT := rsl_proc_pt); } } } -private function f_perform_compl_l3(RSL_DCHAN_PT rsl, template PDU_ML3_MS_NW l3_info, boolean do_clear := true, boolean expect_bssmap_l3 := true) +private function f_perform_compl_l3(RSL_DCHAN_PT rsl_pt, RSLEM_PROC_PT rsl_proc_pt, + template PDU_ML3_MS_NW l3_info, boolean do_clear := true, boolean expect_bssmap_l3 := true) runs on MSC_ConnHdlr { timer T := 10.0; var octetstring l3_enc := enc_PDU_ML3_MS_NW(valueof(l3_info)); @@ -7162,17 +7164,17 @@ f_logp(BSCVTY, "establish channel, send Complete Layer 3 Info"); f_create_bssmap_exp(l3_enc); - /* RSL_Emulation.f_chan_est() on rsl: - * This is basically code dup with s/RSL/rsl from: + /* RSL_Emulation.f_chan_est() on rsl_pt: + * This is basically code dup with s/RSL/rsl_pt from: * RSL_Emulation.f_chan_est(g_pars.ra, l3_enc, g_pars.link_id, g_pars.fn); */ var RSL_Message rx_rsl; var GsmRrMessage rr; /* request a channel to be established */ - rsl.send(ts_RSLDC_ChanRqd(g_pars.ra, g_pars.fn)); + rsl_pt.send(ts_RSLDC_ChanRqd(g_pars.ra, g_pars.fn)); /* expect immediate assignment. - * Code dup with s/RSL/rsl from: + * Code dup with s/RSL/rsl_pt from: * rx_rsl := f_rx_or_fail(tr_RSL_IMM_ASSIGN); */ timer Tt := 10.0; @@ -7180,10 +7182,10 @@ /* request a channel to be established */ Tt.start; alt { - [] rsl.receive(tr_RSL_IMM_ASSIGN) -> value rx_rsl { + [] rsl_pt.receive(tr_RSL_IMM_ASSIGN) -> value rx_rsl { Tt.stop; } - [] rsl.receive { + [] rsl_pt.receive { setverdict(fail, "Unexpected RSL message on DCHAN"); mtc.stop; } @@ -7194,7 +7196,7 @@ } rr := dec_GsmRrMessage(rx_rsl.ies[1].body.full_imm_ass_info.payload); g_chan_nr := rr.payload.imm_ass.chan_desc.chan_nr; - rsl.send(ts_RSL_EST_IND(g_chan_nr, valueof(g_pars.link_id), l3_enc)); + rsl_pt.send(ts_RSL_EST_IND(g_chan_nr, valueof(g_pars.link_id), l3_enc)); if (expect_bssmap_l3) { @@ -7225,12 +7227,12 @@ /* start ciphering, if requested */ if (ispresent(g_pars.encr)) { f_logp(BSCVTY, "start ciphering"); - f_cipher_mode(g_pars.encr); + f_cipher_mode(g_pars.encr, rsl_pt := rsl_pt, rsl_proc_pt := rsl_proc_pt); } } if (do_clear) { - f_perform_clear(rsl); + f_perform_clear(rsl_pt, rsl_proc_pt); } setverdict(pass); f_sleep(1.0); @@ -7239,21 +7241,21 @@ private function f_tc_mscpool_compl_l3(charstring id) runs on MSC_ConnHdlr { f_MscConnHdlr_init(g_pars.media_nr, "127.0.0.2", "127.0.0.3", FR_AMR); if (g_pars.mscpool.rsl_idx == 0) { - f_perform_compl_l3(RSL, g_pars.mscpool.l3_info); + f_perform_compl_l3(RSL, RSL_PROC, g_pars.mscpool.l3_info); } else if (g_pars.mscpool.rsl_idx == 1) { - f_perform_compl_l3(RSL1, g_pars.mscpool.l3_info); + f_perform_compl_l3(RSL1, RSL1_PROC, g_pars.mscpool.l3_info); } else if (g_pars.mscpool.rsl_idx == 2) { - f_perform_compl_l3(RSL2, g_pars.mscpool.l3_info); + f_perform_compl_l3(RSL2, RSL2_PROC, g_pars.mscpool.l3_info); } } /* Various Complete Layer 3 by IMSI all end up with the first MSC, because the other MSCs are not connected. */ private function f_tc_mscpool_L3Compl_on_1_msc(charstring id) runs on MSC_ConnHdlr { f_MscConnHdlr_init(g_pars.media_nr, "127.0.0.2", "127.0.0.3", FR_AMR); - f_perform_compl_l3(RSL, ts_LU_REQ(LU_Type_IMSI_Attach, valueof(ts_MI_IMSI_LV('001010000000001'H)), '00F110'O) ); - f_perform_compl_l3(RSL, ts_CM_SERV_REQ(CM_TYPE_MO_SMS, valueof(ts_MI_IMSI_LV('001010000000002'H))) ); - f_perform_compl_l3(RSL, ts_PAG_RESP(valueof(ts_MI_IMSI_LV('001010000000003'H))) ); - f_perform_compl_l3(RSL, ts_ML3_MO_MM_IMSI_DET_Ind(valueof(ts_MI_IMSI_LV('001010000000004'H))) ); + f_perform_compl_l3(RSL, RSL_PROC, ts_LU_REQ(LU_Type_IMSI_Attach, valueof(ts_MI_IMSI_LV('001010000000001'H)), '00F110'O) ); + f_perform_compl_l3(RSL, RSL_PROC, ts_CM_SERV_REQ(CM_TYPE_MO_SMS, valueof(ts_MI_IMSI_LV('001010000000002'H))) ); + f_perform_compl_l3(RSL, RSL_PROC, ts_PAG_RESP(valueof(ts_MI_IMSI_LV('001010000000003'H))) ); + f_perform_compl_l3(RSL, RSL_PROC, ts_ML3_MO_MM_IMSI_DET_Ind(valueof(ts_MI_IMSI_LV('001010000000004'H))) ); } testcase TC_mscpool_L3Compl_on_1_msc() runs on test_CT { @@ -7641,7 +7643,7 @@ /* Despite the round robin pointing at the second MSC ('roundrobin next 1'), the earlier Paging for the same IMSI * causes this Paging Response to go to the first MSC (bssap_idx := 0). */ - f_perform_compl_l3(RSL, ts_PAG_RESP(valueof(ts_MI_IMSI_LV(imsi))) ); + f_perform_compl_l3(RSL, RSL_PROC, ts_PAG_RESP(valueof(ts_MI_IMSI_LV(imsi))) ); f_sleep(1.0); } testcase TC_mscpool_paging_and_response_imsi() runs on test_CT { @@ -7693,7 +7695,7 @@ /* Despite the NRI matching the second MSC (NRI from 'msc 1' in osmo-bsc.cfg) and round robin pointing at the * third MSC ('roundrobin next 2'), the earlier Paging for the same TMSI causes this Paging Response to go to * the first MSC (bssap_idx := 0). */ - f_perform_compl_l3(RSL, ts_PAG_RESP(valueof(ts_MI_TMSI_NRI_LV(nri_v))) ); + f_perform_compl_l3(RSL, RSL_PROC, ts_PAG_RESP(valueof(ts_MI_TMSI_NRI_LV(nri_v))) ); f_sleep(1.0); } testcase TC_mscpool_paging_and_response_tmsi() runs on test_CT { @@ -8622,7 +8624,7 @@ /* The LCS was using an active A-interface conn. It should still remain active after this. */ f_mo_l3_transceive(); - f_perform_clear(RSL); + f_perform_clear(); f_sleep(2.0); setverdict(pass); @@ -8731,8 +8733,8 @@ /* MS requests channel. Since the Paging was for LCS, the Paging Response does not trigger a Complete Layer 3 to * the MSC, and releases the lchan directly. */ - f_perform_compl_l3(RSL, ts_PAG_RESP(valueof(ts_MI_IMSI_LV(g_pars.imsi))), do_clear := false, expect_bssmap_l3 := false); - f_expect_lchan_rel(RSL); + f_perform_compl_l3(RSL, RSL_PROC, ts_PAG_RESP(valueof(ts_MI_IMSI_LV(g_pars.imsi))), do_clear := false, expect_bssmap_l3 := false); + f_expect_lchan_rel(RSL, RSL_PROC); /* From the Paging Response, the TA is now known to the BSC, and it responds to the SMLC. */ @@ -8964,7 +8966,7 @@ /* As the A-interface conn was established for LCS, the MS coincidentally decides to issue a CM Service Request * and establish Layer 3. It should use the existing A-interface conn. */ - f_perform_compl_l3(RSL, valueof(ts_CM_SERV_REQ(CM_TYPE_MO_CALL, valueof(ts_MI_IMSI_LV(g_pars.imsi)))), + f_perform_compl_l3(RSL, RSL_PROC, valueof(ts_CM_SERV_REQ(CM_TYPE_MO_CALL, valueof(ts_MI_IMSI_LV(g_pars.imsi)))), do_clear := false, expect_bssmap_l3 := true); /* SMLC wants to ask the TA from the BSC explicitly in a BSSLAP TA Request message */ @@ -8981,7 +8983,7 @@ /* The lchan should still exist, it was from a CM Service Request. */ f_mo_l3_transceive(); - f_perform_clear(RSL); + f_perform_clear(); f_sleep(2.0); setverdict(pass); @@ -9058,7 +9060,7 @@ f_mo_l3_transceive(RSL1); /* MSC decides it is done now. */ - f_perform_clear(RSL1); + f_perform_clear(RSL1, RSL1_PROC); f_sleep(2.0); setverdict(pass); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25017 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia14f46d4e5e8d4722224b97c346c0cb7973fff97 Gerrit-Change-Number: 25017 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 02:04:17 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 23 Jul 2021 02:04:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: expect proper chan_nr for various RSL_MT_RF_CHAN_REL References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25018 ) Change subject: bsc: expect proper chan_nr for various RSL_MT_RF_CHAN_REL ...................................................................... bsc: expect proper chan_nr for various RSL_MT_RF_CHAN_REL So far we were often just expecting the message type. Instead expect a release on the proper channel number. While hunting a test error, this confused me for a while, because a missing handler resulted in the release message handled in the wrong place, even though the chan_nr mismatched. Related: SYS#5130 Change-Id: I002c9273a387104bea062dec8879b4e19a72008d --- M bsc/BSC_Tests.ttcn 1 file changed, 7 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/18/25018/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 5ab3cc7..4d3acc2 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -4937,12 +4937,12 @@ interleave { [] RSL.receive(tr_RSL_DATA_REQ(g_chan_nr, ?, decmatch tr_RRM_RR_RELEASE(int2oct(enum2int(rr_cause), 1)))) {} [] RSL.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) {} - [] RSL.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) { + [] RSL.receive(tr_RSL_RF_CHAN_REL(g_chan_nr)) { RSL.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr)); f_rslem_unregister(0, g_chan_nr); } [] RSL1.receive(tr_RSL_DEACT_SACCH(new_chan_nr)) {} - [] RSL1.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) { + [] RSL1.receive(tr_RSL_RF_CHAN_REL(new_chan_nr)) { RSL1.send(ts_RSL_RF_CHAN_REL_ACK(new_chan_nr)); f_rslem_unregister(0, g_chan_nr, PT := RSL1_PROC); } @@ -5322,7 +5322,7 @@ [] RSL.receive(tr_RSL_DATA_REQ(g_chan_nr, ?, decmatch tr_RRM_RR_RELEASE)) { log("Got RR Release"); } - [] RSL.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) { + [] RSL.receive(tr_RSL_RF_CHAN_REL(g_chan_nr)) { log("Got RF Chan Rel"); RSL.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr)); f_rslem_unregister(0, g_chan_nr); @@ -7121,7 +7121,7 @@ [] rsl_pt.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) { f_logp(BSCVTY, "Got RSL Deact SACCH"); } - [] rsl_pt.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) { + [] rsl_pt.receive(tr_RSL_RF_CHAN_REL(g_chan_nr)) { f_logp(BSCVTY, "Got RSL RF Chan Rel, sending Rel Ack"); rsl_pt.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr)); f_rslem_unregister(0, g_chan_nr, PT := rsl_proc_pt); @@ -7147,7 +7147,7 @@ /* Also drop the SCCP connection */ BSSAP.send(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_REQ); } - [] rsl_pt.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) { + [] rsl_pt.receive(tr_RSL_RF_CHAN_REL(g_chan_nr)) { f_logp(BSCVTY, "Got RSL RF Chan Rel, sending Rel Ack"); rsl_pt.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr)); f_rslem_unregister(0, g_chan_nr, PT := rsl_proc_pt); @@ -9094,7 +9094,7 @@ [] RSL.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) { f_logp(BSCVTY, "Got RSL Deact SACCH"); } - [] RSL.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) { + [] RSL.receive(tr_RSL_RF_CHAN_REL(g_chan_nr)) { f_logp(BSCVTY, "Got RSL RF Chan Rel, sending Rel Ack"); RSL.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr)); f_rslem_unregister(0, g_chan_nr); @@ -9272,7 +9272,7 @@ [] MGCP.receive(tr_DLCX) {} [] RSL.receive(tr_RSL_DATA_REQ(g_chan_nr, ?, decmatch tr_RRM_RR_RELEASE)) {} [] RSL.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) {} - [] RSL.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) { + [] RSL.receive(tr_RSL_RF_CHAN_REL(g_chan_nr)) { RSL.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr)); f_rslem_unregister(0, g_chan_nr); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25018 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I002c9273a387104bea062dec8879b4e19a72008d Gerrit-Change-Number: 25018 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 02:04:18 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 23 Jul 2021 02:04:18 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add Coord_PT to communicate between components References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25019 ) Change subject: bsc: add Coord_PT to communicate between components ...................................................................... bsc: add Coord_PT to communicate between components This is used by upcoming BSC_Tests.TC_cm_reestablishment(). Related: SYS#5130 Change-Id: I093ca7f66a3106a75e409ad8ea03e7db3c3cb165 --- M bsc/MSC_ConnectionHandler.ttcn 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/19/25019/1 diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index af93343..5f77764 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -431,6 +431,11 @@ [] as_Media_mgw(); } +type port Coord_PT message +{ + inout charstring; +} with { extension "internal" }; + /* this component represents a single subscriber connection at the MSC. * There is a 1:1 mapping between SCCP connections and RAN_ConnHdlr components. * We inherit all component variables, ports, functions, ... from RAN_ConnHdlr */ @@ -441,6 +446,7 @@ /* procedure port back to our parent (RAN_Emulation_CT) for control */ port RAN_PROC_PT RAN; port TELNETasp_PT BSCVTY; + port Coord_PT COORD; /* Proxy MGCP-over-IPA and MGCP-over-UDP */ port IPA_MGCP_PT MGCP_MSC_CLIENT; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25019 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I093ca7f66a3106a75e409ad8ea03e7db3c3cb165 Gerrit-Change-Number: 25019 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 02:04:18 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 23 Jul 2021 02:04:18 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: split f_start_handler() in two, ..._create() and ..._run() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25020 ) Change subject: bsc: split f_start_handler() in two, ..._create() and ..._run() ...................................................................... bsc: split f_start_handler() in two, ..._create() and ..._run() This is used by upcoming BSC_Tests.TC_cm_reestablishment(). Related: SYS#5130 Change-Id: I96954a6895a65718d943aa5e73b783a75a9f7256 --- M bsc/BSC_Tests.ttcn 1 file changed, 13 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/20/25020/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 4d3acc2..53e8133 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -3290,7 +3290,7 @@ connect(vc_conn:STATSD_PROC, vc_STATSD:STATSD_PROC); } -function f_start_handler(void_fn fn, template (omit) TestHdlrParams pars := omit) +function f_start_handler_create(template (omit) TestHdlrParams pars := omit) runs on test_CT return MSC_ConnHdlr { var charstring id := testcasename(); var MSC_ConnHdlr vc_conn; @@ -3300,12 +3300,23 @@ } vc_conn := MSC_ConnHdlr.create(id); f_connect_handler(vc_conn, bssap_idx); + return vc_conn; +} + +function f_start_handler_run(MSC_ConnHdlr vc_conn, void_fn fn, template (omit) TestHdlrParams pars := omit) +runs on test_CT return MSC_ConnHdlr { + var charstring id := testcasename(); /* Emit a marker to appear in the SUT's own logging output */ - f_logp(BSCVTY, testcasename() & "() start"); + f_logp(BSCVTY, id & "() start"); vc_conn.start(f_handler_init(fn, id, pars)); return vc_conn; } +function f_start_handler(void_fn fn, template (omit) TestHdlrParams pars := omit) +runs on test_CT return MSC_ConnHdlr { + return f_start_handler_run(f_start_handler_create(pars), fn, pars); +} + /* first function inside ConnHdlr component; sets g_pars + starts function */ private function f_handler_init(void_fn fn, charstring id, template (omit) TestHdlrParams pars := omit) runs on MSC_ConnHdlr { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25020 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I96954a6895a65718d943aa5e73b783a75a9f7256 Gerrit-Change-Number: 25020 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 02:04:18 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 23 Jul 2021 02:04:18 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_cm_reestablishment References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25021 ) Change subject: bsc: add TC_cm_reestablishment ...................................................................... bsc: add TC_cm_reestablishment Related: SYS#5130 Change-Id: I1e7d446644f46b8a0a94688e618ffb4f23a8900e --- M bsc/BSC_Tests.ttcn M library/L3_Templates.ttcn 2 files changed, 149 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/21/25021/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 53e8133..8e9707c 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -9318,6 +9318,132 @@ f_shutdown_helper(); } +/* CM Re-Establishment, 3GPP TS 24.008 4.5.1.6. + * The MS <-> BTS loses radio connection, MS shows up on second BTS and asks for CM Re-Establishment. + * BSC should establish a separate A conn for the same MS, the original A conn is then cleared by + * the MSC as the CM Re-Establishment is handled. */ +private function f_tc_cm_reestablishment_1(charstring id) runs on MSC_ConnHdlr { + var template PDU_BSSAP exp_compl := f_gen_exp_compl(); + var PDU_BSSAP ass_cmd := f_gen_ass_req(); + + ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelType); + ass_cmd.pdu.bssmap.assignmentRequest.codecList := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR})); + + f_establish_fully(ass_cmd, exp_compl); + + /* The original channel loses connection, MS attemts CM Re-Establishment on another cell, see + * f_tc_cm_reestablishment_2(). This established channel stays active until MSC sends a Clear Command. The time + * when exactly that happens is determined by f_tc_cm_reestablishment_2(). */ + f_sleep(2.0); + COORD.send("Lost connection"); + f_logp(BSCVTY, "f_tc_cm_reestablishment_1 sleeping"); + + alt { + [] COORD.receive("Clear"); + [] RSL.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) { + setverdict(fail, "Unexpected channel release"); + mtc.stop; + } + [] RSL.receive(tr_RSL_RF_CHAN_REL(g_chan_nr)) { + setverdict(fail, "Unexpected channel release"); + mtc.stop; + } + } + f_logp(BSCVTY, "f_tc_cm_reestablishment_1 got 'Clear'"); + f_perform_clear() + f_expect_dlcx_conns(); + COORD.send("Clear done"); + + f_logp(BSCVTY, "f_tc_cm_reestablishment_1 done"); + + COORD.receive("All done"); +} + +private function f_tc_cm_reestablishment_2(charstring id) runs on MSC_ConnHdlr { + f_MscConnHdlr_init(g_pars.media_nr, host_bts, host_mgw_mgcp, FR_AMR); + + /* The MS lost the connection on the first channel, now establishes another one */ + COORD.receive("Lost connection"); + + var MobileIdentityLV mi := valueof(ts_MI_IMSI_LV(g_pars.imsi)); + var PDU_ML3_MS_NW l3_info := valueof(ts_CM_REESTABL_REQ(mi)); + var octetstring l3_enc := enc_PDU_ML3_MS_NW(l3_info); + + f_create_bssmap_exp(l3_enc); + RSL_Emulation.f_chan_est(g_pars.ra, l3_enc, g_pars.link_id, g_pars.fn); + BSSAP.receive(tr_BSSMAP_ComplL3(l3_enc)); + + /* MSC got the CM Re-Establishment request and first off clears the previous conn. */ + COORD.send("Clear"); + COORD.receive("Clear done"); + + f_sleep(2.0); + + /* Answer the CM Re-Establishment with an Assignment Command. */ + var template PDU_BSSAP exp_compl := f_gen_exp_compl(); + var PDU_BSSAP ass_cmd := f_gen_ass_req(); + ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelType); + ass_cmd.pdu.bssmap.assignmentRequest.codecList := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR})); + + var AssignmentState st := valueof(ts_AssignmentStateInit); + st.voice_call := true; + st.is_assignment := true; + + var ExpectCriteria mgcpcrit := { + connid := omit, + endpoint := omit, + transid := omit + }; + f_create_mgcp_expect(mgcpcrit); + + f_rslem_dchan_queue_enable(); + + BSSAP.send(ass_cmd); + + var PDU_BSSAP bssap; + + alt { + [] as_assignment(st); + [] as_Media(); + [st.assignment_done] BSSAP.receive(exp_compl) { + f_logp(BSCVTY, "f_tc_cm_reestablishment_2 got Assignment Complete"); + break; + } + } + + f_sleep(3.0); + + f_logp(BSCVTY, "f_tc_cm_reestablishment_2 clearing"); + f_perform_clear(); + f_logp(BSCVTY, "f_tc_cm_reestablishment_2 cleared"); + f_expect_dlcx_conns(); + + f_logp(BSCVTY, "f_tc_cm_reestablishment_2 done"); + COORD.send("All done"); +} + +testcase TC_cm_reestablishment() runs on test_CT { + var TestHdlrParams pars1 := f_gen_test_hdlr_pars(); + var MSC_ConnHdlr vc_conn1; + + var TestHdlrParams pars2 := f_gen_test_hdlr_pars(); + var MSC_ConnHdlr vc_conn2; + pars2.imsi := pars1.imsi; + pars2.media_nr := 2; + + f_init(2, true, guard_timeout := 40.0); + f_sleep(1.0); + + vc_conn1 := f_start_handler_create(pars1); + vc_conn2 := f_start_handler_create(pars2); + connect(vc_conn1:COORD, vc_conn2:COORD); + f_start_handler_run(vc_conn1, refers(f_tc_cm_reestablishment_1), pars1); + f_start_handler_run(vc_conn2, refers(f_tc_cm_reestablishment_2), pars2); + vc_conn1.done; + vc_conn2.done; + + f_shutdown_helper(); +} control { /* CTRL interface testing */ @@ -9603,6 +9729,8 @@ execute( TC_refuse_mode_modif_to_vamos() ); execute( TC_reassignment_fr() ); + + execute( TC_cm_reestablishment() ); } } diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn index 53731c0..c6ebeb4 100644 --- a/library/L3_Templates.ttcn +++ b/library/L3_Templates.ttcn @@ -372,6 +372,27 @@ } } +template (value) PDU_ML3_MS_NW ts_CM_REESTABL_REQ(MobileIdentityLV mi_lv) := { + discriminator := '0000'B, /* overwritten */ + tiOrSkip := { + skipIndicator := '0000'B + }, + msgs := { + mm := { + cMReEstablReq := { + messageType := '000000'B, /* overwritten */ + nsd := '00'B, + cipheringKeySequenceNumber := { '000'B, '0'B }, + spare := '0000'B, + mobileStationClassmark2 := ts_CM2, + mobileIdentityLV := mi_lv, + locationAreaIdentification := omit, + deviceProperties := omit + } + } + } +} + template (value) CipheringKeySequenceNumberV ts_CKSN(integer key_seq) := { keySequence := int2bit(key_seq, 3), spare := '0'B -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25021 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1e7d446644f46b8a0a94688e618ffb4f23a8900e Gerrit-Change-Number: 25021 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 02:04:19 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 23 Jul 2021 02:04:19 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: TC_cm_reestablishment(): do second lchan on bts 1 References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25022 ) Change subject: bsc: TC_cm_reestablishment(): do second lchan on bts 1 ...................................................................... bsc: TC_cm_reestablishment(): do second lchan on bts 1 So far the test ran both lchans on bts 0, which is not really a realistic scenario for a CM Re-Establishment Request. Move the second channel to bts 1, using various RSL port args added recently. Change-Id: Ia930f7b8986ba27c5f507478dbff0a2942f207d8 --- M bsc/BSC_Tests.ttcn 1 file changed, 9 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/22/25022/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 8e9707c..64c1131 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -9370,7 +9370,7 @@ var octetstring l3_enc := enc_PDU_ML3_MS_NW(l3_info); f_create_bssmap_exp(l3_enc); - RSL_Emulation.f_chan_est(g_pars.ra, l3_enc, g_pars.link_id, g_pars.fn); + RSL_Emulation.f_chan_est(g_pars.ra, l3_enc, g_pars.link_id, g_pars.fn, rsl_pt := RSL1, rsl_proc_pt := RSL1_PROC); BSSAP.receive(tr_BSSMAP_ComplL3(l3_enc)); /* MSC got the CM Re-Establishment request and first off clears the previous conn. */ @@ -9396,15 +9396,16 @@ }; f_create_mgcp_expect(mgcpcrit); - f_rslem_dchan_queue_enable(); + f_rslem_dchan_queue_enable(RSL1_PROC); BSSAP.send(ass_cmd); var PDU_BSSAP bssap; alt { - [] as_assignment(st); - [] as_Media(); + [] as_assignment(st, rsl_pt := RSL1, rsl_proc_pt := RSL1_PROC); + [] as_Media_ipacc(RSL1, RSL2); + [] as_Media_mgw(); [st.assignment_done] BSSAP.receive(exp_compl) { f_logp(BSCVTY, "f_tc_cm_reestablishment_2 got Assignment Complete"); break; @@ -9414,7 +9415,7 @@ f_sleep(3.0); f_logp(BSCVTY, "f_tc_cm_reestablishment_2 clearing"); - f_perform_clear(); + f_perform_clear(RSL1, RSL1_PROC); f_logp(BSCVTY, "f_tc_cm_reestablishment_2 cleared"); f_expect_dlcx_conns(); @@ -9430,6 +9431,9 @@ var MSC_ConnHdlr vc_conn2; pars2.imsi := pars1.imsi; pars2.media_nr := 2; + /* f_tc_cm_reestablishment_2 uses 'bts 1'. + * BTS 1 has BSIC 11 (and no explicit timeslot training_sequence_code config), so expecting TSC = (BSIC & 7) = 3 */ + pars2.expect_tsc := 3; f_init(2, true, guard_timeout := 40.0); f_sleep(1.0); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25022 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia930f7b8986ba27c5f507478dbff0a2942f207d8 Gerrit-Change-Number: 25022 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 02:04:19 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 23 Jul 2021 02:04:19 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: improve error log for "RSL for unknown Dchan" References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25023 ) Change subject: bsc: improve error log for "RSL for unknown Dchan" ...................................................................... bsc: improve error log for "RSL for unknown Dchan" The failure verdict includes the RSL message that could not be associated with a handling component, but ttcn_logformat does not format that message. Add an identical log() that gets formatted nicely. Change-Id: Ibb8f60671e78075492783cba560a8229ba5a380b --- M library/RSL_Emulation.ttcn 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/23/25023/1 diff --git a/library/RSL_Emulation.ttcn b/library/RSL_Emulation.ttcn index 969dbce..31647df 100644 --- a/library/RSL_Emulation.ttcn +++ b/library/RSL_Emulation.ttcn @@ -612,6 +612,8 @@ log("Storing an RSL message in the waiting queue"); WaitingQueue := WaitingQueue & { rx_rsl }; } else { + log("Error: RSL for unknown Dchan (streamId ", rx_rsl.streamId, ", chan_nr ", + rx_rsl.rsl.ies[0].body.chan_nr, "): ", rx_rsl); setverdict(fail, "RSL for unknown Dchan"); mtc.stop; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25023 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibb8f60671e78075492783cba560a8229ba5a380b Gerrit-Change-Number: 25023 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 08:03:50 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 23 Jul 2021 08:03:50 +0000 Subject: Change in libosmo-sccp[master]: m3ua: reject deregistration of static routing keys References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/25024 ) Change subject: m3ua: reject deregistration of static routing keys ...................................................................... m3ua: reject deregistration of static routing keys Make STP_Tests_M3UA.TC_rkm_unreg_never_registered pass. Closes: OS#4239 Change-Id: Ie5d84d06e7d5d32c8a22f770f71a5449f4a78484 --- M src/xua_rkm.c 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/24/25024/1 diff --git a/src/xua_rkm.c b/src/xua_rkm.c index 10335ea..6abd17d 100644 --- a/src/xua_rkm.c +++ b/src/xua_rkm.c @@ -350,6 +350,12 @@ return -1; } + /* Reject if not dynamically allocated (OS#4239) */ + if (!as->rkm_dyn_allocated) { + msgb_append_dereg_res(resp, M3UA_RKM_DEREG_ERR_NOT_REGD, 0); + return -1; + } + /* Reject if ASP is not even part of AS */ if (!osmo_ss7_as_has_asp(as, asp)) { msgb_append_dereg_res(resp, M3UA_RKM_DEREG_ERR_INVAL_RCTX, 0); -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/25024 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ie5d84d06e7d5d32c8a22f770f71a5449f4a78484 Gerrit-Change-Number: 25024 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 Jul 23 09:05:13 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 23 Jul 2021 09:05:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: gbproxy: Fix race condition checking for unblocked BVC References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25025 ) Change subject: gbproxy: Fix race condition checking for unblocked BVC ...................................................................... gbproxy: Fix race condition checking for unblocked BVC It sometimes happens that the ttcn3 test checks the BVC FSM state before the gbproxy had time to process the BVC_RESET_ACK from the "SGSN". It then reports the state WAIT_RESET_ACK which will fail the test. Introduce a small wait to give the gbproxy some more time. Change-Id: Ic31b2188195c5d76b2d5aac9fa1f0b4efa5ca8b2 --- M gbproxy/GBProxy_Tests.ttcn 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/25/25025/1 diff --git a/gbproxy/GBProxy_Tests.ttcn b/gbproxy/GBProxy_Tests.ttcn index 6aa5e0c..035a47d 100644 --- a/gbproxy/GBProxy_Tests.ttcn +++ b/gbproxy/GBProxy_Tests.ttcn @@ -631,6 +631,10 @@ } } + /* Wait to ensure the gbproxy processed the RESET_ACK messages from the SGSN. + * Otherwise the state might still be WAIT_RESET_ACK */ + f_sleep(0.2); + /* verify all SGSN-side BVC FSM in IUT are UNBLOCKED */ for (i := 0; i < lengthof(mp_nsconfig_sgsn); i := i+1) { f_bvc_fsm_ensure_state(mp_nsconfig_sgsn[i].nsei, 0, "UNBLOCKED"); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25025 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic31b2188195c5d76b2d5aac9fa1f0b4efa5ca8b2 Gerrit-Change-Number: 25025 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 09:40:28 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 23 Jul 2021 09:40:28 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: allow to reset endpoints on startup In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/25008 to look at the new patch set (#4). Change subject: mgcp_client: allow to reset endpoints on startup ...................................................................... mgcp_client: allow to reset endpoints on startup Depending on the usecase of osmo_mpcg_client it may be helpful to send a DLCX to certain endpoints. Usually this would be a wildcarded endpoint that resets the entire trunk to drop lingering RTP flows which may still present after a restart/crash, but it might be also a group of specific endpoints. The user may specify an arbitrary amount of endpoints where the mgcp client will send a DLCX to. It does not matter if the endpoints are wildcarded or not. Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Related: SYS#5535 --- M TODO-RELEASE M include/osmocom/mgcp_client/mgcp_client.h M src/libosmo-mgcp-client/mgcp_client.c M src/libosmo-mgcp-client/mgcp_client_vty.c 4 files changed, 138 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/08/25008/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25008 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Gerrit-Change-Number: 25008 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 09:40:29 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 23 Jul 2021 09:40:29 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: assert endp when it becomes mandatory References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25026 ) Change subject: mgcp_protocol: assert endp when it becomes mandatory ...................................................................... mgcp_protocol: assert endp when it becomes mandatory The logic when an endp pointer is guranteed and when we are able to process the request without the endp pointer populated is qute complex. This shows up as a bug to coverity. Change-Id: I1d4221f2df13c43321d5466534485cf21f0d9010 Fixes: CID#237088 --- M src/libosmo-mgcp/mgcp_protocol.c 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/26/25026/1 diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index aef41e0..e69c00f 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -1467,6 +1467,10 @@ return create_ok_response(NULL, 200, "DLCX", pdata->trans); } + /* The logic does not permit to go past this point without having the + * the endp pointer populated. */ + OSMO_ASSERT(endp); + /* When no connection id is supplied, we will interpret this as a * wildcarded DLCX that refers to the selected endpoint. This means * that we drop all connections on that specific endpoint at once. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25026 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I1d4221f2df13c43321d5466534485cf21f0d9010 Gerrit-Change-Number: 25026 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 Jul 23 09:40:37 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 23 Jul 2021 09:40:37 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: allow to reset endpoints on startup In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25008 ) Change subject: mgcp_client: allow to reset endpoints on startup ...................................................................... Patch Set 3: (3 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/25008/3/src/libosmo-mgcp-client/mgcp_client.c File src/libosmo-mgcp-client/mgcp_client.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25008/3/src/libosmo-mgcp-client/mgcp_client.c at 792 PS3, Line 792: actual_reset_ep = talloc_memdup(ctx, reset_ep, sizeof(*reset_ep)); > I bet talloc_memdup is not duplicating the char* name in reset_ep. [?] Thanks for seeing that. https://gerrit.osmocom.org/c/osmo-mgw/+/25008/3/src/libosmo-mgcp-client/mgcp_client.c at 835 PS3, Line 835: static const char *_mgcp_client_name_append_domain(const struct mgcp_client *mgcp, char *name) > const char *name Done https://gerrit.osmocom.org/c/osmo-mgw/+/25008/3/src/libosmo-mgcp-client/mgcp_client.c at 905 PS3, Line 905: _mgcp_client_name_append_domain(mgcp, reset_ep->name)); > store it in a local pointer instead of calling the function twice for each iteration. Done -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25008 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Gerrit-Change-Number: 25008 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 23 Jul 2021 09:40:37 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 10:07:42 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 23 Jul 2021 10:07:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: stp: fix TC_rkm_unreg_registered References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25027 ) Change subject: stp: fix TC_rkm_unreg_registered ...................................................................... stp: fix TC_rkm_unreg_registered Create the routing key dynamically, before trying to unregister it. The previous version tried to unregister a statically configured routing key, as in TC_rkm_unreg_never_registered, but expected success instead of the proper ERR_NOT_REG. So after fixing osmo-stp to make TC_rkm_unreg_never_registered pass, this test failed. Related: OS#4239 Change-Id: I7d2f9eb298778a8e60c7e73f314bc73528e85406 --- M stp/STP_Tests_M3UA.ttcn 1 file changed, 14 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/27/25027/1 diff --git a/stp/STP_Tests_M3UA.ttcn b/stp/STP_Tests_M3UA.ttcn index dfa82a2..0bc398d 100644 --- a/stp/STP_Tests_M3UA.ttcn +++ b/stp/STP_Tests_M3UA.ttcn @@ -615,11 +615,23 @@ f_clear_m3ua(); } -/* try to de-register a routing key that was registered -> OK*/ +/* try to de-register a routing key that was registered -> OK */ testcase TC_rkm_unreg_registered() runs on RAW_M3UA_CT { + var OCT3 dpc := int2oct(123, 3); + var OCT4 rctx := int2oct(1234, 4); + + f_init_common(); + f_vty_config2(VTY, {"cs7 instance 0"}, "xua rkm routing-key-allocation dynamic-permitted"); f_init_m3ua(); - f_M3UA_send(0, ts_M3UA_DEREG_REQ(ts_M3UA_routing_ctx(int2oct(mp_m3ua_configs[0].routing_ctx,4)))); + + /* first register the routing key */ + f_M3UA_rkm_register(id:='30000099'O, dpc:=dpc, rctx:=rctx); + + /* then try to de-register */ + f_M3UA_send(0, ts_M3UA_DEREG_REQ(ts_M3UA_routing_ctx(rctx))); f_M3UA_exp(0, tr_M3UA_DEREG_RSP({tr_M3UA_dereg_res(?,c_m3UA_DEREGSTS_SUCCESS)})); + + f_vty_config2(VTY, {"cs7 instance 0"}, "xua rkm routing-key-allocation static-only"); f_clear_m3ua(); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25027 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7d2f9eb298778a8e60c7e73f314bc73528e85406 Gerrit-Change-Number: 25027 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 Jul 23 10:07:43 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 23 Jul 2021 10:07:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: stp: fix TC_rkm_unreg_active References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25028 ) Change subject: stp: fix TC_rkm_unreg_active ...................................................................... stp: fix TC_rkm_unreg_active Create the routing key dynamically, before trying to unregister it, so osmo-stp doesn't answer with ERR_NOT_REG instead of the expected ERR_ASP_ACTIVE. While at it, add missing clean up logic. Related: OS#4239 Change-Id: I31fcba85d23a8767eb0ceb513ff5b440558a475b --- M stp/STP_Tests_M3UA.ttcn 1 file changed, 16 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/28/25028/1 diff --git a/stp/STP_Tests_M3UA.ttcn b/stp/STP_Tests_M3UA.ttcn index 0bc398d..13703d0 100644 --- a/stp/STP_Tests_M3UA.ttcn +++ b/stp/STP_Tests_M3UA.ttcn @@ -637,9 +637,11 @@ /* try to de-register a routing key for an active ASP -> ERROR */ testcase TC_rkm_unreg_active() runs on RAW_M3UA_CT { - var OCT3 dpc := int2oct(mp_m3ua_configs[0].point_code, 3); // must match config - var OCT4 rctx := int2oct(mp_m3ua_configs[0].routing_ctx, 4); // must match config + var OCT3 dpc := int2oct(123, 3); + var OCT4 rctx := int2oct(1234, 4); + f_init_common(); + f_vty_config2(VTY, {"cs7 instance 0"}, "xua rkm routing-key-allocation dynamic-permitted"); f_init_m3ua(); /* first register the routing key */ @@ -647,12 +649,22 @@ /* then activate the ASP */ f_M3UA_asp_up_act(0); + f_M3UA_exp(0, tr_M3UA_DAVA({*}, rctx)); + f_M3UA_exp(0, tr_M3UA_NOTIFY(c_M3UA_ST_T_STATE_CHG, c_M3UA_ST_I_AS_ACTIVE, *)); + f_M3UA_exp(0, tr_M3UA_DAVA({*}, *)); - /* then try to de-regsiter */ + /* then try to de-register -> ERR_ASP_ACTIVE */ f_M3UA_send(0, ts_M3UA_DEREG_REQ(ts_M3UA_routing_ctx(rctx))); f_M3UA_exp(0, tr_M3UA_DEREG_RSP({tr_M3UA_dereg_res(?,c_m3UA_DEREGSTS_ERR_ASP_ACTIVE)})); - /* FIXME: we now may have changed the state on the STP side! */ + /* deactivate ASP and properly de-register to clean up */ + f_M3UA_asp_inact(0); + f_M3UA_send(0, ts_M3UA_DEREG_REQ(ts_M3UA_routing_ctx(rctx))); + f_M3UA_exp(0, tr_M3UA_NOTIFY(c_M3UA_ST_T_STATE_CHG, c_M3UA_ST_I_AS_PENDING, *)); + f_M3UA_exp(0, tr_M3UA_NOTIFY(c_M3UA_ST_T_STATE_CHG, c_M3UA_ST_I_AS_PENDING, *)); + f_M3UA_exp(0, tr_M3UA_DEREG_RSP({tr_M3UA_dereg_res(?,c_m3UA_DEREGSTS_SUCCESS)})); + + f_vty_config2(VTY, {"cs7 instance 0"}, "xua rkm routing-key-allocation static-only"); f_clear_m3ua(); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25028 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I31fcba85d23a8767eb0ceb513ff5b440558a475b Gerrit-Change-Number: 25028 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 Jul 23 10:08:13 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 23 Jul 2021 10:08:13 +0000 Subject: Change in libosmo-sccp[master]: m3ua: reject deregistration of static routing keys In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/25024 ) Change subject: m3ua: reject deregistration of static routing keys ...................................................................... Patch Set 1: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/25024 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ie5d84d06e7d5d32c8a22f770f71a5449f4a78484 Gerrit-Change-Number: 25024 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Fri, 23 Jul 2021 10:08: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 Fri Jul 23 10:45:25 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 23 Jul 2021 10:45:25 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_vty: remove unnecessary checks References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25029 ) Change subject: mgcp_client_vty: remove unnecessary checks ...................................................................... mgcp_client_vty: remove unnecessary checks The vty always checks if global_mgcp_client_conf exists. (there is also an assert This check about global_mgcp_client_ctx). global_mgcp_client_ctx and global_mgcp_client_conf are populated before the VTY commands are installed. Unleass the caller uses the API wrong and calls mgcp_client_vty_init with NULL pointers there cannot be a problem with unpopulated pointers. Lets remove the checks as they are not needed. Change-Id: I892d14c588573f76640453cb9c194594289b59f1 Related: SYS#5091 --- M src/libosmo-mgcp-client/mgcp_client_vty.c 1 file changed, 0 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/29/25029/1 diff --git a/src/libosmo-mgcp-client/mgcp_client_vty.c b/src/libosmo-mgcp-client/mgcp_client_vty.c index 642d8d5..da0c4bf 100644 --- a/src/libosmo-mgcp-client/mgcp_client_vty.c +++ b/src/libosmo-mgcp-client/mgcp_client_vty.c @@ -41,9 +41,6 @@ "local bind IPv4 address\n" "local bind IPv6 address\n") { - if (!global_mgcp_client_conf) - return CMD_ERR_NOTHING_TODO; - OSMO_ASSERT(global_mgcp_client_ctx); osmo_talloc_replace_string(global_mgcp_client_ctx, (char**)&global_mgcp_client_conf->local_addr, argv[0]); @@ -59,8 +56,6 @@ MGW_STR "local port to connect to MGW from\n" "local bind port\n") { - if (!global_mgcp_client_conf) - return CMD_ERR_NOTHING_TODO; global_mgcp_client_conf->local_port = atoi(argv[0]); return CMD_SUCCESS; } @@ -75,9 +70,6 @@ "remote IPv4 address\n" "remote IPv6 address\n") { - if (!global_mgcp_client_conf) - return CMD_ERR_NOTHING_TODO; - OSMO_ASSERT(global_mgcp_client_ctx); osmo_talloc_replace_string(global_mgcp_client_ctx, (char**)&global_mgcp_client_conf->remote_addr, argv[0]); @@ -93,8 +85,6 @@ MGW_STR "remote port to reach the MGW at\n" "remote port\n") { - if (!global_mgcp_client_conf) - return CMD_ERR_NOTHING_TODO; global_mgcp_client_conf->remote_port = atoi(argv[0]); return CMD_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25029 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I892d14c588573f76640453cb9c194594289b59f1 Gerrit-Change-Number: 25029 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 Jul 23 11:29:44 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 23 Jul 2021 11:29:44 +0000 Subject: Change in osmo-bsc[master]: Split bts_vty.c creating bts_trx_vty.c In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24980 ) Change subject: Split bts_vty.c creating bts_trx_vty.c ...................................................................... Patch Set 3: > Patch Set 3: > > (2 comments) > > ok, but why? any functional reason? > > in osmo-bsc, i recently moved osmo_bsc_vty.c into bsc_vty.c to have less file splits and find DEFUNs easier. same as i still do with my two bicycle bags: i always looked in the first, didn't find it, then looked in the other, still didn't find it, to finally do find it in the first... Because it becomes really cumbersome to find or maintain bsc_vty.c, having it more than 7K lines before the split. I usually find myself losing time finding where to put new stuff in, or finding in which node one comamnd is, etc. The main difference in joining osmo_bsc_vty.c into bsc_vty.c and splitting into bts_{trx_}_vty.c is that in the former there was no clear separation/distinction between those, so having them separated only added confusion. In this new split, stuff it separated based on node hierarchy. Furthermore, we already have a bts.c and bts_trx.c files. Also so simply grepping in the directory and finding something in bts_trx_vty.c already tells you the vty cmd is in TRX or TS node, and lookinng it up there is easy. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24980 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I15ec8f71a5d31915162cb3ad75ea77e934fa4887 Gerrit-Change-Number: 24980 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-CC: neels Gerrit-Comment-Date: Fri, 23 Jul 2021 11:29:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 11:36:19 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 23 Jul 2021 11:36:19 +0000 Subject: Change in osmo-bsc[master]: Split bts_vty.c creating bts_trx_vty.c In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, Hoernchen, daniel, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/24980 to look at the new patch set (#4). Change subject: Split bts_vty.c creating bts_trx_vty.c ...................................................................... Split bts_vty.c creating bts_trx_vty.c Change-Id: I15ec8f71a5d31915162cb3ad75ea77e934fa4887 --- M include/osmocom/bsc/vty.h M src/osmo-bsc/Makefile.am A src/osmo-bsc/bts_trx_vty.c M src/osmo-bsc/bts_vty.c M tests/handover/Makefile.am 5 files changed, 863 insertions(+), 799 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/80/24980/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24980 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I15ec8f71a5d31915162cb3ad75ea77e934fa4887 Gerrit-Change-Number: 24980 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-CC: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 11:36:19 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 23 Jul 2021 11:36:19 +0000 Subject: Change in osmo-bsc[master]: Introduce VTY option to forbid use of TCH for non-voicecall signalling In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, neels, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/25006 to look at the new patch set (#4). Change subject: Introduce VTY option to forbid use of TCH for non-voicecall signalling ...................................................................... Introduce VTY option to forbid use of TCH for non-voicecall signalling Usual allocation mechansim, when some signalling channel is needed, first tries to reserve an SDCCH, and if all of them are exhausted, then attempts to reserve a TCH as a last resort. This, however, may cause TCH starvation under certain situations, for instance if there high load on other services (LU, SMS, etc.). Hence, it may be desirable for the operator to forbid reservation of TCH slots once SDCCH become exhausted. This commit is thus adding a VTY command which allows forbidding it. The default behavior (allow using TCH timeslots when SDCCHs are exhausted) is kept as before. The above mentioned prohibition is applied only to non-voicecall related signalling services. That's because voicecall services will end up requiring a TCH anyway, and forbidding reservation of TCH straighaway when SDCCHs are exhausted would mean no voice calls could be initiated while still TCHs would be available. Related: SYS#5548 Change-Id: Ib08027125145df26602069bfb51847063b0ccc0c --- M include/osmocom/bsc/bts.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bts.c M src/osmo-bsc/bts_vty.c M tests/osmo-bsc.vty 6 files changed, 67 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/06/25006/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25006 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib08027125145df26602069bfb51847063b0ccc0c Gerrit-Change-Number: 25006 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 11:38:24 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 23 Jul 2021 11:38:24 +0000 Subject: Change in libosmocore[master]: vty: clear screen with ^L In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25013 ) Change subject: vty: clear screen with ^L ...................................................................... Patch Set 1: Code-Review+1 No idea how this works but it looks like you do, so +1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25013 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie2356cd92f39b4dc28b5c20bbe4557fb0d972747 Gerrit-Change-Number: 25013 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 23 Jul 2021 11:38: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 Jul 23 11:55:52 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 23 Jul 2021 11:55:52 +0000 Subject: Change in osmo-bsc[master]: Split bts_vty.c creating bts_trx_vty.c In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24980 ) Change subject: Split bts_vty.c creating bts_trx_vty.c ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24980 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I15ec8f71a5d31915162cb3ad75ea77e934fa4887 Gerrit-Change-Number: 24980 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-CC: neels Gerrit-Comment-Date: Fri, 23 Jul 2021 11: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 Fri Jul 23 11:56:45 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 23 Jul 2021 11:56:45 +0000 Subject: Change in libosmocore[master]: command: fix sourcecode formatting References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/25030 ) Change subject: command: fix sourcecode formatting ...................................................................... command: fix sourcecode formatting Change-Id: Icc75c3b45821c24360e0fdb4a29077994e73ae05 --- M include/osmocom/vty/command.h 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/30/25030/1 diff --git a/include/osmocom/vty/command.h b/include/osmocom/vty/command.h index 7f1ae5a..e3919fb 100644 --- a/include/osmocom/vty/command.h +++ b/include/osmocom/vty/command.h @@ -99,7 +99,7 @@ L_CS7_SCCPADDR_NODE, /*!< SS7 SCCP Address */ L_CS7_SCCPADDR_GT_NODE, /*!< SS7 SCCP Global Title */ - L_CPU_SCHED_NODE, /*!< CPU Sched related options node */ + L_CPU_SCHED_NODE, /*!< CPU Sched related options node */ L_NS_BIND_NODE, /*!< NS bind node */ L_NS_NSE_NODE, /*!< NS NSE node */ /* -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25030 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icc75c3b45821c24360e0fdb4a29077994e73ae05 Gerrit-Change-Number: 25030 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 Jul 23 12:16:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 23 Jul 2021 12:16:08 +0000 Subject: Change in libosmocore[master]: command: fix sourcecode formatting In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25030 ) Change subject: command: fix sourcecode formatting ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25030 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icc75c3b45821c24360e0fdb4a29077994e73ae05 Gerrit-Change-Number: 25030 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 23 Jul 2021 12:16: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 Jul 23 12:16:55 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 23 Jul 2021 12:16:55 +0000 Subject: Change in osmo-bsc[master]: Split bts_vty.c creating bts_trx_vty.c In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24980 ) Change subject: Split bts_vty.c creating bts_trx_vty.c ...................................................................... Patch Set 4: Code-Review+2 RE-adding osmith's +1 and merging after changing the couple small line changes requested by neels. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24980 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I15ec8f71a5d31915162cb3ad75ea77e934fa4887 Gerrit-Change-Number: 24980 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Fri, 23 Jul 2021 12:16: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 Jul 23 12:17:02 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 23 Jul 2021 12:17:02 +0000 Subject: Change in osmo-bsc[master]: Split bts_vty.c creating bts_trx_vty.c In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24980 ) Change subject: Split bts_vty.c creating bts_trx_vty.c ...................................................................... Split bts_vty.c creating bts_trx_vty.c Change-Id: I15ec8f71a5d31915162cb3ad75ea77e934fa4887 --- M include/osmocom/bsc/vty.h M src/osmo-bsc/Makefile.am A src/osmo-bsc/bts_trx_vty.c M src/osmo-bsc/bts_vty.c M tests/handover/Makefile.am 5 files changed, 863 insertions(+), 799 deletions(-) Approvals: Jenkins Builder: Verified Hoernchen: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/include/osmocom/bsc/vty.h b/include/osmocom/bsc/vty.h index 0b4504c..9ea9835 100644 --- a/include/osmocom/bsc/vty.h +++ b/include/osmocom/bsc/vty.h @@ -13,6 +13,8 @@ struct pchan_load; struct gsm_lchan; struct bsc_subscr; +struct gsm_e1_subslot; +struct e1inp_sign_link; struct vty; void openbsc_vty_print_statistics(struct vty *vty, struct gsm_network *); @@ -53,6 +55,15 @@ void lchan_dump_full_vty(struct vty *vty, struct gsm_lchan *lchan); void lchan_dump_short_vty(struct vty *vty, struct gsm_lchan *lchan); +int bts_trx_vty_init(void); +void config_write_trx_single(struct vty *vty, struct gsm_bts_trx *trx); +void config_write_e1_link(struct vty *vty, struct gsm_e1_subslot *e1_link, + const char *prefix); +void e1isl_dump_vty_tcp(struct vty *vty, const struct e1inp_sign_link *e1l); +void e1isl_dump_vty(struct vty *vty, struct e1inp_sign_link *e1l); +void parse_e1_link(struct gsm_e1_subslot *e1_link, const char *line, + const char *ts, const char *ss); + enum bsc_vty_cmd_attr { BSC_VTY_ATTR_RESTART_ABIS_OML_LINK = 0, BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK, diff --git a/src/osmo-bsc/Makefile.am b/src/osmo-bsc/Makefile.am index 3e2761d..34b4f34 100644 --- a/src/osmo-bsc/Makefile.am +++ b/src/osmo-bsc/Makefile.am @@ -56,6 +56,7 @@ bts_osmobts.c \ bts_unknown.c \ bts_vty.c \ + bts_trx_vty.c \ chan_alloc.c \ codec_pref.c \ e1_config.c \ diff --git a/src/osmo-bsc/bts_trx_vty.c b/src/osmo-bsc/bts_trx_vty.c new file mode 100644 index 0000000..39584a5 --- /dev/null +++ b/src/osmo-bsc/bts_trx_vty.c @@ -0,0 +1,849 @@ +/* OsmoBSC interface to quagga VTY, TRX (and TS) node */ +/* (C) 2009-2017 by Harald Welte + * (C) 2021 by sysmocom s.f.m.c. GmbH + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include "../../bscconfig.h" + +#define X(x) (1 << x) + +static struct cmd_node trx_node = { + TRX_NODE, + "%s(config-net-bts-trx)# ", + 1, +}; + +static struct cmd_node ts_node = { + TS_NODE, + "%s(config-net-bts-trx-ts)# ", + 1, +}; + +/* utility functions */ +void parse_e1_link(struct gsm_e1_subslot *e1_link, const char *line, + const char *ts, const char *ss) +{ + e1_link->e1_nr = atoi(line); + e1_link->e1_ts = atoi(ts); + if (!strcmp(ss, "full")) + e1_link->e1_ts_ss = 255; + else + e1_link->e1_ts_ss = atoi(ss); +} + +#define TRX_TEXT "Radio Transceiver\n" + +/* per TRX configuration */ +DEFUN_ATTR(cfg_trx, + cfg_trx_cmd, + "trx <0-255>", + TRX_TEXT + "Select a TRX to configure\n", + CMD_ATTR_IMMEDIATE) +{ + int trx_nr = atoi(argv[0]); + struct gsm_bts *bts = vty->index; + struct gsm_bts_trx *trx; + + if (trx_nr > bts->num_trx) { + vty_out(vty, "%% The next unused TRX number in this BTS is %u%s", + bts->num_trx, VTY_NEWLINE); + return CMD_WARNING; + } else if (trx_nr == bts->num_trx) { + /* we need to allocate a new one */ + trx = gsm_bts_trx_alloc(bts); + } else + trx = gsm_bts_trx_num(bts, trx_nr); + + if (!trx) + return CMD_WARNING; + + vty->index = trx; + vty->node = TRX_NODE; + + return CMD_SUCCESS; +} + +DEFUN_USRATTR(cfg_trx_arfcn, + cfg_trx_arfcn_cmd, + X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), + "arfcn <0-1023>", + "Set the ARFCN for this TRX\n" + "Absolute Radio Frequency Channel Number\n") +{ + enum gsm_band unused; + struct gsm_bts_trx *trx = vty->index; + int arfcn = atoi(argv[0]); + + if (gsm_arfcn2band_rc(arfcn, &unused) < 0) { + vty_out(vty, "%% Invalid arfcn %" PRIu16 " detected%s", arfcn, VTY_NEWLINE); + return CMD_WARNING; + } + + /* FIXME: check if this ARFCN is supported by this TRX */ + + trx->arfcn = arfcn; + + /* Update Cell Allocation (list of all the frequencies allocated to a cell) */ + if (generate_cell_chan_alloc(trx->bts) != 0) { + vty_out(vty, "%% Failed to re-generate Cell Allocation%s", VTY_NEWLINE); + return CMD_WARNING; + } + + /* FIXME: patch ARFCN into SYSTEM INFORMATION */ + /* FIXME: use OML layer to update the ARFCN */ + /* FIXME: use RSL layer to update SYSTEM INFORMATION */ + + return CMD_SUCCESS; +} + +DEFUN_USRATTR(cfg_trx_nominal_power, + cfg_trx_nominal_power_cmd, + X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), + "nominal power <-20-100>", + "Nominal TRX RF Power in dBm\n" + "Nominal TRX RF Power in dBm\n" + "Nominal TRX RF Power in dBm\n") +{ + struct gsm_bts_trx *trx = vty->index; + + trx->nominal_power = atoi(argv[0]); + + return CMD_SUCCESS; +} + +DEFUN_USRATTR(cfg_trx_max_power_red, + cfg_trx_max_power_red_cmd, + X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), + "max_power_red <0-100>", + "Reduction of maximum BS RF Power (relative to nominal power)\n" + "Reduction of maximum BS RF Power in dB\n") +{ + int maxpwr_r = atoi(argv[0]); + struct gsm_bts_trx *trx = vty->index; + int upper_limit = 24; /* default 12.21 max power red. */ + + /* FIXME: check if our BTS type supports more than 12 */ + if (maxpwr_r < 0 || maxpwr_r > upper_limit) { + vty_out(vty, "%% Power %d dB is not in the valid range%s", + maxpwr_r, VTY_NEWLINE); + return CMD_WARNING; + } + if (maxpwr_r & 1) { + vty_out(vty, "%% Power %d dB is not an even value%s", + maxpwr_r, VTY_NEWLINE); + return CMD_WARNING; + } + + trx->max_power_red = maxpwr_r; + + /* FIXME: make sure we update this using OML */ + + return CMD_SUCCESS; +} + +/* NOTE: This requires a full restart as bsc_network_configure() is executed + * only once on startup from osmo_bsc_main.c */ +DEFUN(cfg_trx_rsl_e1, + cfg_trx_rsl_e1_cmd, + "rsl e1 line E1_LINE timeslot <1-31> sub-slot (0|1|2|3|full)", + "RSL Parameters\n" + "E1/T1 interface to be used for RSL\n" + "E1/T1 interface to be used for RSL\n" + "E1/T1 Line Number to be used for RSL\n" + "E1/T1 Timeslot to be used for RSL\n" + "E1/T1 Timeslot to be used for RSL\n" + "E1/T1 Sub-slot to be used for RSL\n" + "E1/T1 Sub-slot 0 is to be used for RSL\n" + "E1/T1 Sub-slot 1 is to be used for RSL\n" + "E1/T1 Sub-slot 2 is to be used for RSL\n" + "E1/T1 Sub-slot 3 is to be used for RSL\n" + "E1/T1 full timeslot is to be used for RSL\n") +{ + struct gsm_bts_trx *trx = vty->index; + + parse_e1_link(&trx->rsl_e1_link, argv[0], argv[1], argv[2]); + + return CMD_SUCCESS; +} + +DEFUN_USRATTR(cfg_trx_rsl_e1_tei, + cfg_trx_rsl_e1_tei_cmd, + X(BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK), + "rsl e1 tei <0-63>", + "RSL Parameters\n" + "Set the TEI to be used for RSL\n" + "Set the TEI to be used for RSL\n" + "TEI to be used for RSL\n") +{ + struct gsm_bts_trx *trx = vty->index; + + trx->rsl_tei_primary = atoi(argv[0]); + + return CMD_SUCCESS; +} + +DEFUN_ATTR(cfg_trx_rf_locked, + cfg_trx_rf_locked_cmd, + "rf_locked (0|1)", + "Set or unset the RF Locking (Turn off RF of the TRX)\n" + "TRX is NOT RF locked (active)\n" + "TRX is RF locked (turned off)\n", + CMD_ATTR_IMMEDIATE) +{ + int locked = atoi(argv[0]); + struct gsm_bts_trx *trx = vty->index; + + gsm_trx_lock_rf(trx, locked, "vty"); + return CMD_SUCCESS; +} + +/* per TS configuration */ +DEFUN_ATTR(cfg_ts, + cfg_ts_cmd, + "timeslot <0-7>", + "Select a Timeslot to configure\n" + "Timeslot number\n", + CMD_ATTR_IMMEDIATE) +{ + int ts_nr = atoi(argv[0]); + struct gsm_bts_trx *trx = vty->index; + struct gsm_bts_trx_ts *ts; + + if (ts_nr >= TRX_NR_TS) { + vty_out(vty, "%% A GSM TRX only has %u Timeslots per TRX%s", + TRX_NR_TS, VTY_NEWLINE); + return CMD_WARNING; + } + + ts = &trx->ts[ts_nr]; + + vty->index = ts; + vty->node = TS_NODE; + + return CMD_SUCCESS; +} + +DEFUN_USRATTR(cfg_ts_pchan, + cfg_ts_pchan_cmd, + X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), + "phys_chan_config PCHAN", /* dynamically generated! */ + "Physical Channel configuration (TCH/SDCCH/...)\n" "Physical Channel\n") +{ + struct gsm_bts_trx_ts *ts = vty->index; + int pchanc; + + pchanc = gsm_pchan_parse(argv[0]); + if (pchanc < 0) + return CMD_WARNING; + + ts->pchan_from_config = pchanc; + + return CMD_SUCCESS; +} + +/* used for backwards compatibility with old config files that still + * have uppercase pchan type names. Also match older names for existing types. */ +DEFUN_HIDDEN(cfg_ts_pchan_compat, + cfg_ts_pchan_compat_cmd, + "phys_chan_config PCHAN", + "Physical Channel configuration (TCH/SDCCH/...)\n" "Physical Channel\n") +{ + struct gsm_bts_trx_ts *ts = vty->index; + int pchanc; + + pchanc = gsm_pchan_parse(argv[0]); + if (pchanc < 0) { + if (strcasecmp(argv[0], "tch/f_tch/h_pdch") == 0) { + pchanc = GSM_PCHAN_OSMO_DYN; + } else { + vty_out(vty, "Unknown physical channel name '%s'%s", argv[0], VTY_NEWLINE); + return CMD_ERR_NO_MATCH; + } + } + + ts->pchan_from_config = pchanc; + + return CMD_SUCCESS; +} + +DEFUN_USRATTR(cfg_ts_tsc, + cfg_ts_tsc_cmd, + X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), + "training_sequence_code <0-7>", + "Training Sequence Code of the Timeslot\n" "TSC\n") +{ + struct gsm_bts_trx_ts *ts = vty->index; + + if (!osmo_bts_has_feature(&ts->trx->bts->model->features, BTS_FEAT_MULTI_TSC)) { + vty_out(vty, "%% This BTS does not support a TSC != BCC, " + "falling back to BCC%s", VTY_NEWLINE); + ts->tsc = -1; + return CMD_WARNING; + } + + ts->tsc = atoi(argv[0]); + + return CMD_SUCCESS; +} + +#define HOPPING_STR "Configure frequency hopping\n" + +DEFUN_USRATTR(cfg_ts_hopping, + cfg_ts_hopping_cmd, + X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), + "hopping enabled (0|1)", + HOPPING_STR "Enable or disable frequency hopping\n" + "Disable frequency hopping\n" "Enable frequency hopping\n") +{ + struct gsm_bts_trx_ts *ts = vty->index; + int enabled = atoi(argv[0]); + + if (enabled && !osmo_bts_has_feature(&ts->trx->bts->model->features, BTS_FEAT_HOPPING)) { + vty_out(vty, "%% BTS model does not seem to support freq. hopping%s", VTY_NEWLINE); + /* Allow enabling frequency hopping anyway, because the BTS might not have + * connected yet (thus not sent the feature vector), so we cannot know for + * sure. Jet print a warning and let it go. */ + } + + ts->hopping.enabled = enabled; + + return CMD_SUCCESS; +} + +DEFUN_USRATTR(cfg_ts_hsn, + cfg_ts_hsn_cmd, + X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), + "hopping sequence-number <0-63>", + HOPPING_STR + "Which hopping sequence to use for this channel\n" + "Hopping Sequence Number (HSN)\n") +{ + struct gsm_bts_trx_ts *ts = vty->index; + + ts->hopping.hsn = atoi(argv[0]); + + return CMD_SUCCESS; +} + +DEFUN_USRATTR(cfg_ts_maio, + cfg_ts_maio_cmd, + X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), + "hopping maio <0-63>", + HOPPING_STR + "Which hopping MAIO to use for this channel\n" + "Mobile Allocation Index Offset (MAIO)\n") +{ + struct gsm_bts_trx_ts *ts = vty->index; + + ts->hopping.maio = atoi(argv[0]); + + return CMD_SUCCESS; +} + +DEFUN_USRATTR(cfg_ts_arfcn_add, + cfg_ts_arfcn_add_cmd, + X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), + "hopping arfcn add <0-1023>", + HOPPING_STR "Configure hopping ARFCN list\n" + "Add an entry to the hopping ARFCN list\n" "ARFCN\n") +{ + enum gsm_band unused; + struct gsm_bts_trx_ts *ts = vty->index; + int arfcn = atoi(argv[0]); + + if (gsm_arfcn2band_rc(arfcn, &unused) < 0) { + vty_out(vty, "%% Invalid arfcn %" PRIu16 " detected%s", arfcn, VTY_NEWLINE); + return CMD_WARNING; + } + + if (bitvec_get_bit_pos(&ts->hopping.arfcns, arfcn) == ONE) { + vty_out(vty, "%% ARFCN %" PRIu16 " is already set%s", arfcn, VTY_NEWLINE); + return CMD_WARNING; + } + + bitvec_set_bit_pos(&ts->hopping.arfcns, arfcn, 1); + + /* Update Cell Allocation (list of all the frequencies allocated to a cell) */ + if (generate_cell_chan_alloc(ts->trx->bts) != 0) { + vty_out(vty, "%% Failed to re-generate Cell Allocation%s", VTY_NEWLINE); + bitvec_set_bit_pos(&ts->hopping.arfcns, arfcn, ZERO); /* roll-back */ + return CMD_WARNING; + } + + return CMD_SUCCESS; +} + +DEFUN_USRATTR(cfg_ts_arfcn_del, + cfg_ts_arfcn_del_cmd, + X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), + "hopping arfcn del <0-1023>", + HOPPING_STR "Configure hopping ARFCN list\n" + "Delete an entry to the hopping ARFCN list\n" "ARFCN\n") +{ + enum gsm_band unused; + struct gsm_bts_trx_ts *ts = vty->index; + int arfcn = atoi(argv[0]); + + if (gsm_arfcn2band_rc(arfcn, &unused) < 0) { + vty_out(vty, "%% Invalid arfcn %" PRIu16 " detected%s", arfcn, VTY_NEWLINE); + return CMD_WARNING; + } + + if (bitvec_get_bit_pos(&ts->hopping.arfcns, arfcn) != ONE) { + vty_out(vty, "%% ARFCN %" PRIu16 " is not set%s", arfcn, VTY_NEWLINE); + return CMD_WARNING; + } + + bitvec_set_bit_pos(&ts->hopping.arfcns, arfcn, 0); + + /* Update Cell Allocation (list of all the frequencies allocated to a cell) */ + if (generate_cell_chan_alloc(ts->trx->bts) != 0) { + vty_out(vty, "%% Failed to re-generate Cell Allocation%s", VTY_NEWLINE); + /* It's unlikely to happen on removal, so we don't roll-back */ + return CMD_WARNING; + } + + return CMD_SUCCESS; +} + +DEFUN_USRATTR(cfg_ts_arfcn_del_all, + cfg_ts_arfcn_del_all_cmd, + X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), + "hopping arfcn del-all", + HOPPING_STR "Configure hopping ARFCN list\n" + "Delete all previously configured entries\n") +{ + struct gsm_bts_trx_ts *ts = vty->index; + + bitvec_zero(&ts->hopping.arfcns); + + /* Update Cell Allocation (list of all the frequencies allocated to a cell) */ + if (generate_cell_chan_alloc(ts->trx->bts) != 0) { + vty_out(vty, "%% Failed to re-generate Cell Allocation%s", VTY_NEWLINE); + /* It's unlikely to happen on removal, so we don't roll-back */ + return CMD_WARNING; + } + + return CMD_SUCCESS; +} + +/* NOTE: This will have an effect on newly created voice lchans since the E1 + * voice channels are handled by osmo-mgw and the information put in e1_link + * here is only used to generate the MGCP messages for the mgw. */ +DEFUN_ATTR(cfg_ts_e1_subslot, + cfg_ts_e1_subslot_cmd, + "e1 line E1_LINE timeslot <1-31> sub-slot (0|1|2|3|full)", + "E1/T1 channel connected to this on-air timeslot\n" + "E1/T1 channel connected to this on-air timeslot\n" + "E1/T1 line connected to this on-air timeslot\n" + "E1/T1 timeslot connected to this on-air timeslot\n" + "E1/T1 timeslot connected to this on-air timeslot\n" + "E1/T1 sub-slot connected to this on-air timeslot\n" + "E1/T1 sub-slot 0 connected to this on-air timeslot\n" + "E1/T1 sub-slot 1 connected to this on-air timeslot\n" + "E1/T1 sub-slot 2 connected to this on-air timeslot\n" + "E1/T1 sub-slot 3 connected to this on-air timeslot\n" + "Full E1/T1 timeslot connected to this on-air timeslot\n", + CMD_ATTR_IMMEDIATE) +{ + struct gsm_bts_trx_ts *ts = vty->index; + + parse_e1_link(&ts->e1_link, argv[0], argv[1], argv[2]); + + return CMD_SUCCESS; +} + +/* call vty_out() to print a string like " as TCH/H" for dynamic timeslots. + * Don't do anything if the ts is not dynamic. */ +static void vty_out_dyn_ts_status(struct vty *vty, struct gsm_bts_trx_ts *ts) +{ + enum gsm_phys_chan_config target; + if (ts_is_pchan_switching(ts, &target)) { + vty_out(vty, " switching %s -> %s", gsm_pchan_name(ts->pchan_is), + gsm_pchan_name(target)); + } else if (ts->pchan_is != ts->pchan_on_init) { + vty_out(vty, " as %s", gsm_pchan_name(ts->pchan_is)); + } +} + +static void vty_out_dyn_ts_details(struct vty *vty, struct gsm_bts_trx_ts *ts) +{ + /* show dyn TS details, if applicable */ + switch (ts->pchan_on_init) { + case GSM_PCHAN_OSMO_DYN: + vty_out(vty, " Osmocom Dyn TS:"); + vty_out_dyn_ts_status(vty, ts); + vty_out(vty, VTY_NEWLINE); + break; + case GSM_PCHAN_TCH_F_PDCH: + vty_out(vty, " IPACC Dyn PDCH TS:"); + vty_out_dyn_ts_status(vty, ts); + vty_out(vty, VTY_NEWLINE); + break; + default: + /* no dyn ts */ + break; + } +} + +static void meas_rep_dump_uni_vty(struct vty *vty, + struct gsm_meas_rep_unidir *mru, + const char *prefix, + const char *dir) +{ + vty_out(vty, "%s RXL-FULL-%s: %4d dBm, RXL-SUB-%s: %4d dBm ", + prefix, dir, rxlev2dbm(mru->full.rx_lev), + dir, rxlev2dbm(mru->sub.rx_lev)); + vty_out(vty, "RXQ-FULL-%s: %d, RXQ-SUB-%s: %d%s", + dir, mru->full.rx_qual, dir, mru->sub.rx_qual, + VTY_NEWLINE); +} + +static void meas_rep_dump_vty(struct vty *vty, struct gsm_meas_rep *mr, + const char *prefix) +{ + vty_out(vty, "%sMeasurement Report:%s", prefix, VTY_NEWLINE); + vty_out(vty, "%s Flags: %s%s%s%s%s", prefix, + mr->flags & MEAS_REP_F_UL_DTX ? "DTXu " : "", + mr->flags & MEAS_REP_F_DL_DTX ? "DTXd " : "", + mr->flags & MEAS_REP_F_FPC ? "FPC " : "", + mr->flags & MEAS_REP_F_DL_VALID ? " " : "DLinval ", + VTY_NEWLINE); + if (mr->flags & MEAS_REP_F_MS_TO) + vty_out(vty, "%s MS Timing Offset: %d%s", prefix, mr->ms_timing_offset, VTY_NEWLINE); + if (mr->flags & MEAS_REP_F_MS_L1) + vty_out(vty, "%s L1 MS Power: %u dBm, Timing Advance: %u%s", + prefix, mr->ms_l1.pwr, mr->ms_l1.ta, VTY_NEWLINE); + if (mr->flags & MEAS_REP_F_DL_VALID) + meas_rep_dump_uni_vty(vty, &mr->dl, prefix, "dl"); + meas_rep_dump_uni_vty(vty, &mr->ul, prefix, "ul"); +} + +void lchan_dump_full_vty(struct vty *vty, struct gsm_lchan *lchan) +{ + int idx; + + vty_out(vty, "BTS %u, TRX %u, Timeslot %u, Lchan %u: Type %s%s", + lchan->ts->trx->bts->nr, lchan->ts->trx->nr, lchan->ts->nr, + lchan->nr, gsm_lchant_name(lchan->type), VTY_NEWLINE); + vty_out_dyn_ts_details(vty, lchan->ts); + vty_out(vty, " Connection: %u, State: %s%s%s%s", + lchan->conn ? 1: 0, lchan_state_name(lchan), + lchan->fi && lchan->fi->state == LCHAN_ST_BORKEN ? " Error reason: " : "", + lchan->fi && lchan->fi->state == LCHAN_ST_BORKEN ? lchan->last_error : "", + VTY_NEWLINE); + vty_out(vty, " BS Power: %u dBm, MS Power: %u dBm%s", + lchan->ts->trx->nominal_power - lchan->ts->trx->max_power_red + - lchan->bs_power_db, + ms_pwr_dbm(lchan->ts->trx->bts->band, lchan->ms_power), + VTY_NEWLINE); + + vty_out(vty, " Interference Level: "); + if (lchan->interf_dbm == INTERF_DBM_UNKNOWN) + vty_out(vty, "unknown"); + else + vty_out(vty, "%d dBm (%u)", lchan->interf_dbm, lchan->interf_band); + vty_out(vty, "%s", VTY_NEWLINE); + + vty_out(vty, " Channel Mode / Codec: %s%s", + gsm48_chan_mode_name(lchan->current_ch_mode_rate.chan_mode), + VTY_NEWLINE); + if (!lchan_state_is(lchan, LCHAN_ST_UNUSED)) + vty_out(vty, " Training Sequence: Set %d Code %u%s", (lchan->tsc_set > 0 ? lchan->tsc_set : 1), lchan->tsc, VTY_NEWLINE); + if (lchan->vamos.enabled) + vty_out(vty, " VAMOS: enabled%s", VTY_NEWLINE); + if (lchan->conn && lchan->conn->bsub) { + vty_out(vty, " Subscriber:%s", VTY_NEWLINE); + bsc_subscr_dump_vty(vty, lchan->conn->bsub); + } else + vty_out(vty, " No Subscriber%s", VTY_NEWLINE); + if (is_ipaccess_bts(lchan->ts->trx->bts)) { + struct in_addr ia; + if (lchan->abis_ip.bound_ip) { + ia.s_addr = htonl(lchan->abis_ip.bound_ip); + vty_out(vty, " Bound IP: %s Port %u RTP_TYPE2=%u CONN_ID=%u%s", + inet_ntoa(ia), lchan->abis_ip.bound_port, + lchan->abis_ip.rtp_payload2, lchan->abis_ip.conn_id, + VTY_NEWLINE); + } + if (lchan->abis_ip.connect_ip) { + ia.s_addr = htonl(lchan->abis_ip.connect_ip); + vty_out(vty, " Conn. IP: %s Port %u RTP_TYPE=%u SPEECH_MODE=0x%02x%s", + inet_ntoa(ia), lchan->abis_ip.connect_port, + lchan->abis_ip.rtp_payload, lchan->abis_ip.speech_mode, + VTY_NEWLINE); + } + + } + + /* we want to report the last measurement report */ + idx = calc_initial_idx(ARRAY_SIZE(lchan->meas_rep), + lchan->meas_rep_idx, 1); + meas_rep_dump_vty(vty, &lchan->meas_rep[idx], " "); +} + +void lchan_dump_short_vty(struct vty *vty, struct gsm_lchan *lchan) +{ + struct gsm_meas_rep *mr; + int idx; + + /* we want to report the last measurement report */ + idx = calc_initial_idx(ARRAY_SIZE(lchan->meas_rep), + lchan->meas_rep_idx, 1); + mr = &lchan->meas_rep[idx]; + + vty_out(vty, "BTS %u, TRX %u, Timeslot %u %s", + lchan->ts->trx->bts->nr, lchan->ts->trx->nr, lchan->ts->nr, + gsm_pchan_name(lchan->ts->pchan_on_init)); + vty_out_dyn_ts_status(vty, lchan->ts); + vty_out(vty, ", Lchan %u", lchan->nr); + + if (lchan_state_is(lchan, LCHAN_ST_UNUSED)) { + vty_out(vty, ", Type %s, State %s - Interference Level: ", + gsm_pchan_name(lchan->ts->pchan_is), + lchan_state_name(lchan)); + if (lchan->interf_dbm == INTERF_DBM_UNKNOWN) + vty_out(vty, "unknown"); + else + vty_out(vty, "%d dBm (%u)", lchan->interf_dbm, lchan->interf_band); + vty_out(vty, "%s", VTY_NEWLINE); + return; + } + + vty_out(vty, ", Type %s%s TSC-s%dc%u, State %s - L1 MS Power: %u dBm RXL-FULL-dl: %4d dBm RXL-FULL-ul: %4d dBm%s", + gsm_lchant_name(lchan->type), + lchan->vamos.enabled ? " (VAMOS)" : "", + lchan->tsc_set > 0 ? lchan->tsc_set : 1, + lchan->tsc, + lchan_state_name(lchan), + mr->ms_l1.pwr, + rxlev2dbm(mr->dl.full.rx_lev), + rxlev2dbm(mr->ul.full.rx_lev), + VTY_NEWLINE); +} + +void ts_dump_vty(struct vty *vty, struct gsm_bts_trx_ts *ts) +{ + vty_out(vty, "BTS %u, TRX %u, Timeslot %u, phys cfg %s (active %s)", + ts->trx->bts->nr, ts->trx->nr, ts->nr, + gsm_pchan_name(ts->pchan_on_init), + gsm_pchan_name(ts->pchan_is)); + if (ts->pchan_is != ts->pchan_on_init) + vty_out(vty, " (%s mode)", gsm_pchan_name(ts->pchan_is)); + vty_out(vty, ", TSC %u%s NM State: ", gsm_ts_tsc(ts), VTY_NEWLINE); + vty_out_dyn_ts_details(vty, ts); + net_dump_nmstate(vty, &ts->mo.nm_state); + if (!is_ipaccess_bts(ts->trx->bts)) + vty_out(vty, " E1 Line %u, Timeslot %u, Subslot %u%s", + ts->e1_link.e1_nr, ts->e1_link.e1_ts, + ts->e1_link.e1_ts_ss, VTY_NEWLINE); +} + +void e1isl_dump_vty(struct vty *vty, struct e1inp_sign_link *e1l) +{ + struct e1inp_line *line; + + if (!e1l) { + vty_out(vty, " None%s", VTY_NEWLINE); + return; + } + + line = e1l->ts->line; + + vty_out(vty, " E1 Line %u, Type %s: Timeslot %u, Mode %s%s", + line->num, line->driver->name, e1l->ts->num, + e1inp_signtype_name(e1l->type), VTY_NEWLINE); + vty_out(vty, " E1 TEI %u, SAPI %u%s", + e1l->tei, e1l->sapi, VTY_NEWLINE); +} + +/*! Dump the IP addresses and ports of the input signal link's timeslot. + * This only makes sense for links connected with ipaccess. + * Example output: "(r=10.1.42.1:55416<->l=10.1.42.123:3003)" */ +void e1isl_dump_vty_tcp(struct vty *vty, const struct e1inp_sign_link *e1l) +{ + if (e1l) { + char *name = osmo_sock_get_name(NULL, e1l->ts->driver.ipaccess.fd.fd); + vty_out(vty, "%s", name); + talloc_free(name); + } + vty_out(vty, "%s", VTY_NEWLINE); +} + +void trx_dump_vty(struct vty *vty, struct gsm_bts_trx *trx, bool print_rsl, bool show_connected) +{ + if (show_connected && !trx->rsl_link_primary) + return; + + if (!show_connected && trx->rsl_link_primary) + return; + + vty_out(vty, "TRX %u of BTS %u is on ARFCN %u%s", + trx->nr, trx->bts->nr, trx->arfcn, VTY_NEWLINE); + vty_out(vty, " RF Nominal Power: %d dBm, reduced by %u dB, " + "resulting BS power: %d dBm%s", + trx->nominal_power, trx->max_power_red, + trx->nominal_power - trx->max_power_red, VTY_NEWLINE); + vty_out(vty, " Radio Carrier NM State: "); + net_dump_nmstate(vty, &trx->mo.nm_state); + if (print_rsl) + vty_out(vty, " RSL State: %s%s", trx->rsl_link_primary? "connected" : "disconnected", VTY_NEWLINE); + vty_out(vty, " Baseband Transceiver NM State: "); + net_dump_nmstate(vty, &trx->bb_transc.mo.nm_state); + if (is_ipaccess_bts(trx->bts)) { + vty_out(vty, " ip.access stream ID: 0x%02x ", trx->rsl_tei_primary); + e1isl_dump_vty_tcp(vty, trx->rsl_link_primary); + } else { + vty_out(vty, " E1 Signalling Link:%s", VTY_NEWLINE); + e1isl_dump_vty(vty, trx->rsl_link_primary); + } +} + +void config_write_e1_link(struct vty *vty, struct gsm_e1_subslot *e1_link, + const char *prefix) +{ + if (!e1_link->e1_ts) + return; + + if (e1_link->e1_ts_ss == 255) + vty_out(vty, "%se1 line %u timeslot %u sub-slot full%s", + prefix, e1_link->e1_nr, e1_link->e1_ts, VTY_NEWLINE); + else + vty_out(vty, "%se1 line %u timeslot %u sub-slot %u%s", + prefix, e1_link->e1_nr, e1_link->e1_ts, + e1_link->e1_ts_ss, VTY_NEWLINE); +} + + +static void config_write_ts_single(struct vty *vty, struct gsm_bts_trx_ts *ts) +{ + vty_out(vty, " timeslot %u%s", ts->nr, VTY_NEWLINE); + if (ts->tsc != -1) + vty_out(vty, " training_sequence_code %u%s", ts->tsc, VTY_NEWLINE); + if (ts->pchan_from_config != GSM_PCHAN_NONE) + vty_out(vty, " phys_chan_config %s%s", + gsm_pchan_name(ts->pchan_from_config), VTY_NEWLINE); + vty_out(vty, " hopping enabled %u%s", + ts->hopping.enabled, VTY_NEWLINE); + if (ts->hopping.enabled) { + unsigned int i; + vty_out(vty, " hopping sequence-number %u%s", + ts->hopping.hsn, VTY_NEWLINE); + vty_out(vty, " hopping maio %u%s", + ts->hopping.maio, VTY_NEWLINE); + for (i = 0; i < ts->hopping.arfcns.data_len*8; i++) { + if (!bitvec_get_bit_pos(&ts->hopping.arfcns, i)) + continue; + vty_out(vty, " hopping arfcn add %u%s", + i, VTY_NEWLINE); + } + } + config_write_e1_link(vty, &ts->e1_link, " "); + + if (ts->trx->bts->model->config_write_ts) + ts->trx->bts->model->config_write_ts(vty, ts); +} + +void config_write_trx_single(struct vty *vty, struct gsm_bts_trx *trx) +{ + int i; + + vty_out(vty, " trx %u%s", trx->nr, VTY_NEWLINE); + vty_out(vty, " rf_locked %u%s", + trx->mo.force_rf_lock ? 1 : 0, + VTY_NEWLINE); + vty_out(vty, " arfcn %u%s", trx->arfcn, VTY_NEWLINE); + vty_out(vty, " nominal power %u%s", trx->nominal_power, VTY_NEWLINE); + vty_out(vty, " max_power_red %u%s", trx->max_power_red, VTY_NEWLINE); + config_write_e1_link(vty, &trx->rsl_e1_link, " rsl "); + vty_out(vty, " rsl e1 tei %u%s", trx->rsl_tei_primary, VTY_NEWLINE); + + if (trx->bts->model->config_write_trx) + trx->bts->model->config_write_trx(vty, trx); + + for (i = 0; i < TRX_NR_TS; i++) + config_write_ts_single(vty, &trx->ts[i]); +} + +int bts_trx_vty_init(void) +{ + cfg_ts_pchan_cmd.string = + vty_cmd_string_from_valstr(tall_bsc_ctx, + gsm_pchant_names, + "phys_chan_config (", "|", ")", + VTY_DO_LOWER); + cfg_ts_pchan_cmd.doc = + vty_cmd_string_from_valstr(tall_bsc_ctx, + gsm_pchant_descs, + "Physical Channel Combination\n", + "\n", "", 0); + + install_element(BTS_NODE, &cfg_trx_cmd); + install_node(&trx_node, dummy_config_write); + install_element(TRX_NODE, &cfg_trx_arfcn_cmd); + install_element(TRX_NODE, &cfg_description_cmd); + install_element(TRX_NODE, &cfg_no_description_cmd); + install_element(TRX_NODE, &cfg_trx_nominal_power_cmd); + install_element(TRX_NODE, &cfg_trx_max_power_red_cmd); + install_element(TRX_NODE, &cfg_trx_rsl_e1_cmd); + install_element(TRX_NODE, &cfg_trx_rsl_e1_tei_cmd); + install_element(TRX_NODE, &cfg_trx_rf_locked_cmd); + + install_element(TRX_NODE, &cfg_ts_cmd); + install_node(&ts_node, dummy_config_write); + install_element(TS_NODE, &cfg_ts_pchan_cmd); + install_element(TS_NODE, &cfg_ts_pchan_compat_cmd); + install_element(TS_NODE, &cfg_ts_tsc_cmd); + install_element(TS_NODE, &cfg_ts_hopping_cmd); + install_element(TS_NODE, &cfg_ts_hsn_cmd); + install_element(TS_NODE, &cfg_ts_maio_cmd); + install_element(TS_NODE, &cfg_ts_arfcn_add_cmd); + install_element(TS_NODE, &cfg_ts_arfcn_del_cmd); + install_element(TS_NODE, &cfg_ts_arfcn_del_all_cmd); + install_element(TS_NODE, &cfg_ts_e1_subslot_cmd); + + return 0; +} diff --git a/src/osmo-bsc/bts_vty.c b/src/osmo-bsc/bts_vty.c index 5859480..b8b9f6c 100644 --- a/src/osmo-bsc/bts_vty.c +++ b/src/osmo-bsc/bts_vty.c @@ -38,7 +38,6 @@ #include #include -#include #include #include #include @@ -48,9 +47,6 @@ #include #include #include -#include -#include -#include #include #include @@ -106,30 +102,6 @@ 1, }; -static struct cmd_node trx_node = { - TRX_NODE, - "%s(config-net-bts-trx)# ", - 1, -}; - -static struct cmd_node ts_node = { - TS_NODE, - "%s(config-net-bts-trx-ts)# ", - 1, -}; - -/* utility functions */ -static void parse_e1_link(struct gsm_e1_subslot *e1_link, const char *line, - const char *ts, const char *ss) -{ - e1_link->e1_nr = atoi(line); - e1_link->e1_ts = atoi(ts); - if (!strcmp(ss, "full")) - e1_link->e1_ts_ss = 255; - else - e1_link->e1_ts_ss = atoi(ss); -} - /* per-BTS configuration */ DEFUN_ATTR(cfg_bts, cfg_bts_cmd, @@ -3231,615 +3203,6 @@ return CMD_SUCCESS; } -#define TRX_TEXT "Radio Transceiver\n" - -/* per TRX configuration */ -DEFUN_ATTR(cfg_trx, - cfg_trx_cmd, - "trx <0-255>", - TRX_TEXT - "Select a TRX to configure\n", - CMD_ATTR_IMMEDIATE) -{ - int trx_nr = atoi(argv[0]); - struct gsm_bts *bts = vty->index; - struct gsm_bts_trx *trx; - - if (trx_nr > bts->num_trx) { - vty_out(vty, "%% The next unused TRX number in this BTS is %u%s", - bts->num_trx, VTY_NEWLINE); - return CMD_WARNING; - } else if (trx_nr == bts->num_trx) { - /* we need to allocate a new one */ - trx = gsm_bts_trx_alloc(bts); - } else - trx = gsm_bts_trx_num(bts, trx_nr); - - if (!trx) - return CMD_WARNING; - - vty->index = trx; - vty->node = TRX_NODE; - - return CMD_SUCCESS; -} - -DEFUN_USRATTR(cfg_trx_arfcn, - cfg_trx_arfcn_cmd, - X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), - "arfcn <0-1023>", - "Set the ARFCN for this TRX\n" - "Absolute Radio Frequency Channel Number\n") -{ - enum gsm_band unused; - struct gsm_bts_trx *trx = vty->index; - int arfcn = atoi(argv[0]); - - if (gsm_arfcn2band_rc(arfcn, &unused) < 0) { - vty_out(vty, "%% Invalid arfcn %" PRIu16 " detected%s", arfcn, VTY_NEWLINE); - return CMD_WARNING; - } - - /* FIXME: check if this ARFCN is supported by this TRX */ - - trx->arfcn = arfcn; - - /* Update Cell Allocation (list of all the frequencies allocated to a cell) */ - if (generate_cell_chan_alloc(trx->bts) != 0) { - vty_out(vty, "%% Failed to re-generate Cell Allocation%s", VTY_NEWLINE); - return CMD_WARNING; - } - - /* FIXME: patch ARFCN into SYSTEM INFORMATION */ - /* FIXME: use OML layer to update the ARFCN */ - /* FIXME: use RSL layer to update SYSTEM INFORMATION */ - - return CMD_SUCCESS; -} - -DEFUN_USRATTR(cfg_trx_nominal_power, - cfg_trx_nominal_power_cmd, - X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), - "nominal power <-20-100>", - "Nominal TRX RF Power in dBm\n" - "Nominal TRX RF Power in dBm\n" - "Nominal TRX RF Power in dBm\n") -{ - struct gsm_bts_trx *trx = vty->index; - - trx->nominal_power = atoi(argv[0]); - - return CMD_SUCCESS; -} - -DEFUN_USRATTR(cfg_trx_max_power_red, - cfg_trx_max_power_red_cmd, - X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), - "max_power_red <0-100>", - "Reduction of maximum BS RF Power (relative to nominal power)\n" - "Reduction of maximum BS RF Power in dB\n") -{ - int maxpwr_r = atoi(argv[0]); - struct gsm_bts_trx *trx = vty->index; - int upper_limit = 24; /* default 12.21 max power red. */ - - /* FIXME: check if our BTS type supports more than 12 */ - if (maxpwr_r < 0 || maxpwr_r > upper_limit) { - vty_out(vty, "%% Power %d dB is not in the valid range%s", - maxpwr_r, VTY_NEWLINE); - return CMD_WARNING; - } - if (maxpwr_r & 1) { - vty_out(vty, "%% Power %d dB is not an even value%s", - maxpwr_r, VTY_NEWLINE); - return CMD_WARNING; - } - - trx->max_power_red = maxpwr_r; - - /* FIXME: make sure we update this using OML */ - - return CMD_SUCCESS; -} - -/* NOTE: This requires a full restart as bsc_network_configure() is executed - * only once on startup from osmo_bsc_main.c */ -DEFUN(cfg_trx_rsl_e1, - cfg_trx_rsl_e1_cmd, - "rsl e1 line E1_LINE timeslot <1-31> sub-slot (0|1|2|3|full)", - "RSL Parameters\n" - "E1/T1 interface to be used for RSL\n" - "E1/T1 interface to be used for RSL\n" - "E1/T1 Line Number to be used for RSL\n" - "E1/T1 Timeslot to be used for RSL\n" - "E1/T1 Timeslot to be used for RSL\n" - "E1/T1 Sub-slot to be used for RSL\n" - "E1/T1 Sub-slot 0 is to be used for RSL\n" - "E1/T1 Sub-slot 1 is to be used for RSL\n" - "E1/T1 Sub-slot 2 is to be used for RSL\n" - "E1/T1 Sub-slot 3 is to be used for RSL\n" - "E1/T1 full timeslot is to be used for RSL\n") -{ - struct gsm_bts_trx *trx = vty->index; - - parse_e1_link(&trx->rsl_e1_link, argv[0], argv[1], argv[2]); - - return CMD_SUCCESS; -} - -DEFUN_USRATTR(cfg_trx_rsl_e1_tei, - cfg_trx_rsl_e1_tei_cmd, - X(BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK), - "rsl e1 tei <0-63>", - "RSL Parameters\n" - "Set the TEI to be used for RSL\n" - "Set the TEI to be used for RSL\n" - "TEI to be used for RSL\n") -{ - struct gsm_bts_trx *trx = vty->index; - - trx->rsl_tei_primary = atoi(argv[0]); - - return CMD_SUCCESS; -} - -DEFUN_ATTR(cfg_trx_rf_locked, - cfg_trx_rf_locked_cmd, - "rf_locked (0|1)", - "Set or unset the RF Locking (Turn off RF of the TRX)\n" - "TRX is NOT RF locked (active)\n" - "TRX is RF locked (turned off)\n", - CMD_ATTR_IMMEDIATE) -{ - int locked = atoi(argv[0]); - struct gsm_bts_trx *trx = vty->index; - - gsm_trx_lock_rf(trx, locked, "vty"); - return CMD_SUCCESS; -} - -/* per TS configuration */ -DEFUN_ATTR(cfg_ts, - cfg_ts_cmd, - "timeslot <0-7>", - "Select a Timeslot to configure\n" - "Timeslot number\n", - CMD_ATTR_IMMEDIATE) -{ - int ts_nr = atoi(argv[0]); - struct gsm_bts_trx *trx = vty->index; - struct gsm_bts_trx_ts *ts; - - if (ts_nr >= TRX_NR_TS) { - vty_out(vty, "%% A GSM TRX only has %u Timeslots per TRX%s", - TRX_NR_TS, VTY_NEWLINE); - return CMD_WARNING; - } - - ts = &trx->ts[ts_nr]; - - vty->index = ts; - vty->node = TS_NODE; - - return CMD_SUCCESS; -} - -DEFUN_USRATTR(cfg_ts_pchan, - cfg_ts_pchan_cmd, - X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), - "phys_chan_config PCHAN", /* dynamically generated! */ - "Physical Channel configuration (TCH/SDCCH/...)\n" "Physical Channel\n") -{ - struct gsm_bts_trx_ts *ts = vty->index; - int pchanc; - - pchanc = gsm_pchan_parse(argv[0]); - if (pchanc < 0) - return CMD_WARNING; - - ts->pchan_from_config = pchanc; - - return CMD_SUCCESS; -} - -/* used for backwards compatibility with old config files that still - * have uppercase pchan type names. Also match older names for existing types. */ -DEFUN_HIDDEN(cfg_ts_pchan_compat, - cfg_ts_pchan_compat_cmd, - "phys_chan_config PCHAN", - "Physical Channel configuration (TCH/SDCCH/...)\n" "Physical Channel\n") -{ - struct gsm_bts_trx_ts *ts = vty->index; - int pchanc; - - pchanc = gsm_pchan_parse(argv[0]); - if (pchanc < 0) { - if (strcasecmp(argv[0], "tch/f_tch/h_pdch") == 0) { - pchanc = GSM_PCHAN_OSMO_DYN; - } else { - vty_out(vty, "Unknown physical channel name '%s'%s", argv[0], VTY_NEWLINE); - return CMD_ERR_NO_MATCH; - } - } - - ts->pchan_from_config = pchanc; - - return CMD_SUCCESS; -} - -DEFUN_USRATTR(cfg_ts_tsc, - cfg_ts_tsc_cmd, - X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), - "training_sequence_code <0-7>", - "Training Sequence Code of the Timeslot\n" "TSC\n") -{ - struct gsm_bts_trx_ts *ts = vty->index; - - if (!osmo_bts_has_feature(&ts->trx->bts->model->features, BTS_FEAT_MULTI_TSC)) { - vty_out(vty, "%% This BTS does not support a TSC != BCC, " - "falling back to BCC%s", VTY_NEWLINE); - ts->tsc = -1; - return CMD_WARNING; - } - - ts->tsc = atoi(argv[0]); - - return CMD_SUCCESS; -} - -#define HOPPING_STR "Configure frequency hopping\n" - -DEFUN_USRATTR(cfg_ts_hopping, - cfg_ts_hopping_cmd, - X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), - "hopping enabled (0|1)", - HOPPING_STR "Enable or disable frequency hopping\n" - "Disable frequency hopping\n" "Enable frequency hopping\n") -{ - struct gsm_bts_trx_ts *ts = vty->index; - int enabled = atoi(argv[0]); - - if (enabled && !osmo_bts_has_feature(&ts->trx->bts->model->features, BTS_FEAT_HOPPING)) { - vty_out(vty, "%% BTS model does not seem to support freq. hopping%s", VTY_NEWLINE); - /* Allow enabling frequency hopping anyway, because the BTS might not have - * connected yet (thus not sent the feature vector), so we cannot know for - * sure. Jet print a warning and let it go. */ - } - - ts->hopping.enabled = enabled; - - return CMD_SUCCESS; -} - -DEFUN_USRATTR(cfg_ts_hsn, - cfg_ts_hsn_cmd, - X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), - "hopping sequence-number <0-63>", - HOPPING_STR - "Which hopping sequence to use for this channel\n" - "Hopping Sequence Number (HSN)\n") -{ - struct gsm_bts_trx_ts *ts = vty->index; - - ts->hopping.hsn = atoi(argv[0]); - - return CMD_SUCCESS; -} - -DEFUN_USRATTR(cfg_ts_maio, - cfg_ts_maio_cmd, - X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), - "hopping maio <0-63>", - HOPPING_STR - "Which hopping MAIO to use for this channel\n" - "Mobile Allocation Index Offset (MAIO)\n") -{ - struct gsm_bts_trx_ts *ts = vty->index; - - ts->hopping.maio = atoi(argv[0]); - - return CMD_SUCCESS; -} - -DEFUN_USRATTR(cfg_ts_arfcn_add, - cfg_ts_arfcn_add_cmd, - X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), - "hopping arfcn add <0-1023>", - HOPPING_STR "Configure hopping ARFCN list\n" - "Add an entry to the hopping ARFCN list\n" "ARFCN\n") -{ - enum gsm_band unused; - struct gsm_bts_trx_ts *ts = vty->index; - int arfcn = atoi(argv[0]); - - if (gsm_arfcn2band_rc(arfcn, &unused) < 0) { - vty_out(vty, "%% Invalid arfcn %" PRIu16 " detected%s", arfcn, VTY_NEWLINE); - return CMD_WARNING; - } - - if (bitvec_get_bit_pos(&ts->hopping.arfcns, arfcn) == ONE) { - vty_out(vty, "%% ARFCN %" PRIu16 " is already set%s", arfcn, VTY_NEWLINE); - return CMD_WARNING; - } - - bitvec_set_bit_pos(&ts->hopping.arfcns, arfcn, 1); - - /* Update Cell Allocation (list of all the frequencies allocated to a cell) */ - if (generate_cell_chan_alloc(ts->trx->bts) != 0) { - vty_out(vty, "%% Failed to re-generate Cell Allocation%s", VTY_NEWLINE); - bitvec_set_bit_pos(&ts->hopping.arfcns, arfcn, ZERO); /* roll-back */ - return CMD_WARNING; - } - - return CMD_SUCCESS; -} - -DEFUN_USRATTR(cfg_ts_arfcn_del, - cfg_ts_arfcn_del_cmd, - X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), - "hopping arfcn del <0-1023>", - HOPPING_STR "Configure hopping ARFCN list\n" - "Delete an entry to the hopping ARFCN list\n" "ARFCN\n") -{ - enum gsm_band unused; - struct gsm_bts_trx_ts *ts = vty->index; - int arfcn = atoi(argv[0]); - - if (gsm_arfcn2band_rc(arfcn, &unused) < 0) { - vty_out(vty, "%% Invalid arfcn %" PRIu16 " detected%s", arfcn, VTY_NEWLINE); - return CMD_WARNING; - } - - if (bitvec_get_bit_pos(&ts->hopping.arfcns, arfcn) != ONE) { - vty_out(vty, "%% ARFCN %" PRIu16 " is not set%s", arfcn, VTY_NEWLINE); - return CMD_WARNING; - } - - bitvec_set_bit_pos(&ts->hopping.arfcns, arfcn, 0); - - /* Update Cell Allocation (list of all the frequencies allocated to a cell) */ - if (generate_cell_chan_alloc(ts->trx->bts) != 0) { - vty_out(vty, "%% Failed to re-generate Cell Allocation%s", VTY_NEWLINE); - /* It's unlikely to happen on removal, so we don't roll-back */ - return CMD_WARNING; - } - - return CMD_SUCCESS; -} - -DEFUN_USRATTR(cfg_ts_arfcn_del_all, - cfg_ts_arfcn_del_all_cmd, - X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), - "hopping arfcn del-all", - HOPPING_STR "Configure hopping ARFCN list\n" - "Delete all previously configured entries\n") -{ - struct gsm_bts_trx_ts *ts = vty->index; - - bitvec_zero(&ts->hopping.arfcns); - - /* Update Cell Allocation (list of all the frequencies allocated to a cell) */ - if (generate_cell_chan_alloc(ts->trx->bts) != 0) { - vty_out(vty, "%% Failed to re-generate Cell Allocation%s", VTY_NEWLINE); - /* It's unlikely to happen on removal, so we don't roll-back */ - return CMD_WARNING; - } - - return CMD_SUCCESS; -} - -/* NOTE: This will have an effect on newly created voice lchans since the E1 - * voice channels are handled by osmo-mgw and the information put in e1_link - * here is only used to generate the MGCP messages for the mgw. */ -DEFUN_ATTR(cfg_ts_e1_subslot, - cfg_ts_e1_subslot_cmd, - "e1 line E1_LINE timeslot <1-31> sub-slot (0|1|2|3|full)", - "E1/T1 channel connected to this on-air timeslot\n" - "E1/T1 channel connected to this on-air timeslot\n" - "E1/T1 line connected to this on-air timeslot\n" - "E1/T1 timeslot connected to this on-air timeslot\n" - "E1/T1 timeslot connected to this on-air timeslot\n" - "E1/T1 sub-slot connected to this on-air timeslot\n" - "E1/T1 sub-slot 0 connected to this on-air timeslot\n" - "E1/T1 sub-slot 1 connected to this on-air timeslot\n" - "E1/T1 sub-slot 2 connected to this on-air timeslot\n" - "E1/T1 sub-slot 3 connected to this on-air timeslot\n" - "Full E1/T1 timeslot connected to this on-air timeslot\n", - CMD_ATTR_IMMEDIATE) -{ - struct gsm_bts_trx_ts *ts = vty->index; - - parse_e1_link(&ts->e1_link, argv[0], argv[1], argv[2]); - - return CMD_SUCCESS; -} - -/* call vty_out() to print a string like " as TCH/H" for dynamic timeslots. - * Don't do anything if the ts is not dynamic. */ -static void vty_out_dyn_ts_status(struct vty *vty, struct gsm_bts_trx_ts *ts) -{ - enum gsm_phys_chan_config target; - if (ts_is_pchan_switching(ts, &target)) { - vty_out(vty, " switching %s -> %s", gsm_pchan_name(ts->pchan_is), - gsm_pchan_name(target)); - } else if (ts->pchan_is != ts->pchan_on_init) { - vty_out(vty, " as %s", gsm_pchan_name(ts->pchan_is)); - } -} - -static void vty_out_dyn_ts_details(struct vty *vty, struct gsm_bts_trx_ts *ts) -{ - /* show dyn TS details, if applicable */ - switch (ts->pchan_on_init) { - case GSM_PCHAN_OSMO_DYN: - vty_out(vty, " Osmocom Dyn TS:"); - vty_out_dyn_ts_status(vty, ts); - vty_out(vty, VTY_NEWLINE); - break; - case GSM_PCHAN_TCH_F_PDCH: - vty_out(vty, " IPACC Dyn PDCH TS:"); - vty_out_dyn_ts_status(vty, ts); - vty_out(vty, VTY_NEWLINE); - break; - default: - /* no dyn ts */ - break; - } -} - -static void meas_rep_dump_uni_vty(struct vty *vty, - struct gsm_meas_rep_unidir *mru, - const char *prefix, - const char *dir) -{ - vty_out(vty, "%s RXL-FULL-%s: %4d dBm, RXL-SUB-%s: %4d dBm ", - prefix, dir, rxlev2dbm(mru->full.rx_lev), - dir, rxlev2dbm(mru->sub.rx_lev)); - vty_out(vty, "RXQ-FULL-%s: %d, RXQ-SUB-%s: %d%s", - dir, mru->full.rx_qual, dir, mru->sub.rx_qual, - VTY_NEWLINE); -} - -static void meas_rep_dump_vty(struct vty *vty, struct gsm_meas_rep *mr, - const char *prefix) -{ - vty_out(vty, "%sMeasurement Report:%s", prefix, VTY_NEWLINE); - vty_out(vty, "%s Flags: %s%s%s%s%s", prefix, - mr->flags & MEAS_REP_F_UL_DTX ? "DTXu " : "", - mr->flags & MEAS_REP_F_DL_DTX ? "DTXd " : "", - mr->flags & MEAS_REP_F_FPC ? "FPC " : "", - mr->flags & MEAS_REP_F_DL_VALID ? " " : "DLinval ", - VTY_NEWLINE); - if (mr->flags & MEAS_REP_F_MS_TO) - vty_out(vty, "%s MS Timing Offset: %d%s", prefix, mr->ms_timing_offset, VTY_NEWLINE); - if (mr->flags & MEAS_REP_F_MS_L1) - vty_out(vty, "%s L1 MS Power: %u dBm, Timing Advance: %u%s", - prefix, mr->ms_l1.pwr, mr->ms_l1.ta, VTY_NEWLINE); - if (mr->flags & MEAS_REP_F_DL_VALID) - meas_rep_dump_uni_vty(vty, &mr->dl, prefix, "dl"); - meas_rep_dump_uni_vty(vty, &mr->ul, prefix, "ul"); -} - -void lchan_dump_full_vty(struct vty *vty, struct gsm_lchan *lchan) -{ - int idx; - - vty_out(vty, "BTS %u, TRX %u, Timeslot %u, Lchan %u: Type %s%s", - lchan->ts->trx->bts->nr, lchan->ts->trx->nr, lchan->ts->nr, - lchan->nr, gsm_lchant_name(lchan->type), VTY_NEWLINE); - vty_out_dyn_ts_details(vty, lchan->ts); - vty_out(vty, " Connection: %u, State: %s%s%s%s", - lchan->conn ? 1: 0, lchan_state_name(lchan), - lchan->fi && lchan->fi->state == LCHAN_ST_BORKEN ? " Error reason: " : "", - lchan->fi && lchan->fi->state == LCHAN_ST_BORKEN ? lchan->last_error : "", - VTY_NEWLINE); - vty_out(vty, " BS Power: %u dBm, MS Power: %u dBm%s", - lchan->ts->trx->nominal_power - lchan->ts->trx->max_power_red - - lchan->bs_power_db, - ms_pwr_dbm(lchan->ts->trx->bts->band, lchan->ms_power), - VTY_NEWLINE); - - vty_out(vty, " Interference Level: "); - if (lchan->interf_dbm == INTERF_DBM_UNKNOWN) - vty_out(vty, "unknown"); - else - vty_out(vty, "%d dBm (%u)", lchan->interf_dbm, lchan->interf_band); - vty_out(vty, "%s", VTY_NEWLINE); - - vty_out(vty, " Channel Mode / Codec: %s%s", - gsm48_chan_mode_name(lchan->current_ch_mode_rate.chan_mode), - VTY_NEWLINE); - if (!lchan_state_is(lchan, LCHAN_ST_UNUSED)) - vty_out(vty, " Training Sequence: Set %d Code %u%s", (lchan->tsc_set > 0 ? lchan->tsc_set : 1), lchan->tsc, VTY_NEWLINE); - if (lchan->vamos.enabled) - vty_out(vty, " VAMOS: enabled%s", VTY_NEWLINE); - if (lchan->conn && lchan->conn->bsub) { - vty_out(vty, " Subscriber:%s", VTY_NEWLINE); - bsc_subscr_dump_vty(vty, lchan->conn->bsub); - } else - vty_out(vty, " No Subscriber%s", VTY_NEWLINE); - if (is_ipaccess_bts(lchan->ts->trx->bts)) { - struct in_addr ia; - if (lchan->abis_ip.bound_ip) { - ia.s_addr = htonl(lchan->abis_ip.bound_ip); - vty_out(vty, " Bound IP: %s Port %u RTP_TYPE2=%u CONN_ID=%u%s", - inet_ntoa(ia), lchan->abis_ip.bound_port, - lchan->abis_ip.rtp_payload2, lchan->abis_ip.conn_id, - VTY_NEWLINE); - } - if (lchan->abis_ip.connect_ip) { - ia.s_addr = htonl(lchan->abis_ip.connect_ip); - vty_out(vty, " Conn. IP: %s Port %u RTP_TYPE=%u SPEECH_MODE=0x%02x%s", - inet_ntoa(ia), lchan->abis_ip.connect_port, - lchan->abis_ip.rtp_payload, lchan->abis_ip.speech_mode, - VTY_NEWLINE); - } - - } - - /* we want to report the last measurement report */ - idx = calc_initial_idx(ARRAY_SIZE(lchan->meas_rep), - lchan->meas_rep_idx, 1); - meas_rep_dump_vty(vty, &lchan->meas_rep[idx], " "); -} - -void lchan_dump_short_vty(struct vty *vty, struct gsm_lchan *lchan) -{ - struct gsm_meas_rep *mr; - int idx; - - /* we want to report the last measurement report */ - idx = calc_initial_idx(ARRAY_SIZE(lchan->meas_rep), - lchan->meas_rep_idx, 1); - mr = &lchan->meas_rep[idx]; - - vty_out(vty, "BTS %u, TRX %u, Timeslot %u %s", - lchan->ts->trx->bts->nr, lchan->ts->trx->nr, lchan->ts->nr, - gsm_pchan_name(lchan->ts->pchan_on_init)); - vty_out_dyn_ts_status(vty, lchan->ts); - vty_out(vty, ", Lchan %u", lchan->nr); - - if (lchan_state_is(lchan, LCHAN_ST_UNUSED)) { - vty_out(vty, ", Type %s, State %s - Interference Level: ", - gsm_pchan_name(lchan->ts->pchan_is), - lchan_state_name(lchan)); - if (lchan->interf_dbm == INTERF_DBM_UNKNOWN) - vty_out(vty, "unknown"); - else - vty_out(vty, "%d dBm (%u)", lchan->interf_dbm, lchan->interf_band); - vty_out(vty, "%s", VTY_NEWLINE); - return; - } - - vty_out(vty, ", Type %s%s TSC-s%dc%u, State %s - L1 MS Power: %u dBm RXL-FULL-dl: %4d dBm RXL-FULL-ul: %4d dBm%s", - gsm_lchant_name(lchan->type), - lchan->vamos.enabled ? " (VAMOS)" : "", - lchan->tsc_set > 0 ? lchan->tsc_set : 1, - lchan->tsc, - lchan_state_name(lchan), - mr->ms_l1.pwr, - rxlev2dbm(mr->dl.full.rx_lev), - rxlev2dbm(mr->ul.full.rx_lev), - VTY_NEWLINE); -} - -void ts_dump_vty(struct vty *vty, struct gsm_bts_trx_ts *ts) -{ - vty_out(vty, "BTS %u, TRX %u, Timeslot %u, phys cfg %s (active %s)", - ts->trx->bts->nr, ts->trx->nr, ts->nr, - gsm_pchan_name(ts->pchan_on_init), - gsm_pchan_name(ts->pchan_is)); - if (ts->pchan_is != ts->pchan_on_init) - vty_out(vty, " (%s mode)", gsm_pchan_name(ts->pchan_is)); - vty_out(vty, ", TSC %u%s NM State: ", gsm_ts_tsc(ts), VTY_NEWLINE); - vty_out_dyn_ts_details(vty, ts); - net_dump_nmstate(vty, &ts->mo.nm_state); - if (!is_ipaccess_bts(ts->trx->bts)) - vty_out(vty, " E1 Line %u, Timeslot %u, Subslot %u%s", - ts->e1_link.e1_nr, ts->e1_link.e1_ts, - ts->e1_link.e1_ts_ss, VTY_NEWLINE); -} - static void vty_out_neigh_list(struct vty *vty, struct bitvec *bv) { int count = 0; @@ -3856,67 +3219,6 @@ vty_out(vty, " (%d)", count); } -static void e1isl_dump_vty(struct vty *vty, struct e1inp_sign_link *e1l) -{ - struct e1inp_line *line; - - if (!e1l) { - vty_out(vty, " None%s", VTY_NEWLINE); - return; - } - - line = e1l->ts->line; - - vty_out(vty, " E1 Line %u, Type %s: Timeslot %u, Mode %s%s", - line->num, line->driver->name, e1l->ts->num, - e1inp_signtype_name(e1l->type), VTY_NEWLINE); - vty_out(vty, " E1 TEI %u, SAPI %u%s", - e1l->tei, e1l->sapi, VTY_NEWLINE); -} - -/*! Dump the IP addresses and ports of the input signal link's timeslot. - * This only makes sense for links connected with ipaccess. - * Example output: "(r=10.1.42.1:55416<->l=10.1.42.123:3003)" */ -static void e1isl_dump_vty_tcp(struct vty *vty, const struct e1inp_sign_link *e1l) -{ - if (e1l) { - char *name = osmo_sock_get_name(NULL, e1l->ts->driver.ipaccess.fd.fd); - vty_out(vty, "%s", name); - talloc_free(name); - } - vty_out(vty, "%s", VTY_NEWLINE); -} - -void trx_dump_vty(struct vty *vty, struct gsm_bts_trx *trx, bool print_rsl, bool show_connected) -{ - if (show_connected && !trx->rsl_link_primary) - return; - - if (!show_connected && trx->rsl_link_primary) - return; - - vty_out(vty, "TRX %u of BTS %u is on ARFCN %u%s", - trx->nr, trx->bts->nr, trx->arfcn, VTY_NEWLINE); - vty_out(vty, " RF Nominal Power: %d dBm, reduced by %u dB, " - "resulting BS power: %d dBm%s", - trx->nominal_power, trx->max_power_red, - trx->nominal_power - trx->max_power_red, VTY_NEWLINE); - vty_out(vty, " Radio Carrier NM State: "); - net_dump_nmstate(vty, &trx->mo.nm_state); - if (print_rsl) - vty_out(vty, " RSL State: %s%s", trx->rsl_link_primary? "connected" : "disconnected", VTY_NEWLINE); - vty_out(vty, " Baseband Transceiver NM State: "); - net_dump_nmstate(vty, &trx->bb_transc.mo.nm_state); - if (is_ipaccess_bts(trx->bts)) { - vty_out(vty, " ip.access stream ID: 0x%02x ", trx->rsl_tei_primary); - e1isl_dump_vty_tcp(vty, trx->rsl_link_primary); - } else { - vty_out(vty, " E1 Signalling Link:%s", VTY_NEWLINE); - e1isl_dump_vty(vty, trx->rsl_link_primary); - } -} - - static void bts_dump_vty_cbch(struct vty *vty, const struct bts_smscb_chan_state *cstate) { vty_out(vty, " CBCH %s: %u messages, %u pages, %zu-entry sched_arr, %u%% load%s", @@ -4139,72 +3441,6 @@ bts_dump_vty_features(vty, bts); } -static void config_write_e1_link(struct vty *vty, struct gsm_e1_subslot *e1_link, - const char *prefix) -{ - if (!e1_link->e1_ts) - return; - - if (e1_link->e1_ts_ss == 255) - vty_out(vty, "%se1 line %u timeslot %u sub-slot full%s", - prefix, e1_link->e1_nr, e1_link->e1_ts, VTY_NEWLINE); - else - vty_out(vty, "%se1 line %u timeslot %u sub-slot %u%s", - prefix, e1_link->e1_nr, e1_link->e1_ts, - e1_link->e1_ts_ss, VTY_NEWLINE); -} - - -static void config_write_ts_single(struct vty *vty, struct gsm_bts_trx_ts *ts) -{ - vty_out(vty, " timeslot %u%s", ts->nr, VTY_NEWLINE); - if (ts->tsc != -1) - vty_out(vty, " training_sequence_code %u%s", ts->tsc, VTY_NEWLINE); - if (ts->pchan_from_config != GSM_PCHAN_NONE) - vty_out(vty, " phys_chan_config %s%s", - gsm_pchan_name(ts->pchan_from_config), VTY_NEWLINE); - vty_out(vty, " hopping enabled %u%s", - ts->hopping.enabled, VTY_NEWLINE); - if (ts->hopping.enabled) { - unsigned int i; - vty_out(vty, " hopping sequence-number %u%s", - ts->hopping.hsn, VTY_NEWLINE); - vty_out(vty, " hopping maio %u%s", - ts->hopping.maio, VTY_NEWLINE); - for (i = 0; i < ts->hopping.arfcns.data_len*8; i++) { - if (!bitvec_get_bit_pos(&ts->hopping.arfcns, i)) - continue; - vty_out(vty, " hopping arfcn add %u%s", - i, VTY_NEWLINE); - } - } - config_write_e1_link(vty, &ts->e1_link, " "); - - if (ts->trx->bts->model->config_write_ts) - ts->trx->bts->model->config_write_ts(vty, ts); -} - -static void config_write_trx_single(struct vty *vty, struct gsm_bts_trx *trx) -{ - int i; - - vty_out(vty, " trx %u%s", trx->nr, VTY_NEWLINE); - vty_out(vty, " rf_locked %u%s", - trx->mo.force_rf_lock ? 1 : 0, - VTY_NEWLINE); - vty_out(vty, " arfcn %u%s", trx->arfcn, VTY_NEWLINE); - vty_out(vty, " nominal power %u%s", trx->nominal_power, VTY_NEWLINE); - vty_out(vty, " max_power_red %u%s", trx->max_power_red, VTY_NEWLINE); - config_write_e1_link(vty, &trx->rsl_e1_link, " rsl "); - vty_out(vty, " rsl e1 tei %u%s", trx->rsl_tei_primary, VTY_NEWLINE); - - if (trx->bts->model->config_write_trx) - trx->bts->model->config_write_trx(vty, trx); - - for (i = 0; i < TRX_NR_TS; i++) - config_write_ts_single(vty, &trx->ts[i]); -} - static void config_write_bts_gprs(struct vty *vty, struct gsm_bts *bts) { unsigned int i; @@ -4743,17 +3979,6 @@ int bts_vty_init(void) { - cfg_ts_pchan_cmd.string = - vty_cmd_string_from_valstr(tall_bsc_ctx, - gsm_pchant_names, - "phys_chan_config (", "|", ")", - VTY_DO_LOWER); - cfg_ts_pchan_cmd.doc = - vty_cmd_string_from_valstr(tall_bsc_ctx, - gsm_pchant_descs, - "Physical Channel Combination\n", - "\n", "", 0); - cfg_bts_type_cmd.string = vty_cmd_string_from_valstr(tall_bsc_ctx, bts_type_names, @@ -4923,29 +4148,6 @@ install_element(POWER_CTRL_NODE, &cfg_power_ctrl_avg_algo_cmd); install_element(POWER_CTRL_NODE, &cfg_power_ctrl_avg_osmo_ewma_cmd); - install_element(BTS_NODE, &cfg_trx_cmd); - install_node(&trx_node, dummy_config_write); - install_element(TRX_NODE, &cfg_trx_arfcn_cmd); - install_element(TRX_NODE, &cfg_description_cmd); - install_element(TRX_NODE, &cfg_no_description_cmd); - install_element(TRX_NODE, &cfg_trx_nominal_power_cmd); - install_element(TRX_NODE, &cfg_trx_max_power_red_cmd); - install_element(TRX_NODE, &cfg_trx_rsl_e1_cmd); - install_element(TRX_NODE, &cfg_trx_rsl_e1_tei_cmd); - install_element(TRX_NODE, &cfg_trx_rf_locked_cmd); - install_element(TRX_NODE, &cfg_ts_cmd); - install_node(&ts_node, dummy_config_write); - install_element(TS_NODE, &cfg_ts_pchan_cmd); - install_element(TS_NODE, &cfg_ts_pchan_compat_cmd); - install_element(TS_NODE, &cfg_ts_tsc_cmd); - install_element(TS_NODE, &cfg_ts_hopping_cmd); - install_element(TS_NODE, &cfg_ts_hsn_cmd); - install_element(TS_NODE, &cfg_ts_maio_cmd); - install_element(TS_NODE, &cfg_ts_arfcn_add_cmd); - install_element(TS_NODE, &cfg_ts_arfcn_del_cmd); - install_element(TS_NODE, &cfg_ts_arfcn_del_all_cmd); - install_element(TS_NODE, &cfg_ts_e1_subslot_cmd); - - return 0; + return bts_trx_vty_init(); } diff --git a/tests/handover/Makefile.am b/tests/handover/Makefile.am index a4d11a0..55b25c6 100644 --- a/tests/handover/Makefile.am +++ b/tests/handover/Makefile.am @@ -64,6 +64,7 @@ $(top_builddir)/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o \ $(top_builddir)/src/osmo-bsc/bts_unknown.o \ $(top_builddir)/src/osmo-bsc/bts_vty.o \ + $(top_builddir)/src/osmo-bsc/bts_trx_vty.o \ $(top_builddir)/src/osmo-bsc/chan_alloc.o \ $(top_builddir)/src/osmo-bsc/codec_pref.o \ $(top_builddir)/src/osmo-bsc/gsm_04_08_rr.o \ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24980 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I15ec8f71a5d31915162cb3ad75ea77e934fa4887 Gerrit-Change-Number: 24980 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 12:17:03 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 23 Jul 2021 12:17:03 +0000 Subject: Change in osmo-bsc[master]: Introduce libbsc to avoid linking long lists of .o files In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24981 ) Change subject: Introduce libbsc to avoid linking long lists of .o files ...................................................................... Introduce libbsc to avoid linking long lists of .o files Every time a new file is added in osmo-bsc, it ends up being a pain because its .o file has to be included to other tests/util binaries, or stubs need to be added. Let's instead bundle all .o files together in an .la file and pass that around. Change-Id: If91dc589ea1e476da105b58846d1c3e720a439e1 --- M src/ipaccess/Makefile.am M src/osmo-bsc/Makefile.am M src/utils/Makefile.am M tests/abis/Makefile.am M tests/acc/Makefile.am M tests/bsc/Makefile.am M tests/codec_pref/Makefile.am M tests/gsm0408/Makefile.am M tests/handover/Makefile.am M tests/nanobts_omlattr/Makefile.am M tests/subscr/Makefile.am 11 files changed, 35 insertions(+), 246 deletions(-) Approvals: Jenkins Builder: Verified neels: Looks good to me, approved osmith: Looks good to me, but someone else must approve diff --git a/src/ipaccess/Makefile.am b/src/ipaccess/Makefile.am index 351f618..9a9fff6 100644 --- a/src/ipaccess/Makefile.am +++ b/src/ipaccess/Makefile.am @@ -46,25 +46,7 @@ # FIXME: resolve the bogus dependencies patched around here: ipaccess_config_LDADD = \ - $(top_builddir)/src/osmo-bsc/bts.o \ - $(top_builddir)/src/osmo-bsc/bts_sm.o \ - $(top_builddir)/src/osmo-bsc/bts_trx.o \ - $(top_builddir)/src/osmo-bsc/abis_nm.o \ - $(top_builddir)/src/osmo-bsc/abis_osmo.o \ - $(top_builddir)/src/osmo-bsc/acc.o \ - $(top_builddir)/src/osmo-bsc/bts_ipaccess_nanobts.o \ - $(top_builddir)/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o \ - $(top_builddir)/src/osmo-bsc/gsm_data.o \ - $(top_builddir)/src/osmo-bsc/net_init.o \ - $(top_builddir)/src/osmo-bsc/nm_common_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bts_sm_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bts_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bb_transc_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_channel_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_cell_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_nse_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_nsvc_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_rcarrier_fsm.o \ + $(top_builddir)/src/osmo-bsc/libbsc.la \ $(OSMO_LIBS) \ $(NULL) @@ -74,22 +56,6 @@ $(NULL) ipaccess_proxy_LDADD = \ - $(top_builddir)/src/osmo-bsc/abis_nm.o \ - $(top_builddir)/src/osmo-bsc/abis_osmo.o \ - $(top_builddir)/src/osmo-bsc/acc.o \ - $(top_builddir)/src/osmo-bsc/bts.o \ - $(top_builddir)/src/osmo-bsc/bts_sm.o \ - $(top_builddir)/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o \ - $(top_builddir)/src/osmo-bsc/bts_trx.o \ - $(top_builddir)/src/osmo-bsc/gsm_data.o \ - $(top_builddir)/src/osmo-bsc/nm_common_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bts_sm_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bts_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bb_transc_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_channel_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_cell_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_nse_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_nsvc_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_rcarrier_fsm.o \ + $(top_builddir)/src/osmo-bsc/libbsc.la \ $(OSMO_LIBS) \ $(NULL) diff --git a/src/osmo-bsc/Makefile.am b/src/osmo-bsc/Makefile.am index 34b4f34..c149f47 100644 --- a/src/osmo-bsc/Makefile.am +++ b/src/osmo-bsc/Makefile.am @@ -21,11 +21,9 @@ $(COVERAGE_LDFLAGS) \ $(NULL) -bin_PROGRAMS = \ - osmo-bsc \ - $(NULL) +noinst_LTLIBRARIES = libbsc.la -osmo_bsc_SOURCES = \ +libbsc_la_SOURCES = \ a_reset.c \ abis_nm.c \ abis_nm_vty.c \ @@ -95,7 +93,6 @@ osmo_bsc_filter.c \ osmo_bsc_grace.c \ osmo_bsc_lcls.c \ - osmo_bsc_main.c \ osmo_bsc_mgcp.c \ osmo_bsc_msc.c \ osmo_bsc_sigtran.c \ @@ -110,7 +107,28 @@ cbsp_link.c \ $(NULL) +libbsc_la_LIBADD = \ + $(LIBOSMOCORE_LIBS) \ + $(LIBOSMOGSM_LIBS) \ + $(LIBOSMOVTY_LIBS) \ + $(LIBOSMOCTRL_LIBS) \ + $(LIBOSMONETIF_LIBS) \ + $(COVERAGE_LDFLAGS) \ + $(LIBOSMOABIS_LIBS) \ + $(LIBOSMOSIGTRAN_LIBS) \ + $(LIBOSMOMGCPCLIENT_LIBS) \ + $(NULL) + +bin_PROGRAMS = \ + osmo-bsc \ + $(NULL) + +osmo_bsc_SOURCES = \ + osmo_bsc_main.c \ + $(NULL) + osmo_bsc_LDADD = \ + libbsc.la \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ $(LIBOSMOVTY_LIBS) \ diff --git a/src/utils/Makefile.am b/src/utils/Makefile.am index 39d2417..1d6c48e 100644 --- a/src/utils/Makefile.am +++ b/src/utils/Makefile.am @@ -47,26 +47,7 @@ $(NULL) bs11_config_LDADD = \ - $(top_builddir)/src/osmo-bsc/abis_nm.o \ - $(top_builddir)/src/osmo-bsc/abis_osmo.o \ - $(top_builddir)/src/osmo-bsc/acc.o \ - $(top_builddir)/src/osmo-bsc/bts.o \ - $(top_builddir)/src/osmo-bsc/bts_sm.o \ - $(top_builddir)/src/osmo-bsc/bts_trx.o \ - $(top_builddir)/src/osmo-bsc/bts_siemens_bs11.o \ - $(top_builddir)/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o \ - $(top_builddir)/src/osmo-bsc/e1_config.o \ - $(top_builddir)/src/osmo-bsc/gsm_data.o \ - $(top_builddir)/src/osmo-bsc/net_init.o \ - $(top_builddir)/src/osmo-bsc/nm_common_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bts_sm_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bts_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bb_transc_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_channel_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_cell_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_nse_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_nsvc_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_rcarrier_fsm.o \ + $(top_builddir)/src/osmo-bsc/libbsc.la \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ $(LIBOSMOABIS_LIBS) \ @@ -132,23 +113,7 @@ $(NULL) meas_json_LDADD = \ - $(top_builddir)/src/osmo-bsc/abis_nm.o \ - $(top_builddir)/src/osmo-bsc/abis_osmo.o \ - $(top_builddir)/src/osmo-bsc/acc.o \ - $(top_builddir)/src/osmo-bsc/bts.o \ - $(top_builddir)/src/osmo-bsc/bts_sm.o \ - $(top_builddir)/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o \ - $(top_builddir)/src/osmo-bsc/bts_trx.o \ - $(top_builddir)/src/osmo-bsc/gsm_data.o \ - $(top_builddir)/src/osmo-bsc/nm_common_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bts_sm_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bts_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bb_transc_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_channel_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_cell_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_nse_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_nsvc_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_rcarrier_fsm.o \ + $(top_builddir)/src/osmo-bsc/libbsc.la \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ $(LIBOSMOABIS_LIBS) \ diff --git a/tests/abis/Makefile.am b/tests/abis/Makefile.am index 0612827..5abbf77 100644 --- a/tests/abis/Makefile.am +++ b/tests/abis/Makefile.am @@ -25,24 +25,7 @@ $(NULL) abis_test_LDADD = \ - $(top_builddir)/src/osmo-bsc/abis_nm.o \ - $(top_builddir)/src/osmo-bsc/abis_osmo.o \ - $(top_builddir)/src/osmo-bsc/acc.o \ - $(top_builddir)/src/osmo-bsc/bts.o \ - $(top_builddir)/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o \ - $(top_builddir)/src/osmo-bsc/bts_sm.o \ - $(top_builddir)/src/osmo-bsc/bts_trx.o \ - $(top_builddir)/src/osmo-bsc/gsm_data.o \ - $(top_builddir)/src/osmo-bsc/net_init.o \ - $(top_builddir)/src/osmo-bsc/nm_common_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bts_sm_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bts_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bb_transc_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_channel_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_cell_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_nse_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_nsvc_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_rcarrier_fsm.o \ + $(top_builddir)/src/osmo-bsc/libbsc.la \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOABIS_LIBS) \ $(LIBOSMOGSM_LIBS) \ diff --git a/tests/acc/Makefile.am b/tests/acc/Makefile.am index e0044d0..0c7fe0c 100644 --- a/tests/acc/Makefile.am +++ b/tests/acc/Makefile.am @@ -25,24 +25,7 @@ $(NULL) acc_test_LDADD = \ - $(top_builddir)/src/osmo-bsc/abis_nm.o \ - $(top_builddir)/src/osmo-bsc/abis_osmo.o \ - $(top_builddir)/src/osmo-bsc/acc.o \ - $(top_builddir)/src/osmo-bsc/bts.o \ - $(top_builddir)/src/osmo-bsc/bts_sm.o \ - $(top_builddir)/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o \ - $(top_builddir)/src/osmo-bsc/bts_trx.o \ - $(top_builddir)/src/osmo-bsc/gsm_data.o \ - $(top_builddir)/src/osmo-bsc/net_init.o \ - $(top_builddir)/src/osmo-bsc/nm_common_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bts_sm_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bts_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bb_transc_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_channel_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_cell_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_nse_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_nsvc_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_rcarrier_fsm.o \ + $(top_builddir)/src/osmo-bsc/libbsc.la \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOABIS_LIBS) \ $(LIBOSMOGSM_LIBS) \ diff --git a/tests/bsc/Makefile.am b/tests/bsc/Makefile.am index 2f66778..94b606c 100644 --- a/tests/bsc/Makefile.am +++ b/tests/bsc/Makefile.am @@ -34,30 +34,7 @@ $(NULL) bsc_test_LDADD = \ - $(top_builddir)/src/osmo-bsc/abis_nm.o \ - $(top_builddir)/src/osmo-bsc/abis_osmo.o \ - $(top_builddir)/src/osmo-bsc/acc.o \ - $(top_builddir)/src/osmo-bsc/osmo_bsc_filter.o \ - $(top_builddir)/src/osmo-bsc/bsc_subscriber.o \ - $(top_builddir)/src/osmo-bsc/bts.o \ - $(top_builddir)/src/osmo-bsc/bts_sm.o \ - $(top_builddir)/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o \ - $(top_builddir)/src/osmo-bsc/bts_trx.o \ - $(top_builddir)/src/osmo-bsc/gsm_data.o \ - $(top_builddir)/src/osmo-bsc/handover_cfg.o \ - $(top_builddir)/src/osmo-bsc/handover_logic.o \ - $(top_builddir)/src/osmo-bsc/meas_rep.o \ - $(top_builddir)/src/osmo-bsc/neighbor_ident.o \ - $(top_builddir)/src/osmo-bsc/net_init.o \ - $(top_builddir)/src/osmo-bsc/nm_common_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bts_sm_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bts_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bb_transc_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_channel_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_cell_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_nse_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_nsvc_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_rcarrier_fsm.o \ + $(top_builddir)/src/osmo-bsc/libbsc.la \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ $(LIBOSMOVTY_LIBS) \ diff --git a/tests/codec_pref/Makefile.am b/tests/codec_pref/Makefile.am index e000252..3bdd1fa 100644 --- a/tests/codec_pref/Makefile.am +++ b/tests/codec_pref/Makefile.am @@ -27,7 +27,7 @@ $(NULL) codec_pref_test_LDADD = \ - $(top_builddir)/src/osmo-bsc/codec_pref.o \ + $(top_builddir)/src/osmo-bsc/libbsc.la \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ -lrt \ diff --git a/tests/gsm0408/Makefile.am b/tests/gsm0408/Makefile.am index 186dc39..320f7de 100644 --- a/tests/gsm0408/Makefile.am +++ b/tests/gsm0408/Makefile.am @@ -24,27 +24,7 @@ $(NULL) gsm0408_test_LDADD = \ - $(top_builddir)/src/osmo-bsc/abis_nm.o \ - $(top_builddir)/src/osmo-bsc/abis_osmo.o \ - $(top_builddir)/src/osmo-bsc/acc.o \ - $(top_builddir)/src/osmo-bsc/gsm_04_08_rr.o \ - $(top_builddir)/src/osmo-bsc/bts.o \ - $(top_builddir)/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o \ - $(top_builddir)/src/osmo-bsc/bts_sm.o \ - $(top_builddir)/src/osmo-bsc/bts_trx.o \ - $(top_builddir)/src/osmo-bsc/gsm_data.o \ - $(top_builddir)/src/osmo-bsc/net_init.o \ - $(top_builddir)/src/osmo-bsc/system_information.o \ - $(top_builddir)/src/osmo-bsc/neighbor_ident.o \ - $(top_builddir)/src/osmo-bsc/nm_common_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bts_sm_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bts_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bb_transc_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_channel_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_cell_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_nse_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_nsvc_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_rcarrier_fsm.o \ + $(top_builddir)/src/osmo-bsc/libbsc.la \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ $(LIBOSMOCTRL_LIBS) \ diff --git a/tests/handover/Makefile.am b/tests/handover/Makefile.am index 55b25c6..bfd64b0 100644 --- a/tests/handover/Makefile.am +++ b/tests/handover/Makefile.am @@ -40,74 +40,7 @@ $(NULL) handover_test_LDADD = \ - $(top_builddir)/src/osmo-bsc/a_reset.o \ - $(top_builddir)/src/osmo-bsc/abis_nm.o \ - $(top_builddir)/src/osmo-bsc/abis_nm_vty.o \ - $(top_builddir)/src/osmo-bsc/abis_om2000.o \ - $(top_builddir)/src/osmo-bsc/abis_om2000_vty.o \ - $(top_builddir)/src/osmo-bsc/abis_osmo.o \ - $(top_builddir)/src/osmo-bsc/abis_rsl.o \ - $(top_builddir)/src/osmo-bsc/acc.o \ - $(top_builddir)/src/osmo-bsc/assignment_fsm.o \ - $(top_builddir)/src/osmo-bsc/bsc_ctrl_commands.o \ - $(top_builddir)/src/osmo-bsc/handover_ctrl.o \ - $(top_builddir)/src/osmo-bsc/bsc_init.o \ - $(top_builddir)/src/osmo-bsc/bsc_rf_ctrl.o \ - $(top_builddir)/src/osmo-bsc/bsc_rll.o \ - $(top_builddir)/src/osmo-bsc/bsc_subscr_conn_fsm.o \ - $(top_builddir)/src/osmo-bsc/bsc_subscriber.o \ - $(top_builddir)/src/osmo-bsc/bsc_vty.o \ - $(top_builddir)/src/osmo-bsc/bts.o \ - $(top_builddir)/src/osmo-bsc/bts_sm.o \ - $(top_builddir)/src/osmo-bsc/bts_trx.o \ - $(top_builddir)/src/osmo-bsc/bts_ipaccess_nanobts.o \ - $(top_builddir)/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o \ - $(top_builddir)/src/osmo-bsc/bts_unknown.o \ - $(top_builddir)/src/osmo-bsc/bts_vty.o \ - $(top_builddir)/src/osmo-bsc/bts_trx_vty.o \ - $(top_builddir)/src/osmo-bsc/chan_alloc.o \ - $(top_builddir)/src/osmo-bsc/codec_pref.o \ - $(top_builddir)/src/osmo-bsc/gsm_04_08_rr.o \ - $(top_builddir)/src/osmo-bsc/gsm_data.o \ - $(top_builddir)/src/osmo-bsc/handover_cfg.o \ - $(top_builddir)/src/osmo-bsc/handover_decision.o \ - $(top_builddir)/src/osmo-bsc/handover_decision_2.o \ - $(top_builddir)/src/osmo-bsc/handover_fsm.o \ - $(top_builddir)/src/osmo-bsc/handover_logic.o \ - $(top_builddir)/src/osmo-bsc/handover_vty.o \ - $(top_builddir)/src/osmo-bsc/lchan_fsm.o \ - $(top_builddir)/src/osmo-bsc/lchan_rtp_fsm.o \ - $(top_builddir)/src/osmo-bsc/lchan_select.o \ - $(top_builddir)/src/osmo-bsc/meas_feed.o \ - $(top_builddir)/src/osmo-bsc/meas_rep.o \ - $(top_builddir)/src/osmo-bsc/neighbor_ident.o \ - $(top_builddir)/src/osmo-bsc/neighbor_ident_vty.o \ - $(top_builddir)/src/osmo-bsc/net_init.o \ - $(top_builddir)/src/osmo-bsc/nm_common_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bts_sm_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bts_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bb_transc_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_channel_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_cell_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_nse_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_nsvc_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_rcarrier_fsm.o \ - $(top_builddir)/src/osmo-bsc/osmo_bsc_ctrl.o \ - $(top_builddir)/src/osmo-bsc/osmo_bsc_lcls.o \ - $(top_builddir)/src/osmo-bsc/osmo_bsc_mgcp.o \ - $(top_builddir)/src/osmo-bsc/osmo_bsc_msc.o \ - $(top_builddir)/src/osmo-bsc/paging.o \ - $(top_builddir)/src/osmo-bsc/pcu_sock.o \ - $(top_builddir)/src/osmo-bsc/penalty_timers.o \ - $(top_builddir)/src/osmo-bsc/system_information.o \ - $(top_builddir)/src/osmo-bsc/timeslot_fsm.o \ - $(top_builddir)/src/osmo-bsc/smscb.o \ - $(top_builddir)/src/osmo-bsc/cbch_scheduler.o \ - $(top_builddir)/src/osmo-bsc/cbsp_link.o \ - $(top_builddir)/src/osmo-bsc/lcs_loc_req.o \ - $(top_builddir)/src/osmo-bsc/lcs_ta_req.o \ - $(top_builddir)/src/osmo-bsc/lb.o \ - $(top_builddir)/src/osmo-bsc/bsc_sccp.o \ + $(top_builddir)/src/osmo-bsc/libbsc.la \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ $(LIBOSMOCTRL_LIBS) \ diff --git a/tests/nanobts_omlattr/Makefile.am b/tests/nanobts_omlattr/Makefile.am index e31b8e9..b5d1d7a 100644 --- a/tests/nanobts_omlattr/Makefile.am +++ b/tests/nanobts_omlattr/Makefile.am @@ -23,23 +23,7 @@ $(NULL) nanobts_omlattr_test_LDADD = \ - $(top_builddir)/src/osmo-bsc/abis_nm.o \ - $(top_builddir)/src/osmo-bsc/abis_osmo.o \ - $(top_builddir)/src/osmo-bsc/acc.o \ - $(top_builddir)/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o \ - $(top_builddir)/src/osmo-bsc/bts.o \ - $(top_builddir)/src/osmo-bsc/bts_sm.o \ - $(top_builddir)/src/osmo-bsc/bts_trx.o \ - $(top_builddir)/src/osmo-bsc/gsm_data.o \ - $(top_builddir)/src/osmo-bsc/nm_common_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bts_sm_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bts_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_bb_transc_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_channel_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_cell_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_nse_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_gprs_nsvc_fsm.o \ - $(top_builddir)/src/osmo-bsc/nm_rcarrier_fsm.o \ + $(top_builddir)/src/osmo-bsc/libbsc.la \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ $(LIBOSMOABIS_LIBS) \ diff --git a/tests/subscr/Makefile.am b/tests/subscr/Makefile.am index e56d142..fef486a 100644 --- a/tests/subscr/Makefile.am +++ b/tests/subscr/Makefile.am @@ -31,7 +31,7 @@ $(NULL) bsc_subscr_test_LDADD = \ - $(top_builddir)/src/osmo-bsc/bsc_subscriber.o \ + $(top_builddir)/src/osmo-bsc/libbsc.la \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOABIS_LIBS) \ $(LIBOSMOGSM_LIBS) \ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24981 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If91dc589ea1e476da105b58846d1c3e720a439e1 Gerrit-Change-Number: 24981 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder 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 Jul 23 12:18:05 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 23 Jul 2021 12:18:05 +0000 Subject: Change in osmo-bsc[master]: Split bts_vty.c creating bts_trx_vty.c In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24980 ) Change subject: Split bts_vty.c creating bts_trx_vty.c ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24980 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I15ec8f71a5d31915162cb3ad75ea77e934fa4887 Gerrit-Change-Number: 24980 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Fri, 23 Jul 2021 12:18:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 12:19:03 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 23 Jul 2021 12:19:03 +0000 Subject: Change in osmo-bsc[master]: Introduce VTY option to forbid use of TCH for non-voicecall signalling In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25006 ) Change subject: Introduce VTY option to forbid use of TCH for non-voicecall signalling ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25006 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib08027125145df26602069bfb51847063b0ccc0c Gerrit-Change-Number: 25006 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 23 Jul 2021 12:19: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 Jul 23 12:26:16 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 23 Jul 2021 12:26:16 +0000 Subject: Change in osmo-bsc[master]: Introduce VTY option to forbid use of TCH for non-voicecall signalling In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25006 ) Change subject: Introduce VTY option to forbid use of TCH for non-voicecall signalling ...................................................................... Patch Set 4: Code-Review+2 RE-adding +2 from Neels after fixing typo. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25006 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib08027125145df26602069bfb51847063b0ccc0c Gerrit-Change-Number: 25006 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 23 Jul 2021 12:26: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 Jul 23 12:26:19 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 23 Jul 2021 12:26:19 +0000 Subject: Change in osmo-bsc[master]: Introduce VTY option to forbid use of TCH for non-voicecall signalling In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25006 ) Change subject: Introduce VTY option to forbid use of TCH for non-voicecall signalling ...................................................................... Introduce VTY option to forbid use of TCH for non-voicecall signalling Usual allocation mechansim, when some signalling channel is needed, first tries to reserve an SDCCH, and if all of them are exhausted, then attempts to reserve a TCH as a last resort. This, however, may cause TCH starvation under certain situations, for instance if there high load on other services (LU, SMS, etc.). Hence, it may be desirable for the operator to forbid reservation of TCH slots once SDCCH become exhausted. This commit is thus adding a VTY command which allows forbidding it. The default behavior (allow using TCH timeslots when SDCCHs are exhausted) is kept as before. The above mentioned prohibition is applied only to non-voicecall related signalling services. That's because voicecall services will end up requiring a TCH anyway, and forbidding reservation of TCH straighaway when SDCCHs are exhausted would mean no voice calls could be initiated while still TCHs would be available. Related: SYS#5548 Change-Id: Ib08027125145df26602069bfb51847063b0ccc0c --- M include/osmocom/bsc/bts.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bts.c M src/osmo-bsc/bts_vty.c M tests/osmo-bsc.vty 6 files changed, 67 insertions(+), 14 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h index 72ef8d9..1d566f5 100644 --- a/include/osmocom/bsc/bts.h +++ b/include/osmocom/bsc/bts.h @@ -454,6 +454,10 @@ * interference reported in RSL Resource Indication. */ bool chan_alloc_avoid_interf; + /* When true (default), TCH can be allocated to serve + * non-voicecall-related signalling services when SDCCHs are exhausted */ + bool chan_alloc_allow_tch_for_signalling; + enum neigh_list_manual_mode neigh_list_manual_mode; /* parameters from which we build SYSTEM INFORMATION */ struct { diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 0632944..5a20e72 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -419,6 +419,11 @@ GSM_CHREQ_REASON_PDCH, }; +static inline bool gsm_chreq_reason_is_voicecall(enum gsm_chreq_reason_t reason) +{ + return reason == GSM_CHREQ_REASON_EMERG || reason == GSM_CHREQ_REASON_CALL; +} + /* lchans 0..3 are SDCCH in combined channel configuration, use 4 as magic number for BCCH hack - see osmo-bts-../oml.c:opstart_compl() */ #define CCCH_LCHAN 4 diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 8e4916d..d5b0d53 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -2015,17 +2015,19 @@ * in the code below, all other channel requests will get an SDCCH first * (if possible). */ - if (!lchan) { - LOG_BTS(bts, DRSL, LOGL_NOTICE, "CHAN RQD[%s]: no resources for %s 0x%x, retrying with %s\n", - get_value_string(gsm_chreq_descs, rqd->reason), gsm_lchant_name(GSM_LCHAN_SDCCH), - rqd->ref.ra, gsm_lchant_name(GSM_LCHAN_TCH_H)); - lchan = lchan_select_by_type(bts, GSM_LCHAN_TCH_H); - } - if (!lchan) { - LOG_BTS(bts, DRSL, LOGL_NOTICE, "CHAN RQD[%s]: no resources for %s 0x%x, retrying with %s\n", - get_value_string(gsm_chreq_descs, rqd->reason), gsm_lchant_name(GSM_LCHAN_SDCCH), - rqd->ref.ra, gsm_lchant_name(GSM_LCHAN_TCH_F)); - lchan = lchan_select_by_type(bts, GSM_LCHAN_TCH_F); + if (gsm_chreq_reason_is_voicecall(rqd->reason) || bts->chan_alloc_allow_tch_for_signalling) { + if (!lchan) { + LOG_BTS(bts, DRSL, LOGL_NOTICE, "CHAN RQD[%s]: no resources for %s 0x%x, retrying with %s\n", + get_value_string(gsm_chreq_descs, rqd->reason), gsm_lchant_name(GSM_LCHAN_SDCCH), + rqd->ref.ra, gsm_lchant_name(GSM_LCHAN_TCH_H)); + lchan = lchan_select_by_type(bts, GSM_LCHAN_TCH_H); + } + if (!lchan) { + LOG_BTS(bts, DRSL, LOGL_NOTICE, "CHAN RQD[%s]: no resources for %s 0x%x, retrying with %s\n", + get_value_string(gsm_chreq_descs, rqd->reason), gsm_lchant_name(GSM_LCHAN_SDCCH), + rqd->ref.ra, gsm_lchant_name(GSM_LCHAN_TCH_F)); + lchan = lchan_select_by_type(bts, GSM_LCHAN_TCH_F); + } } if (!lchan) { LOG_BTS(bts, DRSL, LOGL_NOTICE, "CHAN RQD[%s]: no resources for %s 0x%x\n", diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c index ec29ac8..c0d6634 100644 --- a/src/osmo-bsc/bts.c +++ b/src/osmo-bsc/bts.c @@ -245,6 +245,7 @@ bts->neigh_list_manual_mode = NL_MODE_AUTOMATIC; bts->early_classmark_allowed_3g = true; /* 3g Early Classmark Sending controlled by bts->early_classmark_allowed param */ bts->si_unused_send_empty = true; + bts->chan_alloc_allow_tch_for_signalling = true; bts->si_common.cell_sel_par.cell_resel_hyst = 2; /* 4 dB */ bts->si_common.cell_sel_par.rxlev_acc_min = 0; bts->si_common.si2quater_neigh_list.arfcn = bts->si_common.data.earfcn_list; diff --git a/src/osmo-bsc/bts_vty.c b/src/osmo-bsc/bts_vty.c index b8b9f6c..3695d28 100644 --- a/src/osmo-bsc/bts_vty.c +++ b/src/osmo-bsc/bts_vty.c @@ -565,6 +565,25 @@ return CMD_SUCCESS; } +DEFUN_ATTR(cfg_bts_chan_alloc_allow_tch_for_signalling, + cfg_bts_chan_alloc_allow_tch_for_signalling_cmd, + "channel allocator allow-tch-for-signalling (0|1)", + "Channel Allocator\n" "Channel Allocator\n" + "Configure whether TCH/H or TCH/F channels can be used to serve non-call-related signalling if SDCCHs are exhausted\n" + "Forbid use of TCH for non-call-related signalling purposes\n" + "Allow use of TCH for non-call-related signalling purposes (default)\n", + CMD_ATTR_IMMEDIATE) +{ + struct gsm_bts *bts = vty->index; + + if (!strcmp(argv[0], "0")) + bts->chan_alloc_allow_tch_for_signalling = false; + else + bts->chan_alloc_allow_tch_for_signalling = true; + + return CMD_SUCCESS; +} + #define RACH_STR "Random Access Control Channel\n" DEFUN_USRATTR(cfg_bts_rach_tx_integer, @@ -3736,6 +3755,8 @@ VTY_NEWLINE); if (bts->chan_alloc_avoid_interf) vty_out(vty, " channel allocator avoid-interference 1%s", VTY_NEWLINE); + if (!bts->chan_alloc_allow_tch_for_signalling) + vty_out(vty, " channel allocator allow-tch-for-signalling 0%s", VTY_NEWLINE); vty_out(vty, " rach tx integer %u%s", bts->si_common.rach_control.tx_integer, VTY_NEWLINE); vty_out(vty, " rach max transmission %u%s", @@ -4018,6 +4039,7 @@ install_element(BTS_NODE, &cfg_bts_oml_e1_tei_cmd); install_element(BTS_NODE, &cfg_bts_challoc_cmd); install_element(BTS_NODE, &cfg_bts_chan_alloc_interf_cmd); + install_element(BTS_NODE, &cfg_bts_chan_alloc_allow_tch_for_signalling_cmd); install_element(BTS_NODE, &cfg_bts_rach_tx_integer_cmd); install_element(BTS_NODE, &cfg_bts_rach_max_trans_cmd); install_element(BTS_NODE, &cfg_bts_rach_max_delay_cmd); diff --git a/tests/osmo-bsc.vty b/tests/osmo-bsc.vty index 1d859c3..3bc2707 100644 --- a/tests/osmo-bsc.vty +++ b/tests/osmo-bsc.vty @@ -163,14 +163,19 @@ allocator Channel Allocator OsmoBSC(config-net-bts)# channel allocator ? - ascending Allocate Timeslots and Transceivers in ascending order - descending Allocate Timeslots and Transceivers in descending order - avoid-interference Configure whether reported interference levels from RES IND are used in channel allocation + ascending Allocate Timeslots and Transceivers in ascending order + descending Allocate Timeslots and Transceivers in descending order + avoid-interference Configure whether reported interference levels from RES IND are used in channel allocation + allow-tch-for-signalling Configure whether TCH/H or TCH/F channels can be used to serve non-call-related signalling if SDCCHs are exhausted OsmoBSC(config-net-bts)# channel allocator avoid-interference ? 0 Ignore interference levels (default). Always assign lchans in a deterministic order. 1 In channel allocation, prefer lchans with less interference. +OsmoBSC(config-net-bts)# channel allocator allow-tch-for-signalling ? + 0 Forbid use of TCH for non-call-related signalling purposes + 1 Allow use of TCH for non-call-related signalling purposes (default) + OsmoBSC(config-net-bts)# show running-config ... !channel allocator avoid-interference OsmoBSC(config-net-bts)# channel allocator avoid-interference 1 @@ -184,3 +189,17 @@ OsmoBSC(config-net-bts)# channel allocator avoid-interference 0 OsmoBSC(config-net-bts)# show running-config ... !channel allocator avoid-interference + +OsmoBSC(config-net-bts)# show running-config +... !channel allocator allow-tch-for-signalling +OsmoBSC(config-net-bts)# channel allocator allow-tch-for-signalling 0 +OsmoBSC(config-net-bts)# show running-config +... + bts 0 +... + channel allocator allow-tch-for-signalling 0 +... + +OsmoBSC(config-net-bts)# channel allocator allow-tch-for-signalling 1 +OsmoBSC(config-net-bts)# show running-config +... !channel allocator allow-tch-for-signalling -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25006 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib08027125145df26602069bfb51847063b0ccc0c Gerrit-Change-Number: 25006 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder 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 Jul 23 12:35:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 23 Jul 2021 12:35:38 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: allow to reset endpoints on startup In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25008 ) Change subject: mgcp_client: allow to reset endpoints on startup ...................................................................... Patch Set 4: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/25008/4/src/libosmo-mgcp-client/mgcp_client_vty.c File src/libosmo-mgcp-client/mgcp_client_vty.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25008/4/src/libosmo-mgcp-client/mgcp_client_vty.c at 188 PS4, Line 188: if (osmo_strlcpy(reset_ep->name, argv[0], sizeof(reset_ep->name)) >= sizeof(reset_ep->name)) { repeated osmo_strlcpy with line above... better do rc = osmo_strlcpy above and check against rc here, it's clearer. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25008 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Gerrit-Change-Number: 25008 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 23 Jul 2021 12:35:38 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 12:36:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 23 Jul 2021 12:36:47 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: assert endp when it becomes mandatory In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25026 ) Change subject: mgcp_protocol: assert endp when it becomes mandatory ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/25026/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-mgw/+/25026/1//COMMIT_MSG at 10 PS1, Line 10: process the request without the endp pointer populated is qute complex. quite -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25026 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I1d4221f2df13c43321d5466534485cf21f0d9010 Gerrit-Change-Number: 25026 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 23 Jul 2021 12:36:47 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 12:38:58 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 23 Jul 2021 12:38:58 +0000 Subject: Change in osmo-pcu[master]: tbf: Drop impossible paths in create_dl_ass() In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25010 ) Change subject: tbf: Drop impossible paths in create_dl_ass() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25010 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibea4100a5dc8bd49303cb6a3d02417038c3d3887 Gerrit-Change-Number: 25010 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 23 Jul 2021 12:38: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 Jul 23 12:38:58 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 23 Jul 2021 12:38:58 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: properly f_rslem_unregister() released channels In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25014 ) Change subject: bsc: properly f_rslem_unregister() released channels ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25014 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I764ea2ed9af9358adeb42d7ed46b84f30f1e224c Gerrit-Change-Number: 25014 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 23 Jul 2021 12:38: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 Jul 23 12:39:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 23 Jul 2021 12:39:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: f_expect_dlcx_conns(): do not rx Clear Complete In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25015 ) Change subject: bsc: f_expect_dlcx_conns(): do not rx Clear Complete ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25015 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I637414f4db8ea7c4b59aaee205d65926574b5ccd Gerrit-Change-Number: 25015 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 23 Jul 2021 12:39:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 12:40:31 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 23 Jul 2021 12:40:31 +0000 Subject: Change in osmo-pcu[master]: tbf: Drop impossible paths in create_dl_ass() In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25010 ) Change subject: tbf: Drop impossible paths in create_dl_ass() ...................................................................... Patch Set 1: Code-Review+1 I guess it makes sense to keep poll_ass_dl as variable even if it's only used when encoding the packet. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25010 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibea4100a5dc8bd49303cb6a3d02417038c3d3887 Gerrit-Change-Number: 25010 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 23 Jul 2021 12:40:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 12:40:58 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 23 Jul 2021 12:40:58 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add RSL port args in MSC_ConnHdlr, RSLEM In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25016 ) Change subject: bsc: add RSL port args in MSC_ConnHdlr, RSLEM ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25016 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic3206b7125ee22bf98330080d9b136cefe7da03f Gerrit-Change-Number: 25016 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 23 Jul 2021 12:40: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 Jul 23 12:42:18 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 23 Jul 2021 12:42:18 +0000 Subject: Change in osmo-pcu[master]: tbf: Drop impossible paths in create_dl_ass() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25010 ) Change subject: tbf: Drop impossible paths in create_dl_ass() ...................................................................... Patch Set 1: > Patch Set 1: Code-Review+1 > > I guess it makes sense to keep poll_ass_dl as variable even if it's only used when encoding the packet. Yes, it's easier to understand what is being passed to the encoding function imho. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25010 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibea4100a5dc8bd49303cb6a3d02417038c3d3887 Gerrit-Change-Number: 25010 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 23 Jul 2021 12:42:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 12:42:22 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 23 Jul 2021 12:42:22 +0000 Subject: Change in osmo-pcu[master]: tbf: Drop impossible paths in create_dl_ass() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25010 ) Change subject: tbf: Drop impossible paths in create_dl_ass() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25010 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibea4100a5dc8bd49303cb6a3d02417038c3d3887 Gerrit-Change-Number: 25010 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 23 Jul 2021 12:42:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 12:42:25 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 23 Jul 2021 12:42:25 +0000 Subject: Change in osmo-pcu[master]: tbf: Drop impossible paths in create_dl_ass() In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25010 ) Change subject: tbf: Drop impossible paths in create_dl_ass() ...................................................................... tbf: Drop impossible paths in create_dl_ass() create_dl_ass() is only called in gprs_rlcmac_sched.cpp on tbf_cand->dl_ass pointer, which is always assigned under the guard "!tbf->is_control_ts(pdch->ts_no)", since we only send CTRL messages for a TBF on its control TS. Hence, condition "!is_control_ts(ts)" in create_dl_ass will always be false, and as a result poll_ass_dl will always be 1. So we can drop different code paths. Change-Id: Ibea4100a5dc8bd49303cb6a3d02417038c3d3887 --- M src/tbf.cpp 1 file changed, 13 insertions(+), 27 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve daniel: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/tbf.cpp b/src/tbf.cpp index e83f472..fcad879 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -852,29 +852,24 @@ struct msgb *msg; struct gprs_rlcmac_dl_tbf *new_dl_tbf = NULL; RlcMacDownlink_t *mac_control_block = NULL; - int poll_ass_dl = 1; + const int poll_ass_dl = 1; unsigned int rrbp = 0; uint32_t new_poll_fn = 0; int rc; bool old_tfi_is_valid = is_tfi_assigned(); - if (direction == GPRS_RLCMAC_DL_TBF && !is_control_ts(ts)) { - LOGPTBF(this, LOGL_NOTICE, - "Cannot poll for downlink assignment, because MS cannot reply. (TS=%d, first common TS=%d)\n", - ts, first_common_ts); - poll_ass_dl = 0; + /* We only use this function in control TS (PACCH) so that MS can always answer the poll */ + OSMO_ASSERT(is_control_ts(ts)); + + if (ul_ass_state == GPRS_RLCMAC_UL_ASS_WAIT_ACK) + { + LOGPTBF(this, LOGL_DEBUG, + "Polling is already scheduled, so we must wait for the uplink assignment...\n"); + return NULL; } - if (poll_ass_dl) { - if (ul_ass_state == GPRS_RLCMAC_UL_ASS_WAIT_ACK) - { - LOGPTBF(this, LOGL_DEBUG, - "Polling is already scheduled, so we must wait for the uplink assignment...\n"); - return NULL; - } - rc = check_polling(fn, ts, &new_poll_fn, &rrbp); - if (rc < 0) - return NULL; - } + rc = check_polling(fn, ts, &new_poll_fn, &rrbp); + if (rc < 0) + return NULL; /* on uplink TBF we get the downlink TBF to be assigned. */ if (direction == GPRS_RLCMAC_UL_TBF) { @@ -938,16 +933,7 @@ LOGP(DTBF, LOGL_DEBUG, "------------------------- TX : Packet Downlink Assignment -------------------------\n"); bts_do_rate_ctr_inc(bts, CTR_PKT_DL_ASSIGNMENT); - if (poll_ass_dl) { - set_polling(new_poll_fn, ts, PDCH_ULC_POLL_DL_ASS); - } else { - dl_ass_state = GPRS_RLCMAC_DL_ASS_NONE; - TBF_SET_STATE(new_dl_tbf, TBF_ST_FLOW); - tbf_assign_control_ts(new_dl_tbf); - /* stop pending assignment timer */ - new_dl_tbf->t_stop(T0, "assignment (DL-TBF)"); - - } + set_polling(new_poll_fn, ts, PDCH_ULC_POLL_DL_ASS); talloc_free(mac_control_block); return msg; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25010 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibea4100a5dc8bd49303cb6a3d02417038c3d3887 Gerrit-Change-Number: 25010 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel 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 Jul 23 12:43:36 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 23 Jul 2021 12:43:36 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add RSL, RSL_PROC port args in various places In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25017 ) Change subject: bsc: add RSL, RSL_PROC port args in various places ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25017 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia14f46d4e5e8d4722224b97c346c0cb7973fff97 Gerrit-Change-Number: 25017 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 23 Jul 2021 12:43: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 Jul 23 12:44:04 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 23 Jul 2021 12:44:04 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: expect proper chan_nr for various RSL_MT_RF_CHAN_REL In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25018 ) Change subject: bsc: expect proper chan_nr for various RSL_MT_RF_CHAN_REL ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25018 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I002c9273a387104bea062dec8879b4e19a72008d Gerrit-Change-Number: 25018 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 23 Jul 2021 12:44: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 Jul 23 12:46:18 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 23 Jul 2021 12:46:18 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add Coord_PT to communicate between components In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25019 ) Change subject: bsc: add Coord_PT to communicate between components ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25019 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I093ca7f66a3106a75e409ad8ea03e7db3c3cb165 Gerrit-Change-Number: 25019 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 23 Jul 2021 12:46: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 Jul 23 12:47:21 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 23 Jul 2021 12:47:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: split f_start_handler() in two, ..._create() and ..._run() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25020 ) Change subject: bsc: split f_start_handler() in two, ..._create() and ..._run() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25020 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I96954a6895a65718d943aa5e73b783a75a9f7256 Gerrit-Change-Number: 25020 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 23 Jul 2021 12:47:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 12:48:49 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 23 Jul 2021 12:48:49 +0000 Subject: Change in osmo-ttcn3-hacks[master]: gbproxy: Fix race condition checking for unblocked BVC In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25025 ) Change subject: gbproxy: Fix race condition checking for unblocked BVC ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25025 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic31b2188195c5d76b2d5aac9fa1f0b4efa5ca8b2 Gerrit-Change-Number: 25025 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 23 Jul 2021 12:48:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 12:51:02 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 23 Jul 2021 12:51:02 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_cm_reestablishment In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25021 ) Change subject: bsc: add TC_cm_reestablishment ...................................................................... Patch Set 1: (4 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25021/1/bsc/BSC_Tests.ttcn File bsc/BSC_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25021/1/bsc/BSC_Tests.ttcn at 9337 PS1, Line 9337: f_sleep(2.0); Can't you COORD.recv() something here instead of f_sleep? https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25021/1/bsc/BSC_Tests.ttcn at 9338 PS1, Line 9338: COORD.send("Lost connection"); Did you think about using something more "tokenized" when passing the strings? "EV_LOST_CONNECTION" or alike. IMHo would be easier to track and find where are they sent received. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25021/1/bsc/BSC_Tests.ttcn at 9342 PS1, Line 9342: [] COORD.receive("Clear"); EV_CLEAR https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25021/1/bsc/BSC_Tests.ttcn at 9355 PS1, Line 9355: COORD.send("Clear done"); EV_CLEAR_ACK -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25021 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1e7d446644f46b8a0a94688e618ffb4f23a8900e Gerrit-Change-Number: 25021 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 23 Jul 2021 12:51:02 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 12:51:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 23 Jul 2021 12:51:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: TC_cm_reestablishment(): do second lchan on bts 1 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25022 ) Change subject: bsc: TC_cm_reestablishment(): do second lchan on bts 1 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25022 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia930f7b8986ba27c5f507478dbff0a2942f207d8 Gerrit-Change-Number: 25022 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 23 Jul 2021 12:51: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 Jul 23 12:51:56 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 23 Jul 2021 12:51:56 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: improve error log for "RSL for unknown Dchan" In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25023 ) Change subject: bsc: improve error log for "RSL for unknown Dchan" ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25023 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibb8f60671e78075492783cba560a8229ba5a380b Gerrit-Change-Number: 25023 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 23 Jul 2021 12:51:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 12:52:40 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 23 Jul 2021 12:52:40 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_vty: remove unnecessary checks In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25029 ) Change subject: mgcp_client_vty: remove unnecessary checks ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25029 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I892d14c588573f76640453cb9c194594289b59f1 Gerrit-Change-Number: 25029 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 23 Jul 2021 12:52:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 12:55:21 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 23 Jul 2021 12:55:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: stp: fix TC_rkm_unreg_registered In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25027 ) Change subject: stp: fix TC_rkm_unreg_registered ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25027 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7d2f9eb298778a8e60c7e73f314bc73528e85406 Gerrit-Change-Number: 25027 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 23 Jul 2021 12:55:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 12:56:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 23 Jul 2021 12:56:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: stp: fix TC_rkm_unreg_active In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25028 ) Change subject: stp: fix TC_rkm_unreg_active ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25028 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I31fcba85d23a8767eb0ceb513ff5b440558a475b Gerrit-Change-Number: 25028 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 23 Jul 2021 12:56: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 Jul 23 13:04:25 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 23 Jul 2021 13:04:25 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: add stats items to monitor trunk usage In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24942 ) Change subject: mgcp_ratectr: add stats items to monitor trunk usage ...................................................................... Patch Set 7: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/24942/7/src/libosmo-mgcp/mgcp_ratectr.c File src/libosmo-mgcp/mgcp_ratectr.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24942/7/src/libosmo-mgcp/mgcp_ratectr.c at 276 PS7, Line 276: int mgcp_stat_trunk_alloc(struct mgcp_trunk *trunk) You need to add talloc_set_destructor(stats->common, free_stat_item_group); and free the stat_item group in there. It's weird that the jenkins job didn't catch that. Do we not use ASAN for these? -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24942 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib7b654168dc3512f55e45cc4755dc1f6f423d023 Gerrit-Change-Number: 24942 Gerrit-PatchSet: 7 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 23 Jul 2021 13:04: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 Fri Jul 23 13:21:03 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 23 Jul 2021 13:21:03 +0000 Subject: Change in osmo-mgw[master]: contrib/jenkins: Use ASAN for osmo-mgw References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25031 ) Change subject: contrib/jenkins: Use ASAN for osmo-mgw ...................................................................... contrib/jenkins: Use ASAN for osmo-mgw Change-Id: I55cfea8a94730ebfaed1ef3227c50777edfb94fb Related: OS#5201 --- M contrib/jenkins.sh 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/31/25031/1 diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index c25fdb9..21f4c68 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -49,7 +49,7 @@ cd "$base" autoreconf --install --force -./configure --enable-vty-tests --enable-external-tests --enable-werror $CONFIG +./configure --enable-sanitize --enable-vty-tests --enable-external-tests --enable-werror $CONFIG $MAKE $PARALLEL_MAKE LD_LIBRARY_PATH="$inst/lib" $MAKE check \ || cat-testlogs.sh -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25031 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I55cfea8a94730ebfaed1ef3227c50777edfb94fb Gerrit-Change-Number: 25031 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 13:23:35 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 23 Jul 2021 13:23:35 +0000 Subject: Change in osmo-mgw[master]: contrib/jenkins: Use ASAN for osmo-mgw In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25031 ) Change subject: contrib/jenkins: Use ASAN for osmo-mgw ...................................................................... Patch Set 1: I vaguely remember some reason to not have asan enabled on some projects in the past, but I don't know if that's (still) the case here. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25031 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I55cfea8a94730ebfaed1ef3227c50777edfb94fb Gerrit-Change-Number: 25031 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 23 Jul 2021 13:23:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 13:31:06 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 23 Jul 2021 13:31:06 +0000 Subject: Change in osmo-mgw[master]: contrib/jenkins: Use ASAN for osmo-mgw In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25031 ) Change subject: contrib/jenkins: Use ASAN for osmo-mgw ...................................................................... Patch Set 1: Code-Review+1 > Patch Set 1: > > I vaguely remember some reason to not have asan enabled on some projects in the past, but I don't know if that's (still) the case here. FWIW there's nothing related in git log -p on contrib/jenkins.sh in osmo-mgw.git. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25031 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I55cfea8a94730ebfaed1ef3227c50777edfb94fb Gerrit-Change-Number: 25031 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 23 Jul 2021 13:31: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 Jul 23 13:57:15 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 23 Jul 2021 13:57:15 +0000 Subject: Change in osmo-mgw[master]: contrib/jenkins: Use ASAN for osmo-mgw In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25031 ) Change subject: contrib/jenkins: Use ASAN for osmo-mgw ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25031 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I55cfea8a94730ebfaed1ef3227c50777edfb94fb Gerrit-Change-Number: 25031 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 23 Jul 2021 13:57:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 13:57:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 23 Jul 2021 13:57:54 +0000 Subject: Change in osmo-mgw[master]: contrib/jenkins: Use ASAN for osmo-mgw In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25031 ) Change subject: contrib/jenkins: Use ASAN for osmo-mgw ...................................................................... contrib/jenkins: Use ASAN for osmo-mgw Change-Id: I55cfea8a94730ebfaed1ef3227c50777edfb94fb Related: OS#5201 --- M contrib/jenkins.sh 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index c25fdb9..21f4c68 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -49,7 +49,7 @@ cd "$base" autoreconf --install --force -./configure --enable-vty-tests --enable-external-tests --enable-werror $CONFIG +./configure --enable-sanitize --enable-vty-tests --enable-external-tests --enable-werror $CONFIG $MAKE $PARALLEL_MAKE LD_LIBRARY_PATH="$inst/lib" $MAKE check \ || cat-testlogs.sh -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25031 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I55cfea8a94730ebfaed1ef3227c50777edfb94fb Gerrit-Change-Number: 25031 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter 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 Jul 23 13:58:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 23 Jul 2021 13:58:47 +0000 Subject: Change in libosmo-sccp[master]: m3ua: reject deregistration of static routing keys In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/25024 ) Change subject: m3ua: reject deregistration of static routing keys ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/25024 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ie5d84d06e7d5d32c8a22f770f71a5449f4a78484 Gerrit-Change-Number: 25024 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 23 Jul 2021 13:58:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 14:28:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 23 Jul 2021 14:28:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Fix TC_dyn_ts_sdcch8_tch_call_act_deact References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25032 ) Change subject: bsc: Fix TC_dyn_ts_sdcch8_tch_call_act_deact ...................................................................... bsc: Fix TC_dyn_ts_sdcch8_tch_call_act_deact Related: SYS#5309 Change-Id: Ibdbeefef7fd9f4c2d0dedb45f2075e776e8026b9 --- M bsc/BSC_Tests.ttcn 1 file changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/32/25032/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index ae805e3..5d56105 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -6931,12 +6931,13 @@ /* Fill TS0 SDCCH channels (NOTE: only 3 SDCCH/4 channels are available * on CCCH+SDCCH4+CBCH) */ + var OCT1 ra := '43'O; /* RA containing reason=originating speech call*/ for (i := 0; i < 3; i := i + 1) { - dt := f_est_dchan('23'O, i, '00010203040506'O); + dt := f_est_dchan(ra, i, '00010203040506'O); } /* Now the dyn ts is selected. First PDCH is released, then TCH chan is activated */ - f_ipa_tx(0, ts_RSL_CHAN_RQD(int2oct(oct2int('23'O) + i, 1), 2342)); + f_ipa_tx(0, ts_RSL_CHAN_RQD(int2oct(oct2int(ra) + i, 1), 2342)); rsl_unused := f_exp_ipa_rx(0, tr_RSL_RF_CHAN_REL(pdch_chan_nr)); f_ipa_tx(0, ts_RSL_RF_CHAN_REL_ACK(pdch_chan_nr)); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25032 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibdbeefef7fd9f4c2d0dedb45f2075e776e8026b9 Gerrit-Change-Number: 25032 Gerrit-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 Jul 23 14:33:29 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 23 Jul 2021 14:33:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Fix TC_dyn_ts_sdcch8_tch_call_act_deact In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25032 ) Change subject: bsc: Fix TC_dyn_ts_sdcch8_tch_call_act_deact ...................................................................... Patch Set 1: Code-Review+2 This fixes the test after having fixed a bug in the code being tested: https://gerrit.osmocom.org/c/osmo-bsc/+/25005 The test was wrong before this patch, but used to passed to the osmo-bsc bug above. The test now uses proper RA to tell the BTS->BSC that it wishes to start a voice call, hence the mechansim to avoid TCH starvation is triggered. Merging now in order to fix cascade test failure in ttcn3-bsc-test. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25032 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibdbeefef7fd9f4c2d0dedb45f2075e776e8026b9 Gerrit-Change-Number: 25032 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 23 Jul 2021 14:33: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 Jul 23 14:33:32 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 23 Jul 2021 14:33:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Fix TC_dyn_ts_sdcch8_tch_call_act_deact In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25032 ) Change subject: bsc: Fix TC_dyn_ts_sdcch8_tch_call_act_deact ...................................................................... bsc: Fix TC_dyn_ts_sdcch8_tch_call_act_deact Related: SYS#5309 Change-Id: Ibdbeefef7fd9f4c2d0dedb45f2075e776e8026b9 --- M bsc/BSC_Tests.ttcn 1 file changed, 3 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index ae805e3..5d56105 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -6931,12 +6931,13 @@ /* Fill TS0 SDCCH channels (NOTE: only 3 SDCCH/4 channels are available * on CCCH+SDCCH4+CBCH) */ + var OCT1 ra := '43'O; /* RA containing reason=originating speech call*/ for (i := 0; i < 3; i := i + 1) { - dt := f_est_dchan('23'O, i, '00010203040506'O); + dt := f_est_dchan(ra, i, '00010203040506'O); } /* Now the dyn ts is selected. First PDCH is released, then TCH chan is activated */ - f_ipa_tx(0, ts_RSL_CHAN_RQD(int2oct(oct2int('23'O) + i, 1), 2342)); + f_ipa_tx(0, ts_RSL_CHAN_RQD(int2oct(oct2int(ra) + i, 1), 2342)); rsl_unused := f_exp_ipa_rx(0, tr_RSL_RF_CHAN_REL(pdch_chan_nr)); f_ipa_tx(0, ts_RSL_RF_CHAN_REL_ACK(pdch_chan_nr)); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25032 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibdbeefef7fd9f4c2d0dedb45f2075e776e8026b9 Gerrit-Change-Number: 25032 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel 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 Jul 23 14:34:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 23 Jul 2021 14:34:42 +0000 Subject: Change in libosmo-abis[master]: osmo_ortp: Fix seqno reset to 0 upon ssrc_changed In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24966 ) Change subject: osmo_ortp: Fix seqno reset to 0 upon ssrc_changed ...................................................................... Patch Set 1: ping -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24966 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ic6006b4991c85413b009b70f8f3a6f97c41990ec Gerrit-Change-Number: 24966 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 23 Jul 2021 14:34: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 Fri Jul 23 14:41:42 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 23 Jul 2021 14:41:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Test tch allocation if sdcch exhausted In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25009 ) Change subject: bsc: Test tch allocation if sdcch exhausted ...................................................................... Patch Set 2: (1 comment) Add it to ./bsc/expected-results.xml? Otherwise looking good! https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25009/2/bsc/BSC_Tests.ttcn File bsc/BSC_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25009/2/bsc/BSC_Tests.ttcn at 4567 PS2, Line 4567: /* RA containing reason=LU*/ (missing space before */, same above) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25009 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0c958de10a3643f8b94479d676dd1ac1b9140802 Gerrit-Change-Number: 25009 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 23 Jul 2021 14:41: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 Fri Jul 23 14:45:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 23 Jul 2021 14:45:47 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Test tch allocation if sdcch exhausted In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, Hoernchen, neels, daniel, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25009 to look at the new patch set (#3). Change subject: bsc: Test tch allocation if sdcch exhausted ...................................................................... bsc: Test tch allocation if sdcch exhausted Related: SYS#5548 Change-Id: I0c958de10a3643f8b94479d676dd1ac1b9140802 --- M bsc/BSC_Tests.ttcn M bsc/expected-results.xml 2 files changed, 121 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/09/25009/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25009 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0c958de10a3643f8b94479d676dd1ac1b9140802 Gerrit-Change-Number: 25009 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 15:03:36 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 23 Jul 2021 15:03:36 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Test tch allocation if sdcch exhausted In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25009 ) Change subject: bsc: Test tch allocation if sdcch exhausted ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25009 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0c958de10a3643f8b94479d676dd1ac1b9140802 Gerrit-Change-Number: 25009 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 23 Jul 2021 15:03: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 Jul 23 15:08:29 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 23 Jul 2021 15:08:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Test tch allocation if sdcch exhausted In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25009 ) Change subject: bsc: Test tch allocation if sdcch exhausted ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25009 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0c958de10a3643f8b94479d676dd1ac1b9140802 Gerrit-Change-Number: 25009 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 23 Jul 2021 15:08: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 Jul 23 15:09:01 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 23 Jul 2021 15:09:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Test tch allocation if sdcch exhausted In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25009 ) Change subject: bsc: Test tch allocation if sdcch exhausted ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25009 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0c958de10a3643f8b94479d676dd1ac1b9140802 Gerrit-Change-Number: 25009 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 23 Jul 2021 15:09: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 Jul 23 15:09:04 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 23 Jul 2021 15:09:04 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: Test tch allocation if sdcch exhausted In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25009 ) Change subject: bsc: Test tch allocation if sdcch exhausted ...................................................................... bsc: Test tch allocation if sdcch exhausted Related: SYS#5548 Change-Id: I0c958de10a3643f8b94479d676dd1ac1b9140802 --- M bsc/BSC_Tests.ttcn M bsc/expected-results.xml 2 files changed, 121 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve Hoernchen: 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 5d56105..47e2ad9 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -4517,6 +4517,108 @@ f_shutdown_helper(); } +/* request a signalling channel with all SDCCH exhausted, it is expected that a TCH will be selected */ +private function f_TC_assignment_sdcch_exhausted_req_signalling(charstring id) runs on MSC_ConnHdlr { + g_pars := f_gen_test_hdlr_pars(); + g_pars.ra := '02'O; /* RA containing reason=LU */ + + var MobileIdentityLV mi := valueof(ts_MI_IMSI_LV(g_pars.imsi)); + var PDU_ML3_MS_NW l3_info := valueof(ts_CM_SERV_REQ(CM_TYPE_MO_CALL, mi)); + var octetstring l3_enc := enc_PDU_ML3_MS_NW(l3_info); + var template uint3_t tsc := ?; + + f_MscConnHdlr_init(g_pars.media_nr, host_bts, host_mgw_mgcp, FR_AMR); + f_create_bssmap_exp(l3_enc); + /* call helper function for CHAN_RQD -> IMM ASS ->EST_IND */ + RSL_Emulation.f_chan_est(g_pars.ra, l3_enc, g_pars.link_id, g_pars.fn, tsc); + + /* we should now have a COMPL_L3 at the MSC */ + timer T := 10.0; + T.start; + alt { + [] BSSAP.receive(tr_BSSMAP_ComplL3); + [] T.timeout { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Timeout waiting for COMPLETE LAYER 3 INFORMATION"); + } + } +} +testcase TC_assignment_sdcch_exhausted_req_signalling() runs on test_CT { + var MSC_ConnHdlr vc_conn; + f_init(1, true); + f_sleep(1.0); + f_disable_all_sdcch(); + vc_conn := f_start_handler(refers(f_TC_assignment_sdcch_exhausted_req_signalling)); + vc_conn.done; + f_enable_all_sdcch(); + f_shutdown_helper(); +} + +/* Request a signalling channel with all SDCCH exhausted, it is + expected that no TCH will be selected for signalling and assigment will fail + because it's dictated by VTY config */ +testcase TC_assignment_sdcch_exhausted_req_signalling_tch_forbidden() runs on test_CT { + var RSL_Message rsl_unused, rsl_msg; + var GsmRrMessage rr; + f_init(1, false); + f_sleep(1.0); + f_vty_allow_tch_for_signalling(false, 0); + f_disable_all_sdcch(); + + /* RA containing reason=LU */ + f_ipa_tx(0, ts_RSL_CHAN_RQD('02'O, 2342)); + rsl_msg := f_exp_ipa_rx(0, tr_RSL_IMM_ASSIGN(0)); + rr := dec_GsmRrMessage(rsl_msg.ies[1].body.full_imm_ass_info.payload); + if (rr.header.message_type != IMMEDIATE_ASSIGNMENT_REJECT) { + setverdict(fail, "Expected reject"); + } + + f_vty_allow_tch_for_signalling(true, 0); + f_enable_all_sdcch(); + f_shutdown_helper(); +} + +/* Request a voice channel with all SDCCH exhausted, it is + * expected that TCH channel will be allocated since the VTY option is only + * aimed at signalling requests */ +private function f_TC_assignment_sdcch_exhausted_req_voice_tch_forbidden(charstring id) runs on MSC_ConnHdlr { + g_pars := f_gen_test_hdlr_pars(); + g_pars.ra := '43'O; /* RA containing reason=originating speech call*/ + + var MobileIdentityLV mi := valueof(ts_MI_IMSI_LV(g_pars.imsi)); + var PDU_ML3_MS_NW l3_info := valueof(ts_CM_SERV_REQ(CM_TYPE_MO_CALL, mi)); + var octetstring l3_enc := enc_PDU_ML3_MS_NW(l3_info); + var template uint3_t tsc := ?; + + f_MscConnHdlr_init(g_pars.media_nr, host_bts, host_mgw_mgcp, FR_AMR); + f_create_bssmap_exp(l3_enc); + /* call helper function for CHAN_RQD -> IMM ASS ->EST_IND */ + RSL_Emulation.f_chan_est(g_pars.ra, l3_enc, g_pars.link_id, g_pars.fn, tsc); + + /* we should now have a COMPL_L3 at the MSC */ + timer T := 10.0; + T.start; + alt { + [] BSSAP.receive(tr_BSSMAP_ComplL3); + [] T.timeout { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Timeout waiting for COMPLETE LAYER 3 INFORMATION"); + } + } +} +testcase TC_assignment_sdcch_exhausted_req_voice_tch_forbidden() runs on test_CT { + var MSC_ConnHdlr vc_conn; + f_init(1, true); + f_sleep(1.0); + f_vty_allow_tch_for_signalling(false, 0); + f_disable_all_sdcch(); + + vc_conn := f_start_handler(refers(f_TC_assignment_sdcch_exhausted_req_voice_tch_forbidden)); + vc_conn.done; + + f_vty_allow_tch_for_signalling(true, 0); + f_enable_all_sdcch(); + f_shutdown_helper(); +} + testcase TC_assignment_osmux() runs on test_CT { var TestHdlrParams pars := f_gen_test_hdlr_pars(); var MSC_ConnHdlr vc_conn; @@ -7829,6 +7931,19 @@ f_vty_transceive(BSCVTY, "exit"); } +/* Allow/Forbid TCH for signalling if SDCCH exhausted on a given BTS via VTY */ +private function f_vty_allow_tch_for_signalling(boolean allow, integer bts_nr) runs on test_CT { + f_vty_enter_cfg_bts(BSCVTY, bts_nr); + if (allow) { + f_vty_transceive(BSCVTY, "channel allocator allow-tch-for-signalling 1"); + } else { + f_vty_transceive(BSCVTY, "channel allocator allow-tch-for-signalling 0"); + } + f_vty_transceive(BSCVTY, "exit"); + f_vty_transceive(BSCVTY, "exit"); + f_vty_transceive(BSCVTY, "exit"); +} + /* Begin assignmet procedure and send an EMERGENCY SETUP (RR) */ private function f_assignment_emerg_setup() runs on MSC_ConnHdlr { var PDU_ML3_MS_NW emerg_setup; @@ -9408,6 +9523,9 @@ execute( TC_assignment_codec_hr_exhausted_req_fr_hr() ); execute( TC_assignment_codec_req_hr_fr() ); execute( TC_assignment_codec_req_fr_hr() ); + execute( TC_assignment_sdcch_exhausted_req_signalling() ); + execute( TC_assignment_sdcch_exhausted_req_signalling_tch_forbidden() ); + execute( TC_assignment_sdcch_exhausted_req_voice_tch_forbidden() ); execute( TC_assignment_osmux() ); diff --git a/bsc/expected-results.xml b/bsc/expected-results.xml index fd2d4d8..f9f022e 100644 --- a/bsc/expected-results.xml +++ b/bsc/expected-results.xml @@ -96,6 +96,9 @@ + + + -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25009 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0c958de10a3643f8b94479d676dd1ac1b9140802 Gerrit-Change-Number: 25009 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter 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 Jul 23 15:24:37 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 23 Jul 2021 15:24:37 +0000 Subject: Change in libosmo-sccp[master]: m3ua: fix m3ua_encode_dupu References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/25033 ) Change subject: m3ua: fix m3ua_encode_dupu ...................................................................... m3ua: fix m3ua_encode_dupu Fix wrong header and swapped user / cause values (see RFC 4666). This makes TC_ssnm_distribution_dupu pass. Change-Id: I717b64d13d12a2781c90e4d2f83643331797bed4 --- M src/m3ua.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/33/25033/1 diff --git a/src/m3ua.c b/src/m3ua.c index 4583683..607813f 100644 --- a/src/m3ua.c +++ b/src/m3ua.c @@ -820,9 +820,9 @@ const char *info_string) { struct xua_msg *xua = xua_msg_alloc(); - uint32_t user_cause = (user << 16) | cause; + uint32_t user_cause = (cause << 16) | user; - xua->hdr = XUA_HDR(M3UA_MSGC_SNM, M3UA_SNM_DUNA); + xua->hdr = XUA_HDR(M3UA_MSGC_SNM, M3UA_SNM_DUPU); xua->hdr.version = M3UA_VERSION; if (rctx) xua_msg_add_data(xua, M3UA_IEI_ROUTE_CTX, num_rctx * sizeof(*rctx), (const uint8_t *)rctx); -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/25033 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I717b64d13d12a2781c90e4d2f83643331797bed4 Gerrit-Change-Number: 25033 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 Jul 23 15:42:05 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 23 Jul 2021 15:42:05 +0000 Subject: Change in libosmo-sccp[master]: m3ua: fix m3ua_encode_dupu In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/25033 ) Change subject: m3ua: fix m3ua_encode_dupu ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/25033 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I717b64d13d12a2781c90e4d2f83643331797bed4 Gerrit-Change-Number: 25033 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 23 Jul 2021 15:42:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 16:23:21 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 23 Jul 2021 16:23:21 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: assert endp when it becomes mandatory In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25026 ) Change subject: mgcp_protocol: assert endp when it becomes mandatory ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25026 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I1d4221f2df13c43321d5466534485cf21f0d9010 Gerrit-Change-Number: 25026 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 23 Jul 2021 16:23:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 16:26:39 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 23 Jul 2021 16:26:39 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_vty: remove unnecessary checks In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25029 ) Change subject: mgcp_client_vty: remove unnecessary checks ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25029 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I892d14c588573f76640453cb9c194594289b59f1 Gerrit-Change-Number: 25029 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 23 Jul 2021 16: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 Jul 23 16:33:31 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 23 Jul 2021 16:33:31 +0000 Subject: Change in osmo-pcu[master]: WIP: Move FINISHED tbf_state transition to tbf_fsm References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25034 ) Change subject: WIP: Move FINISHED tbf_state transition to tbf_fsm ...................................................................... WIP: Move FINISHED tbf_state transition to tbf_fsm Related: OS#2709 Change-Id: I81f507e3a2821254f03364a58ead02333e63099f --- M src/tbf_dl.cpp M src/tbf_fsm.c M src/tbf_fsm.h M src/tbf_ul.cpp 4 files changed, 24 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/34/25034/1 diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 12fd99f..ed5003c 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -711,7 +711,7 @@ is_final = llc_queue_size(llc_queue()) == 0 && !keep_open(fn); if (is_final) { rdbi->cv = 0; - TBF_SET_STATE(this, TBF_ST_FINISHED); + osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_LAST_DL_DATA_SENT, NULL); } if (mcs_is_edge(cs)) { @@ -756,7 +756,7 @@ if (is_final) { request_dl_ack(); - TBF_SET_STATE(this, TBF_ST_FINISHED); + osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_LAST_DL_DATA_SENT, NULL); } /* dequeue next LLC frame, if any */ diff --git a/src/tbf_fsm.c b/src/tbf_fsm.c index 1c777a7..3322857 100644 --- a/src/tbf_fsm.c +++ b/src/tbf_fsm.c @@ -47,6 +47,8 @@ //{ TBF_EV_ASSIGN_DEL_PACCH, "ASSIGN_DEL_PACCH" }, { TBF_EV_ASSIGN_ACK_PACCH, "ASSIGN_ACK_PACCH" }, { TBF_EV_ASSIGN_READY_CCCH, "ASSIGN_READY_CCCH" }, + { TBF_EV_LAST_DL_DATA_SENT, "LAST_DL_DATA_SENT" }, + { TBF_EV_LAST_UL_DATA_RECVD, "LAST_UL_DATA_RECVD" }, { 0, NULL } }; @@ -138,6 +140,20 @@ } } +static void st_flow(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + //struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; + switch (event) { + case TBF_EV_LAST_DL_DATA_SENT: + case TBF_EV_LAST_UL_DATA_RECVD: + /* All data has been sent or received, change state to FINISHED */ + tbf_fsm_state_chg(fi, TBF_ST_FINISHED); + break; + default: + OSMO_ASSERT(0); + } +} + static void tbf_fsm_cleanup(struct osmo_fsm_inst *fi, enum osmo_fsm_term_cause cause) { /* TODO: needed ? @@ -182,14 +198,15 @@ }, [TBF_ST_FLOW] = { .in_event_mask = - 0, + X(TBF_EV_LAST_DL_DATA_SENT) | + X(TBF_EV_LAST_UL_DATA_RECVD), .out_state_mask = X(TBF_ST_FINISHED) | X(TBF_ST_WAIT_RELEASE) | X(TBF_ST_RELEASING), .name = "FLOW", //.onenter = st_flow_on_enter, - //.action = st_flow, + .action = st_flow, }, [TBF_ST_FINISHED] = { .in_event_mask = diff --git a/src/tbf_fsm.h b/src/tbf_fsm.h index 405f5c6..f4f5ad7 100644 --- a/src/tbf_fsm.h +++ b/src/tbf_fsm.h @@ -33,6 +33,8 @@ //TBF_EV_ASSIGN_DEL_PACCH, TBF_EV_ASSIGN_ACK_PACCH, /* We received a CTRL ACK confirming assignment started on PACCH */ TBF_EV_ASSIGN_READY_CCCH, /* TBF Start Time timer triggered */ + TBF_EV_LAST_DL_DATA_SENT, /* DL TBF sends RLCMAC block containing last DL avilable data buffered */ + TBF_EV_LAST_UL_DATA_RECVD, /* UL TBF sends RLCMAC block containing last UL data (cv=0) */ }; enum tbf_fsm_states { diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 4b3d015..54108ed 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -534,7 +534,7 @@ rdbi->bsn, rdbi->cv); if (rdbi->cv == 0) { LOGPTBFUL(this, LOGL_DEBUG, "Finished with UL TBF\n"); - TBF_SET_STATE(this, TBF_ST_FINISHED); + osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_LAST_UL_DATA_RECVD, NULL); /* Reset N3103 counter. */ this->n_reset(N3103); } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25034 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I81f507e3a2821254f03364a58ead02333e63099f Gerrit-Change-Number: 25034 Gerrit-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 Jul 23 20:56:51 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 23 Jul 2021 20:56:51 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_cm_reestablishment In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25021 ) Change subject: bsc: add TC_cm_reestablishment ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25021/1/bsc/BSC_Tests.ttcn File bsc/BSC_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25021/1/bsc/BSC_Tests.ttcn at 9337 PS1, Line 9337: f_sleep(2.0); > Can't you COORD. [?] above we first establish a channel. This sleep simulates a bit of time that passes before the MS decides that it lost the RF link. In practice I want there to be a bit of delay seen in the pcap file to clearly distinguish the assignment of TCH and release of the SDCCH before the special stuff starts happening. So semantically, no COORD here, just wait a little bit before we stat. The time the Clear Command happens is decided by the other test component, following the CM Re-Est request. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25021/1/bsc/BSC_Tests.ttcn at 9338 PS1, Line 9338: COORD.send("Lost connection"); > Did you think about using something more "tokenized" when passing the strings? "EV_LOST_CONNECTION" [?] yep can do -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25021 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1e7d446644f46b8a0a94688e618ffb4f23a8900e Gerrit-Change-Number: 25021 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 23 Jul 2021 20:56:51 +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 Jul 23 21:49:31 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 23 Jul 2021 21:49:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_cm_reestablishment 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/+/25021 to look at the new patch set (#2). Change subject: bsc: add TC_cm_reestablishment ...................................................................... bsc: add TC_cm_reestablishment Related: SYS#5130 Change-Id: I1e7d446644f46b8a0a94688e618ffb4f23a8900e --- M bsc/BSC_Tests.ttcn M library/L3_Templates.ttcn 2 files changed, 158 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/21/25021/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25021 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1e7d446644f46b8a0a94688e618ffb4f23a8900e Gerrit-Change-Number: 25021 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 Fri Jul 23 21:49:31 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 23 Jul 2021 21:49:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: TC_cm_reestablishment(): do second lchan on bts 1 In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25022 to look at the new patch set (#2). Change subject: bsc: TC_cm_reestablishment(): do second lchan on bts 1 ...................................................................... bsc: TC_cm_reestablishment(): do second lchan on bts 1 So far the test ran both lchans on bts 0, which is not really a realistic scenario for a CM Re-Establishment Request. Move the second channel to bts 1, using various RSL port args added recently. Change-Id: Ia930f7b8986ba27c5f507478dbff0a2942f207d8 --- M bsc/BSC_Tests.ttcn 1 file changed, 9 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/22/25022/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25022 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia930f7b8986ba27c5f507478dbff0a2942f207d8 Gerrit-Change-Number: 25022 Gerrit-PatchSet: 2 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 Fri Jul 23 21:49:32 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 23 Jul 2021 21:49:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: TC_dyn_pdch_* shorten some delays References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25035 ) Change subject: bsc: TC_dyn_pdch_* shorten some delays ...................................................................... bsc: TC_dyn_pdch_* shorten some delays So far we're sleeping a hole second before verifying the PDCH status of a dynamic timeslot. That is just to ensure that osmo-bsc has read the message from its queue and changed its status. Change to a sleep of 0.1s, cutting a couple of seconds off the test execution. Change-Id: Ic6cd373e18aea6eff14f2be5432705b9838e6054 --- M bsc/BSC_Tests.ttcn 1 file changed, 9 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/35/25035/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 47e2ad9..a284932 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -6765,25 +6765,25 @@ /* The BSC will activate the dynamic PDCH by default, so confirm that */ rsl_unused := f_exp_ipa_rx(0, tr_RSL_IPA_PDCH_ACT(chan_nr)); f_ipa_tx(0, ts_RSL_IPA_PDCH_ACT_ACK(chan_nr, ts_RSL_IE_FrameNumber(2342))); - f_sleep(1.0); + f_sleep(0.1); log("TCH/F_PDCH pchan, PDCH ACT was ACKed, so now in PDCH mode:"); f_ts_dyn_mode_assert(0, 0, chan_nr.tn, PDCH_MODE); /* De-activate it via VTY */ f_dyn_ipa_pdch_deact(0, 0, chan_nr.tn); - f_sleep(1.0); + f_sleep(0.1); log("TCH/F_PDCH pchan, PDCH DEACT via VTY, so now back in TCH/F mode:"); f_ts_dyn_mode_assert(0, 0, chan_nr.tn, TCHF_MODE); /* re-activate it via VTY */ f_dyn_ipa_pdch_act(0, 0, chan_nr.tn); - f_sleep(1.0); + f_sleep(0.1); log("TCH/F_PDCH pchan, PDCH ACT via VTY, so now in PDCH mode:"); f_ts_dyn_mode_assert(0, 0, chan_nr.tn, PDCH_MODE); /* and finally de-activate it again */ f_dyn_ipa_pdch_deact(0, 0, chan_nr.tn); - f_sleep(1.0); + f_sleep(0.1); log("TCH/F_PDCH pchan, PDCH DEACT via VTY, so now back in TCH/F mode:"); f_ts_dyn_mode_assert(0, 0, chan_nr.tn, TCHF_MODE); @@ -6811,17 +6811,17 @@ /* The BSC will activate the dynamic PDCH by default, so confirm that */ rsl_unused := f_exp_ipa_rx(0, tr_RSL_IPA_PDCH_ACT(chan_nr)); f_ipa_tx(0, ts_RSL_IPA_PDCH_ACT_ACK(chan_nr, ts_RSL_IE_FrameNumber(2342))); - f_sleep(1.0); + f_sleep(0.1); f_ts_dyn_mode_assert(0, 0, chan_nr.tn, PDCH_MODE); /* De-activate it via VTY */ f_dyn_ipa_pdch_deact(0, 0, chan_nr.tn); - f_sleep(1.0); + f_sleep(0.1); f_ts_dyn_mode_assert(0, 0, chan_nr.tn, TCHF_MODE); /* re-activate it via VTY, but fail that; check BSC still assumes TCH/F mode */ f_dyn_ipa_pdch_act(0, 0, chan_nr.tn, RSL_ERR_EQUIPMENT_FAIL); - f_sleep(1.0); + f_sleep(0.1); f_ts_dyn_mode_assert(0, 0, chan_nr.tn, TCHF_MODE); /* clean up config */ @@ -6889,7 +6889,7 @@ rsl_unused := f_exp_ipa_rx(0, tr_RSL_CHAN_ACT_PDCH(chan_nr, ?)); f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(chan_nr, 2342)); - f_sleep(1.0); + f_sleep(0.1); log("TCH/F_TCH/H_PDCH requested to PDCH ACT on startup, which was ACKed, so now in PDCH:"); f_ts_dyn_mode_assert(0, 0, chan_nr.tn, PDCH_MODE); @@ -6919,7 +6919,7 @@ /* NACK this activation and expect the "show timeslot" mode still to be NONE */ f_ipa_tx(0, ts_RSL_CHAN_ACT_NACK(chan_nr, RSL_ERR_EQUIPMENT_FAIL)); - f_sleep(1.0); + f_sleep(0.1); f_ts_dyn_mode_assert(0, 0, chan_nr.tn, NONE_MODE); /* clean up config */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25035 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic6cd373e18aea6eff14f2be5432705b9838e6054 Gerrit-Change-Number: 25035 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 21:50:34 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 23 Jul 2021 21:50:34 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: TC_dyn_pdch_* shorten some delays In-Reply-To: References: Message-ID: neels has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25035 ) Change subject: bsc: TC_dyn_pdch_* shorten some delays ...................................................................... Abandoned accidental submisison -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25035 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic6cd373e18aea6eff14f2be5432705b9838e6054 Gerrit-Change-Number: 25035 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 21:57:52 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 23 Jul 2021 21:57:52 +0000 Subject: Change in osmo-bsc[master]: fix CM Re-Establishment Request: allocate new A conn References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25036 ) Change subject: fix CM Re-Establishment Request: allocate new A conn ...................................................................... fix CM Re-Establishment Request: allocate new A conn For a call re-establishment, the MS shows up on a different cell and requests CM Re-Establishment (3GPP TS 24.008 9.2.4). As soon as the Layer 3 is established, the MSC will clear the first A-connection; the re-establishment *has* to happen on a new separate A-connection. So for a brief moment we must allow two distinct A-interface connections to be used for the same subscriber. Related: SYS#5130 Change-Id: I2da9a971dd36c4289a78040adfe85704c8282c59 --- M src/osmo-bsc/gsm_08_08.c 1 file changed, 7 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/36/25036/1 diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c index 80ed874..1f6b38e 100644 --- a/src/osmo-bsc/gsm_08_08.c +++ b/src/osmo-bsc/gsm_08_08.c @@ -415,8 +415,13 @@ /* If this Mobile Identity already has an active bsc_subscr, look whether there also is an active A-interface * conn for this subscriber. This may be the case during a Perform Location Request (LCS) from the MSC that - * started on an IDLE MS, and now the MS is becoming active. Associate with the existing conn. */ - if (bsub) + * started on an IDLE MS, and now the MS is becoming active. Associate with the existing conn. + * + * However, for a CM Re-Establishment Request, we must *not* re-use the existing conn, but allocate a second + * conn for the same bsub. The previous conn will be Clear'ed by the MSC as soon as it receives the L3 Complete + * message == the CM Re-Establishment Request. + */ + if (bsub && !(pdisc == GSM48_PDISC_MM && mtype == GSM48_MT_MM_CM_REEST_REQ)) conn = bsc_conn_by_bsub(bsub); if (!conn) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25036 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2da9a971dd36c4289a78040adfe85704c8282c59 Gerrit-Change-Number: 25036 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 21:58:55 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 23 Jul 2021 21:58:55 +0000 Subject: Change in osmo-bsc[master]: log: fix missing newline in lchan_select.c References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25037 ) Change subject: log: fix missing newline in lchan_select.c ...................................................................... log: fix missing newline in lchan_select.c Change-Id: Iea8bc73ba6da24f353ad422cdea3fa88173a9a1c --- M src/osmo-bsc/lchan_select.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/37/25037/1 diff --git a/src/osmo-bsc/lchan_select.c b/src/osmo-bsc/lchan_select.c index 022d516..ad45dc7 100644 --- a/src/osmo-bsc/lchan_select.c +++ b/src/osmo-bsc/lchan_select.c @@ -136,7 +136,7 @@ found_lchan->interf_dbm, found_lchan->ts->pchan_is != as_pchan ? ", after dyn PCHAN change," : ""); else - LOGPLCHANALLOC("Nothing found"); + LOGPLCHANALLOC("Nothing found\n"); return found_lchan; #undef LOGPLCHANALLOC } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25037 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iea8bc73ba6da24f353ad422cdea3fa88173a9a1c Gerrit-Change-Number: 25037 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 21:58:56 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 23 Jul 2021 21:58:56 +0000 Subject: Change in osmo-bsc[master]: debug log: indicate change of primary lchan on a conn References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25038 ) Change subject: debug log: indicate change of primary lchan on a conn ...................................................................... debug log: indicate change of primary lchan on a conn Change-Id: Ib4e9a1cde9248f5d3fd8d7d8277623b42670b059 --- M src/osmo-bsc/bsc_subscr_conn_fsm.c 1 file changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/38/25038/1 diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index c4a7875..671f065 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -702,6 +702,14 @@ if (old_lchan == new_lchan) return; + if (!old_lchan && new_lchan) + LOGPFSML(conn->fi, LOGL_DEBUG, "setting primary lchan for this conn to %s\n", + new_lchan->fi? osmo_fsm_inst_name(new_lchan->fi) : gsm_lchan_name(new_lchan)); + else if (old_lchan && new_lchan) + LOGPFSML(conn->fi, LOGL_DEBUG, "primary lchan for this conn changes from %s to %s\n", + old_lchan->fi? osmo_fsm_inst_name(old_lchan->fi) : gsm_lchan_name(old_lchan), + new_lchan->fi? osmo_fsm_inst_name(new_lchan->fi) : gsm_lchan_name(new_lchan)); + conn->lchan = new_lchan; conn->lchan->conn = conn; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25038 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib4e9a1cde9248f5d3fd8d7d8277623b42670b059 Gerrit-Change-Number: 25038 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 21:58:56 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 23 Jul 2021 21:58:56 +0000 Subject: Change in osmo-bsc[master]: vty: lchan deact: allow omitting the lchan type arg References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25039 ) Change subject: vty: lchan deact: allow omitting the lchan type arg ...................................................................... vty: lchan deact: allow omitting the lchan type arg In the command bts <0-255> trx <0-255> timeslot <0-7> sub-slot <0-7> deactivate fr the final argument indicating the channel type does not make sense and is not actually used. Define a separate vty command for 'deactivate', so that it doesn't require arguments only used for 'activate'. Change-Id: Ibdeca3b1d75b9f6092f566544e9d5f4da67fffce --- M src/osmo-bsc/bsc_vty.c 1 file changed, 42 insertions(+), 16 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/39/25039/1 diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 5966f85..b0fe8bf 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -1548,6 +1548,11 @@ GSM0808_SC_CFG_AMR_12_2 }; if (activate) { + if (!codec_str) { + vty_out(vty, "%% Error: need a channel type argument to activate%s", VTY_NEWLINE); + return CMD_WARNING; + } + LOG_LCHAN(lchan, LOGL_NOTICE, "attempt from VTY to activate lchan %s with codec %s\n", gsm_lchan_name(lchan), codec_str); if (!lchan->fi) { @@ -1700,28 +1705,21 @@ return CMD_SUCCESS; } -/* Debug/Measurement command to activate a given logical channel - * manually in a given mode/codec. This is useful for receiver - * performance testing (FER/RBER/...) */ -DEFUN(lchan_act, lchan_act_cmd, - "bts <0-255> trx <0-255> timeslot <0-7> (sub-slot|vamos-sub-slot) <0-7> (activate|activate-vamos|deactivate) (hr|fr|efr|amr|sig) [<0-7>]", - BTS_NR_TRX_TS_STR2 - "Primary sub-slot\n" "VAMOS secondary shadow subslot, range <0-1>, only valid for TCH type timeslots\n" - SS_NR_STR - "Manual Channel Activation (e.g. for BER test)\n" - "Manual Channel Activation, in VAMOS mode\n" - "Manual Channel Deactivation (e.g. for BER test)\n" - "Half-Rate v1\n" "Full-Rate\n" "Enhanced Full Rate\n" "Adaptive Multi-Rate\n" "Signalling\n" "AMR Mode\n") +static int lchan_act_deact(struct vty *vty, const char **argv, int argc) { struct gsm_bts_trx_ts *ts; struct gsm_lchan *lchan; bool vamos = (strcmp(argv[3], "vamos-sub-slot") == 0); int ss_nr = atoi(argv[4]); - const char *act_str = argv[5]; - const char *codec_str = argv[6]; + const char *act_str = NULL; + const char *codec_str = NULL; int activate; int amr_mode = -1; + if (argc > 5) + act_str = argv[5]; + if (argc > 6) + codec_str = argv[6]; if (argc > 7) amr_mode = atoi(argv[7]); @@ -1744,16 +1742,43 @@ lchan = &ts->lchan[ss_nr]; - if (!strcmp(act_str, "activate")) + if (!act_str) + activate = 0; + else if (!strcmp(act_str, "activate")) activate = 1; else if (!strcmp(act_str, "activate-vamos")) activate = 2; else - activate = 0; + return CMD_WARNING; return lchan_act_single(vty, lchan, codec_str, amr_mode, activate); } +/* Debug/Measurement command to activate a given logical channel + * manually in a given mode/codec. This is useful for receiver + * performance testing (FER/RBER/...) */ +DEFUN(lchan_act, lchan_act_cmd, + "bts <0-255> trx <0-255> timeslot <0-7> (sub-slot|vamos-sub-slot) <0-7> (activate|activate-vamos) (hr|fr|efr|amr|sig) [<0-7>]", + BTS_NR_TRX_TS_STR2 + "Primary sub-slot\n" "VAMOS secondary shadow subslot, range <0-1>, only valid for TCH type timeslots\n" + SS_NR_STR + "Manual Channel Activation (e.g. for BER test)\n" + "Manual Channel Activation, in VAMOS mode\n" + "Half-Rate v1\n" "Full-Rate\n" "Enhanced Full Rate\n" "Adaptive Multi-Rate\n" "Signalling\n" "AMR Mode\n") +{ + return lchan_act_deact(vty, argv, argc); +} + +DEFUN(lchan_deact, lchan_deact_cmd, + "bts <0-255> trx <0-255> timeslot <0-7> (sub-slot|vamos-sub-slot) <0-7> deactivate", + BTS_NR_TRX_TS_STR2 + "Primary sub-slot\n" "VAMOS secondary shadow subslot, range <0-1>, only valid for TCH type timeslots\n" + SS_NR_STR + "Manual Channel Deactivation (e.g. for BER test)\n") +{ + return lchan_act_deact(vty, argv, argc); +} + #define ACTIVATE_ALL_LCHANS_STR "Manual Channel Activation of all logical channels (e.g. for BER test)\n" #define DEACTIVATE_ALL_LCHANS_STR "Manual Channel Deactivation of all logical channels (e.g. for BER test)\n" @@ -3365,6 +3390,7 @@ install_element(ENABLE_NODE, &bts_c0_power_red_cmd); install_element(ENABLE_NODE, &pdch_act_cmd); install_element(ENABLE_NODE, &lchan_act_cmd); + install_element(ENABLE_NODE, &lchan_deact_cmd); install_element(ENABLE_NODE, &lchan_act_all_cmd); install_element(ENABLE_NODE, &lchan_act_all_bts_cmd); install_element(ENABLE_NODE, &lchan_act_all_trx_cmd); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25039 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibdeca3b1d75b9f6092f566544e9d5f4da67fffce Gerrit-Change-Number: 25039 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 21:58:57 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 23 Jul 2021 21:58:57 +0000 Subject: Change in osmo-bsc[master]: vty: improve err msg for invalid subslot nr References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25040 ) Change subject: vty: improve err msg for invalid subslot nr ...................................................................... vty: improve err msg for invalid subslot nr Change-Id: I2f649bd2d8d9f217c22b62d2842e1e4fa101ba11 --- M src/osmo-bsc/bsc_vty.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/40/25040/1 diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index b0fe8bf..6d10426 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -1728,7 +1728,8 @@ return CMD_WARNING; if (ss_nr >= ts->max_primary_lchans) { - vty_out(vty, "Invalid sub-slot number for this timeslot type%s", VTY_NEWLINE); + vty_out(vty, "Invalid sub-slot number %d for this timeslot type: %s (%u)%s", ss_nr, + gsm_pchan_name(ts->pchan_on_init), ts->max_primary_lchans, VTY_NEWLINE); return CMD_WARNING; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25040 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2f649bd2d8d9f217c22b62d2842e1e4fa101ba11 Gerrit-Change-Number: 25040 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 22:02:07 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 23 Jul 2021 22:02:07 +0000 Subject: Change in osmo-bsc[master]: fix CM Re-Establishment Request: allocate new A conn In-Reply-To: References: Message-ID: neels has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-bsc/+/25036 ) Change subject: fix CM Re-Establishment Request: allocate new A conn ...................................................................... fix CM Re-Establishment Request: allocate new A conn For a call re-establishment, the MS shows up on a different cell and requests CM Re-Establishment (3GPP TS 24.008 9.2.4). As soon as the Layer 3 is established, the MSC will clear the first A-connection; the re-establishment *has* to happen on a new separate A-connection. So for a brief moment we must allow two distinct A-interface connections to be used for the same subscriber. Tested by BSC_Tests.TC_cm_reestablishment added in I1e7d446644f46b8a0a94688e618ffb4f23a8900e Related: SYS#5130 Change-Id: I2da9a971dd36c4289a78040adfe85704c8282c59 --- M src/osmo-bsc/gsm_08_08.c 1 file changed, 7 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/36/25036/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25036 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2da9a971dd36c4289a78040adfe85704c8282c59 Gerrit-Change-Number: 25036 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 Fri Jul 23 22:09:35 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 23 Jul 2021 22:09:35 +0000 Subject: Change in osmo-bsc[master]: log: fix missing newline in lchan_select.c 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/+/25037 to look at the new patch set (#2). Change subject: log: fix missing newline in lchan_select.c ...................................................................... log: fix missing newline in lchan_select.c Change-Id: Iea8bc73ba6da24f353ad422cdea3fa88173a9a1c --- M src/osmo-bsc/lchan_select.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/37/25037/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25037 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iea8bc73ba6da24f353ad422cdea3fa88173a9a1c Gerrit-Change-Number: 25037 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 22:09:35 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 23 Jul 2021 22:09:35 +0000 Subject: Change in osmo-bsc[master]: debug log: indicate change of primary lchan on a conn 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/+/25038 to look at the new patch set (#2). Change subject: debug log: indicate change of primary lchan on a conn ...................................................................... debug log: indicate change of primary lchan on a conn Change-Id: Ib4e9a1cde9248f5d3fd8d7d8277623b42670b059 --- M src/osmo-bsc/bsc_subscr_conn_fsm.c 1 file changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/38/25038/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25038 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib4e9a1cde9248f5d3fd8d7d8277623b42670b059 Gerrit-Change-Number: 25038 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 23 22:09:35 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 23 Jul 2021 22:09:35 +0000 Subject: Change in osmo-bsc[master]: vty: lchan deact: allow omitting the lchan type arg 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/+/25039 to look at the new patch set (#2). Change subject: vty: lchan deact: allow omitting the lchan type arg ...................................................................... vty: lchan deact: allow omitting the lchan type arg In the command bts <0-255> trx <0-255> timeslot <0-7> sub-slot <0-7> deactivate fr the final argument indicating the channel type does not make sense and is not actually used. Define a separate vty command for 'deactivate', so that it doesn't require arguments only used for 'activate'. Change-Id: Ibdeca3b1d75b9f6092f566544e9d5f4da67fffce --- M src/osmo-bsc/bsc_vty.c M tests/osmo-bsc.vty 2 files changed, 44 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/39/25039/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25039 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibdeca3b1d75b9f6092f566544e9d5f4da67fffce Gerrit-Change-Number: 25039 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 Sat Jul 24 22:03:16 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 24 Jul 2021 22:03:16 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_vty: remove unnecessary checks In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25029 ) Change subject: mgcp_client_vty: remove unnecessary checks ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25029 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I892d14c588573f76640453cb9c194594289b59f1 Gerrit-Change-Number: 25029 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 24 Jul 2021 22:03:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Jul 24 23:06:41 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 24 Jul 2021 23:06:41 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: allow to reset endpoints on startup In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25008 ) Change subject: mgcp_client: allow to reset endpoints on startup ...................................................................... Patch Set 4: (8 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/25008/4/src/libosmo-mgcp-client/mgcp_client.c File src/libosmo-mgcp-client/mgcp_client.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25008/4/src/libosmo-mgcp-client/mgcp_client.c at 793 PS4, Line 793: llist_add_tail(&actual_reset_ep->list, &mgcp->actual.reset_epnames); seems to me that it is not necessary to copy this list. IIUC the list is only used once at program startup, just after reading in the cfg. Would it also work to just use conf->reset_epnames on connect? that way, a client that re-connects without restarting the program would also start using changes made to the list by telnet VTY immediately. https://gerrit.osmocom.org/c/osmo-mgw/+/25008/4/src/libosmo-mgcp-client/mgcp_client.c at 854 PS4, Line 854: void _ignore_mgcp_response(struct mgcp_response *response, void *priv) { } hm, interesting! I think we should change mgcp_client_tx() to still store an entry via mgcp_client_pending_add() even if response_cb is NULL, see (x) below. That way we can pass NULL to ignore the response and don't get an error log for it, and don't need to define an empty function. https://gerrit.osmocom.org/c/osmo-mgw/+/25008/4/src/libosmo-mgcp-client/mgcp_client.c at 905 PS4, Line 905: epname = _mgcp_client_name_append_domain(mgcp, reset_ep->name); I think it is more elegant to define the complete endpoint name in the config, and to not append a domain here. For example, I'm the admin of an osmo-mgw, and the domain configured in osmo-mgw.cfg was "@mgw", and say I'm now changing it to "@bsc". The next time the client restarts, I still want to make sure the legacy domain name also gets reset. So I might want to add both rtpbridge/*@mgw rtpbridge/*@bsc If you hardcode here that a domain is still added internally, you are taking this configuration freedom away from the user. So I think the solution is to simply not append a domain name, and document that the cfg must also contain the @domain part. If you think it is important to be able to omit the domain name in the config, then let's only add a domain name here when there is no '@' in the name yet? i.e. only add a domain when it is missing, so that the user can decide? https://gerrit.osmocom.org/c/osmo-mgw/+/25008/4/src/libosmo-mgcp-client/mgcp_client.c at 1052 PS4, Line 1052: if (response_cb != NULL) { (x) mentioned above, here remove the response_cb != NULL condition. That's all that's needed, because we already avoid calling a NULL response_cb in mgcp_client_handle_response(). https://gerrit.osmocom.org/c/osmo-mgw/+/25008/4/src/libosmo-mgcp-client/mgcp_client_vty.c File src/libosmo-mgcp-client/mgcp_client_vty.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25008/4/src/libosmo-mgcp-client/mgcp_client_vty.c at 161 PS4, Line 161: eindpoint "endpoint" Let's write "Add" instead of "Set", so it's clear that there can be more than one. Let's write "on connect" instead of "startup", because it's actually sent in mgcp_client_connect() https://gerrit.osmocom.org/c/osmo-mgw/+/25008/4/src/libosmo-mgcp-client/mgcp_client_vty.c at 175 PS4, Line 175: /* the domain name is not part of the actual endpoint name */ (but i think it should be) https://gerrit.osmocom.org/c/osmo-mgw/+/25008/4/src/libosmo-mgcp-client/mgcp_client_vty.c at 202 PS4, Line 202: startup ("on connect" as above) Let's write "Remove an endpoint name from the reset-endpoint list" https://gerrit.osmocom.org/c/osmo-mgw/+/25008/4/src/libosmo-mgcp-client/mgcp_client_vty.c at 210 PS4, Line 210: reset_ep_del = reset_ep; break; ? or put the free() directly in the loop and return CMD_SUCCESS here? -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25008 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Gerrit-Change-Number: 25008 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Sat, 24 Jul 2021 23:06:41 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 26 08:32:23 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 26 Jul 2021 08:32:23 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_cm_reestablishment In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25021 ) Change subject: bsc: add TC_cm_reestablishment ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25021/1/bsc/BSC_Tests.ttcn File bsc/BSC_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25021/1/bsc/BSC_Tests.ttcn at 9337 PS1, Line 9337: f_sleep(2.0); > above we first establish a channel. [?] Ack -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25021 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1e7d446644f46b8a0a94688e618ffb4f23a8900e Gerrit-Change-Number: 25021 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 26 Jul 2021 08:32:23 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: neels 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 Jul 26 08:33:59 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 26 Jul 2021 08:33:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_cm_reestablishment In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25021 ) Change subject: bsc: add TC_cm_reestablishment ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25021 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1e7d446644f46b8a0a94688e618ffb4f23a8900e Gerrit-Change-Number: 25021 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 26 Jul 2021 08:33:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 26 08:39:21 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 26 Jul 2021 08:39:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: TC_cm_reestablishment(): do second lchan on bts 1 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25022 ) Change subject: bsc: TC_cm_reestablishment(): do second lchan on bts 1 ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25022 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia930f7b8986ba27c5f507478dbff0a2942f207d8 Gerrit-Change-Number: 25022 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 26 Jul 2021 08:39:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 26 08:40:16 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 26 Jul 2021 08:40:16 +0000 Subject: Change in osmo-bsc[master]: vty: improve err msg for invalid subslot nr In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25040 ) Change subject: vty: improve err msg for invalid subslot nr ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25040 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2f649bd2d8d9f217c22b62d2842e1e4fa101ba11 Gerrit-Change-Number: 25040 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 26 Jul 2021 08:40:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 26 08:42:03 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 26 Jul 2021 08:42:03 +0000 Subject: Change in osmo-bsc[master]: fix CM Re-Establishment Request: allocate new A conn In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25036 ) Change subject: fix CM Re-Establishment Request: allocate new A conn ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25036 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2da9a971dd36c4289a78040adfe85704c8282c59 Gerrit-Change-Number: 25036 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 26 Jul 2021 08:42: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 Jul 26 08:42:29 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 26 Jul 2021 08:42:29 +0000 Subject: Change in osmo-bsc[master]: log: fix missing newline in lchan_select.c In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25037 ) Change subject: log: fix missing newline in lchan_select.c ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25037 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iea8bc73ba6da24f353ad422cdea3fa88173a9a1c Gerrit-Change-Number: 25037 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 26 Jul 2021 08:42: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 Jul 26 08:42:35 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 26 Jul 2021 08:42:35 +0000 Subject: Change in osmo-bsc[master]: log: fix missing newline in lchan_select.c In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25037 ) Change subject: log: fix missing newline in lchan_select.c ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25037 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iea8bc73ba6da24f353ad422cdea3fa88173a9a1c Gerrit-Change-Number: 25037 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 26 Jul 2021 08:42: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 Jul 26 08:43:03 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 26 Jul 2021 08:43:03 +0000 Subject: Change in osmo-bsc[master]: debug log: indicate change of primary lchan on a conn In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25038 ) Change subject: debug log: indicate change of primary lchan on a conn ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25038 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib4e9a1cde9248f5d3fd8d7d8277623b42670b059 Gerrit-Change-Number: 25038 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 26 Jul 2021 08: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 Mon Jul 26 08:45:20 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 26 Jul 2021 08:45:20 +0000 Subject: Change in osmo-bsc[master]: vty: lchan deact: allow omitting the lchan type arg In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25039 ) Change subject: vty: lchan deact: allow omitting the lchan type arg ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25039 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibdeca3b1d75b9f6092f566544e9d5f4da67fffce Gerrit-Change-Number: 25039 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 26 Jul 2021 08: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 Mon Jul 26 08:47:39 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 26 Jul 2021 08:47:39 +0000 Subject: Change in libosmo-abis[master]: osmo_ortp: Fix seqno reset to 0 upon ssrc_changed In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24966 ) Change subject: osmo_ortp: Fix seqno reset to 0 upon ssrc_changed ...................................................................... Patch Set 1: ping [2] -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24966 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ic6006b4991c85413b009b70f8f3a6f97c41990ec Gerrit-Change-Number: 24966 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 26 Jul 2021 08:47:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Mon Jul 26 08:57:35 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 26 Jul 2021 08:57:35 +0000 Subject: Build failure of network:osmocom:nightly/osmo-iuh in xUbuntu_21.04/x86_64 In-Reply-To: References: Message-ID: <60fe79176d94a_6aa32af7b019a5f075338@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-iuh/xUbuntu_21.04/x86_64 Package network:osmocom:nightly/osmo-iuh failed to build in xUbuntu_21.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-iuh Last lines of build log: [ 131s] Processing triggers for tex-common (6.16) ... [ 131s] Running mktexlsr. This may take some time... done. [ 132s] Running updmap-sys. This may take some time... done. [ 132s] Running mktexlsr /var/lib/texmf ... done. [ 132s] [476/512] installing dh-autoreconf-20 [ 132s] Processing triggers for man-db (2.9.4-2) ... [ 132s] [477/512] installing python3-apt-2.1.7ubuntu2 [ 132s] [478/512] installing texlive-extra-utils-2020.20210202-3 [ 136s] Processing triggers for tex-common (6.16) ... [ 136s] Running mktexlsr. This may take some time... done. [ 136s] Building format(s) --all. [ 143s] This may take some time... done. [ 143s] Processing triggers for install-info (6.7.0.dfsg.2-6) ... [ 143s] Processing triggers for man-db (2.9.4-2) ... [ 143s] [479/512] installing texlive-science-2020.20210202-3 [ 144s] Processing triggers for man-db (2.9.4-2) ... [ 144s] Processing triggers for tex-common (6.16) ... [ 144s] Running mktexlsr. This may take some time... done. [ 145s] Running updmap-sys. This may take some time... done. [ 145s] Running mktexlsr /var/lib/texmf ... done. [ 145s] Building format(s) --all. [ 151s] This may take some time... done. [28960s] qemu-kvm: terminating on signal 15 from pid 23339 () Job seems to be stuck here, killed. (after 28800 seconds of inactivity) [28960s] ### VM INTERACTION END ### [28960s] No buildstatus set, either the base system is broken (kernel/initrd/udev/glibc/bash/perl) [28960s] or the build host has a kernel or hardware problem... -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Mon Jul 26 09:27:04 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 26 Jul 2021 09:27:04 +0000 Subject: Change in libosmo-abis[master]: osmo_ortp: Fix seqno reset to 0 upon ssrc_changed In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24966 ) Change subject: osmo_ortp: Fix seqno reset to 0 upon ssrc_changed ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24966 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ic6006b4991c85413b009b70f8f3a6f97c41990ec Gerrit-Change-Number: 24966 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 26 Jul 2021 09:27:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 26 09:44:34 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 26 Jul 2021 09:44:34 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: add stats items to monitor trunk usage References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25041 ) Change subject: mgcp_ratectr: add stats items to monitor trunk usage ...................................................................... mgcp_ratectr: add stats items to monitor trunk usage We are currently counting events in rate counters, but there is currently no way to get a sample of the current situation of the trunk usage. In particular how many endpoints are currently in use. This is a corrected version of: Ib7b654168dc3512f55e45cc4755dc1f6f423d023 Change-Id: I6d3a74f6087512130d85002348787bffc672de81 Related: SYS#5535 --- M include/osmocom/mgcp/mgcp_ratectr.h M include/osmocom/mgcp/mgcp_trunk.h M src/libosmo-mgcp/mgcp_endp.c M src/libosmo-mgcp/mgcp_ratectr.c M src/libosmo-mgcp/mgcp_trunk.c M tests/mgcp/mgcp_test.c 6 files changed, 101 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/41/25041/1 diff --git a/include/osmocom/mgcp/mgcp_ratectr.h b/include/osmocom/mgcp/mgcp_ratectr.h index 4c01059..5212f9b 100644 --- a/include/osmocom/mgcp/mgcp_ratectr.h +++ b/include/osmocom/mgcp/mgcp_ratectr.h @@ -94,3 +94,17 @@ int mgcp_ratectr_global_alloc(struct mgcp_config *cfg); int mgcp_ratectr_trunk_alloc(struct mgcp_trunk *trunk); + +/* Trunk-global common stat items */ +enum { + TRUNK_STAT_ENDPOINTS_TOTAL, + TRUNK_STAT_ENDPOINTS_USED, +}; + +struct mgcp_stat_trunk { + /* Stat item group which contains general status values of the trunk. */ + struct osmo_stat_item_group *common; +}; + +int mgcp_stat_trunk_alloc(struct mgcp_trunk *trunk); + diff --git a/include/osmocom/mgcp/mgcp_trunk.h b/include/osmocom/mgcp/mgcp_trunk.h index 048ac5b..d960428 100644 --- a/include/osmocom/mgcp/mgcp_trunk.h +++ b/include/osmocom/mgcp/mgcp_trunk.h @@ -52,8 +52,9 @@ unsigned int number_endpoints; struct mgcp_endpoint **endpoints; - /* global rate counters to measure the trunks overall performance and health */ + /* rate counters and stat items to measure the trunks overall performance and health */ struct mgcp_ratectr_trunk ratectr; + struct mgcp_stat_trunk stats; union { /* Virtual trunk specific */ diff --git a/src/libosmo-mgcp/mgcp_endp.c b/src/libosmo-mgcp/mgcp_endp.c index 41e0d4f..c304013 100644 --- a/src/libosmo-mgcp/mgcp_endp.c +++ b/src/libosmo-mgcp/mgcp_endp.c @@ -29,6 +29,7 @@ #include #include +#include #define E1_RATE_MAX 64 #define E1_OFFS_MAX 8 @@ -122,6 +123,12 @@ * RSIP is executed), free them all at once. */ mgcp_conn_free_all(endp); + /* We must only decrement the stat item when the endpoint as actually + * claimed. An endpoint is claimed when a call-id is set */ + if (endp->callid) + osmo_stat_item_dec(osmo_stat_item_group_get_item(endp->trunk->stats.common, + TRUNK_STAT_ENDPOINTS_USED), 1); + /* Reset endpoint parameters and states */ talloc_free(endp->callid); endp->callid = NULL; @@ -628,6 +635,8 @@ * connection ids) */ endp->callid = talloc_strdup(endp, callid); OSMO_ASSERT(endp->callid); + osmo_stat_item_inc(osmo_stat_item_group_get_item(endp->trunk->stats.common, + TRUNK_STAT_ENDPOINTS_USED), 1); /* Allocate resources */ switch (endp->trunk->trunk_type) { diff --git a/src/libosmo-mgcp/mgcp_ratectr.c b/src/libosmo-mgcp/mgcp_ratectr.c index 3c3b5db..d8e0374 100644 --- a/src/libosmo-mgcp/mgcp_ratectr.c +++ b/src/libosmo-mgcp/mgcp_ratectr.c @@ -24,8 +24,11 @@ #include #include +#include #include #include +#include +#include #include static const struct rate_ctr_desc mgcp_general_ctr_desc[] = { @@ -247,3 +250,48 @@ } return 0; } + +const struct osmo_stat_item_desc trunk_stat_desc[] = { + [TRUNK_STAT_ENDPOINTS_TOTAL] = { "endpoints:total", + "Number of endpoints that exist on the trunk", + "", 60, 0 }, + [TRUNK_STAT_ENDPOINTS_USED] = { "endpoints:used", + "Number of endpoints in use", + "", 60, 0 }, +}; + +const struct osmo_stat_item_group_desc trunk_statg_desc = { + .group_name_prefix = "trunk", + .group_description = "mgw trunk", + .class_id = OSMO_STATS_CLASS_GLOBAL, + .num_items = ARRAY_SIZE(trunk_stat_desc), + .item_desc = trunk_stat_desc, +}; + +static int free_stat_item_group(struct osmo_stat_item_group *stat_item_group) +{ + osmo_stat_item_group_free(stat_item_group); + return 0; +} + +/*! allocate trunk specific stat items + * (called once on trunk initialization). + * \param[in] trunk for which the stat items are allocated. + * \returns 0 on success, -EINVAL on failure. */ +int mgcp_stat_trunk_alloc(struct mgcp_trunk *trunk) +{ + struct mgcp_stat_trunk *stats = &trunk->stats; + static unsigned int common_stat_index = 0; + char stat_name[256]; + + stats->common = osmo_stat_item_group_alloc(trunk, &trunk_statg_desc, common_stat_index); + if (!stats->common) + return -EINVAL; + snprintf(stat_name, sizeof(stat_name), "%s-%u:common", mgcp_trunk_type_strs_str(trunk->trunk_type), + trunk->trunk_nr); + osmo_stat_item_group_set_name(stats->common, stat_name); + talloc_set_destructor(stats->common, free_stat_item_group); + common_stat_index++; + + return 0; +} diff --git a/src/libosmo-mgcp/mgcp_trunk.c b/src/libosmo-mgcp/mgcp_trunk.c index 27663b4..b2d1969 100644 --- a/src/libosmo-mgcp/mgcp_trunk.c +++ b/src/libosmo-mgcp/mgcp_trunk.c @@ -27,6 +27,7 @@ #include #include #include +#include const struct value_string mgcp_trunk_type_strs[] = { { MGCP_TRUNK_VIRTUAL, "virtual" }, @@ -64,6 +65,7 @@ llist_add_tail(&trunk->entry, &cfg->trunks); mgcp_ratectr_trunk_alloc(trunk); + mgcp_stat_trunk_alloc(trunk); return trunk; } @@ -127,7 +129,8 @@ /* make the endpoints we just created available to the MGW code */ trunk->number_endpoints = number_endpoints; - + osmo_stat_item_set(osmo_stat_item_group_get_item(trunk->stats.common, TRUNK_STAT_ENDPOINTS_TOTAL), + trunk->number_endpoints); return 0; } diff --git a/tests/mgcp/mgcp_test.c b/tests/mgcp/mgcp_test.c index bcbcc02..26fcc2a 100644 --- a/tests/mgcp/mgcp_test.c +++ b/tests/mgcp/mgcp_test.c @@ -1065,20 +1065,20 @@ int i; struct mgcp_endpoint endp; struct mgcp_endpoint *endpoints[1]; - struct mgcp_config cfg = {0}; - struct mgcp_trunk trunk; + struct mgcp_config *cfg; + struct mgcp_trunk *trunk; printf("Testing packet loss calculation.\n"); memset(&endp, 0, sizeof(endp)); - memset(&trunk, 0, sizeof(trunk)); - - endp.cfg = &cfg; + cfg = mgcp_config_alloc(); + trunk = mgcp_trunk_alloc(cfg, MGCP_TRUNK_VIRTUAL, MGCP_VIRT_TRUNK_ID); + endp.cfg = cfg; endp.type = &ep_typeset.rtp; - trunk.v.vty_number_endpoints = 1; - trunk.endpoints = endpoints; - trunk.endpoints[0] = &endp; - endp.trunk = &trunk; + trunk->v.vty_number_endpoints = 1; + trunk->endpoints = endpoints; + trunk->endpoints[0] = &endp; + endp.trunk = trunk; INIT_LLIST_HEAD(&endp.conns); for (i = 0; i < ARRAY_SIZE(pl_test_dat); ++i) { @@ -1116,6 +1116,8 @@ mgcp_conn_free_all(&endp); } + talloc_free(trunk); + talloc_free(cfg); } int mgcp_parse_stats(struct msgb *msg, uint32_t *ps, uint32_t *os, @@ -1297,10 +1299,10 @@ { int i; - struct mgcp_trunk trunk; + struct mgcp_trunk *trunk; struct mgcp_endpoint endp; struct mgcp_endpoint *endpoints[1]; - struct mgcp_config cfg = {0}; + struct mgcp_config *cfg; struct mgcp_rtp_state state; struct mgcp_rtp_end *rtp; struct osmo_sockaddr addr = { 0 }; @@ -1318,7 +1320,8 @@ patch_ssrc ? ", patch SSRC" : "", patch_ts ? ", patch timestamps" : ""); - memset(&trunk, 0, sizeof(trunk)); + cfg = mgcp_config_alloc(); + trunk = mgcp_trunk_alloc(cfg, MGCP_TRUNK_VIRTUAL, MGCP_VIRT_TRUNK_ID); memset(&endp, 0, sizeof(endp)); memset(&state, 0, sizeof(state)); @@ -1327,16 +1330,16 @@ state.in_stream.err_ts_ctr = &test_ctr_in; state.out_stream.err_ts_ctr = &test_ctr_out; - endp.cfg = &cfg; + endp.cfg = cfg; endp.type = &ep_typeset.rtp; - trunk.v.vty_number_endpoints = 1; - trunk.endpoints = endpoints; - trunk.endpoints[0] = &endp; - trunk.force_constant_ssrc = patch_ssrc; - trunk.force_aligned_timing = patch_ts; + trunk->v.vty_number_endpoints = 1; + trunk->endpoints = endpoints; + trunk->endpoints[0] = &endp; + trunk->force_constant_ssrc = patch_ssrc; + trunk->force_aligned_timing = patch_ts; - endp.trunk = &trunk; + endp.trunk = trunk; INIT_LLIST_HEAD(&endp.conns); _conn = mgcp_conn_alloc(NULL, &endp, MGCP_CONN_TYPE_RTP, @@ -1395,6 +1398,8 @@ force_monotonic_time_us = -1; mgcp_conn_free_all(&endp); + talloc_free(trunk); + talloc_free(cfg); } static void test_multilple_codec(void) -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25041 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6d3a74f6087512130d85002348787bffc672de81 Gerrit-Change-Number: 25041 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 Jul 26 09:45:51 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 26 Jul 2021 09:45:51 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: add stats items to monitor trunk usage In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24942 ) Change subject: mgcp_ratectr: add stats items to monitor trunk usage ...................................................................... Patch Set 7: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/24942/7/src/libosmo-mgcp/mgcp_ratectr.c File src/libosmo-mgcp/mgcp_ratectr.c: https://gerrit.osmocom.org/c/osmo-mgw/+/24942/7/src/libosmo-mgcp/mgcp_ratectr.c at 276 PS7, Line 276: int mgcp_stat_trunk_alloc(struct mgcp_trunk *trunk) > You need to add [?] There is now a fixed version of this patch available at #25041 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24942 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib7b654168dc3512f55e45cc4755dc1f6f423d023 Gerrit-Change-Number: 24942 Gerrit-PatchSet: 7 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 26 Jul 2021 09:45:51 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: daniel Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 26 09:48:04 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 26 Jul 2021 09:48:04 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: add stats items to monitor trunk usage In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25041 ) Change subject: mgcp_ratectr: add stats items to monitor trunk usage ...................................................................... Patch Set 1: The free_stat_item_group() function was missing, I have added it now. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25041 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6d3a74f6087512130d85002348787bffc672de81 Gerrit-Change-Number: 25041 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 26 Jul 2021 09:48: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 Mon Jul 26 10:00:00 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 26 Jul 2021 10:00:00 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: upgrade expected behavior for TC_dlcx_wildcarded In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24821 to look at the new patch set (#4). Change subject: MGCP_Test: upgrade expected behavior for TC_dlcx_wildcarded ...................................................................... MGCP_Test: upgrade expected behavior for TC_dlcx_wildcarded The testcase TC_dlcx_wildcarded expect osmo-mgw to reject wildcarded DLCX requests but osmo-mgw now implements wildcarded DLCX Depends: osmo-mgw I6d3a74f6087512130d85002348787bffc672de81 Depends: docker-playground I693cc17dbf6836e7a74b34111671b6e589744a63 Change-Id: I61e23e264bc85eb36d07431c7839fb445c110947 Related: SYS#5535 --- M mgw/MGCP_Test.default M mgw/MGCP_Test.ttcn M mgw/gen_links.sh M mgw/regen_makefile.sh 4 files changed, 59 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/21/24821/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24821 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I61e23e264bc85eb36d07431c7839fb445c110947 Gerrit-Change-Number: 24821 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 26 11:36:44 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 26 Jul 2021 11:36:44 +0000 Subject: Change in libosmo-abis[master]: osmo_ortp: Fix seqno reset to 0 upon ssrc_changed In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24966 ) Change subject: osmo_ortp: Fix seqno reset to 0 upon ssrc_changed ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24966 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ic6006b4991c85413b009b70f8f3a6f97c41990ec Gerrit-Change-Number: 24966 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 26 Jul 2021 11:36:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 26 12:39:32 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 26 Jul 2021 12:39:32 +0000 Subject: Change in libosmocore[master]: cosmetic: gb/gprs_ns.c: fix trailing whitespace References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/25042 ) Change subject: cosmetic: gb/gprs_ns.c: fix trailing whitespace ...................................................................... cosmetic: gb/gprs_ns.c: fix trailing whitespace Change-Id: I842efdb93c9b480d5ab35c78b0bc60697262874a --- M src/gb/gprs_ns.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/42/25042/1 diff --git a/src/gb/gprs_ns.c b/src/gb/gprs_ns.c index 6046dea..9f5df8f 100644 --- a/src/gb/gprs_ns.c +++ b/src/gb/gprs_ns.c @@ -29,7 +29,7 @@ * @{ * * GPRS Networks Service (NS) messages on the Gb interface - * 3GPP TS 08.16 version 8.0.1 Release 1999 / ETSI TS 101 299 V8.0.1 (2002-05) + * 3GPP TS 08.16 version 8.0.1 Release 1999 / ETSI TS 101 299 V8.0.1 (2002-05) * * Some introduction into NS: NS is used typically on top of frame relay, * but in the ip.access world it is encapsulated in UDP packets. It serves @@ -1076,7 +1076,7 @@ * 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 + * Section 9.2.10: transmit side / NS-UNITDATA-REQUEST primitive */ int gprs_ns_sendmsg(struct gprs_ns_inst *nsi, struct msgb *msg) { -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25042 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I842efdb93c9b480d5ab35c78b0bc60697262874a Gerrit-Change-Number: 25042 Gerrit-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 Jul 26 12:39:32 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 26 Jul 2021 12:39:32 +0000 Subject: Change in libosmocore[master]: gb/bssgp: Abort clearly if backward-compat API is used wrongly References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/25043 ) Change subject: gb/bssgp: Abort clearly if backward-compat API is used wrongly ...................................................................... gb/bssgp: Abort clearly if backward-compat API is used wrongly Some tests under osmo-pcu (TbfTest) were caught accessning NULL pointer bssgp_nsi in bssgp_tx_llc_discarded triggered by timeout while stepping slowly with the debugger. It seems that test is not properly using neither the old nor the new API. Let's catch such cases easily. Change-Id: I3ea42755c4bfd29e4a01ad57f186f28d58ab466a --- M src/gb/gprs_bssgp.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/43/25043/1 diff --git a/src/gb/gprs_bssgp.c b/src/gb/gprs_bssgp.c index 14a5e9d..c967f73 100644 --- a/src/gb/gprs_bssgp.c +++ b/src/gb/gprs_bssgp.c @@ -77,6 +77,7 @@ /* callback to be backward compatible with old users which do not set the bssgp_ns_send function */ static int _gprs_ns_sendmsg(void *ctx, struct msgb *msg) { + OSMO_ASSERT(bssgp_nsi); return gprs_ns_sendmsg(bssgp_nsi, msg); } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25043 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3ea42755c4bfd29e4a01ad57f186f28d58ab466a Gerrit-Change-Number: 25043 Gerrit-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 Jul 26 12:39:58 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 26 Jul 2021 12:39:58 +0000 Subject: Change in libosmocore[master]: gb/bssgp: Abort clearly if backward-compat API is used in wrong way In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/libosmocore/+/25043 ) Change subject: gb/bssgp: Abort clearly if backward-compat API is used in wrong way ...................................................................... gb/bssgp: Abort clearly if backward-compat API is used in wrong way Some tests under osmo-pcu (TbfTest) were caught accessning NULL pointer bssgp_nsi in bssgp_tx_llc_discarded triggered by timeout while stepping slowly with the debugger. It seems that test is not properly using neither the old nor the new API. Let's catch such cases easily. Change-Id: I3ea42755c4bfd29e4a01ad57f186f28d58ab466a --- M src/gb/gprs_bssgp.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/43/25043/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25043 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3ea42755c4bfd29e4a01ad57f186f28d58ab466a Gerrit-Change-Number: 25043 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 Mon Jul 26 12:51:01 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 26 Jul 2021 12:51:01 +0000 Subject: Change in osmo-pcu[master]: tests/tbf: Fix null pointer access if slowly stepping with gdb References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25044 ) Change subject: tests/tbf: Fix null pointer access if slowly stepping with gdb ...................................................................... tests/tbf: Fix null pointer access if slowly stepping with gdb When slowly debugging test_tbf_dl_llc_loss, bssgp_tx_llc_discarded() may trigger, submitting events to the libosmogb code. Since it didn't properly set up the callback, it would end up in a null pointer dereference when lib code tried to use backward-compatible API (which was neither set up properly). """ TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) Discarding LLC PDU because lifetime limit reached, count=3 new_queue_size=0 BSSGP (BVCI=2234) Tx LLC-DISCARDED TLLI=0xc0123456, FRAMES=3, OCTETS=57 /git/libosmocore/src/gb/gprs_ns.c:271:2: runtime error: member access within null pointer of type 'struct gprs_ns_inst' """ """ (gdb) bt #0 0x00007ffff729cac0 in gprs_active_nsvc_by_nsei (nsi=nsi at entry=0x0, nsei=2234, bvci=bvci at entry=0) at /git/libosmocore/src/gb/gprs_ns.c:271 #1 0x00007ffff72b1fec in gprs_ns_sendmsg (nsi=0x0, msg=0x621000000160) at /git/libosmocore/src/gb/gprs_ns.c:1087 #2 0x00007ffff72d1803 in _gprs_ns_sendmsg (ctx=, msg=) at /git/libosmocore/src/gb/gprs_bssgp.c:80 #3 0x00007ffff730226f in bssgp_tx_llc_discarded (bctx=, tlli=, num_frames=, num_octets=) at /git/libosmocore/src/gb/gprs_bssgp_bss.c:249 #4 0x000055555588243e in gprs_rlcmac_dl_tbf::llc_dequeue (this=0x7ffff1622860, bctx=) at /git/osmo-pcu/src/tbf_dl.cpp:413 """ Change-Id: Iee5bcf21afc8980a14f90f5b1ead6d2460a244ea --- M tests/tbf/TbfTest.cpp 1 file changed, 41 insertions(+), 29 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/44/25044/1 diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index 5065e90..9515835 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -58,6 +58,18 @@ /* Measurements shared by all unit tests */ static struct pcu_l1_meas meas; +int gprs_gp_send_test_cb(void *ctx, struct msgb *msg) +{ + return 0; +} + +static gprs_pcu *prepare_pcu(void) +{ + struct gprs_pcu *pcu = gprs_pcu_alloc(tall_pcu_ctx); + bssgp_set_bssgp_callback(gprs_gp_send_test_cb, pcu->nsi); + return pcu; +} + static int bts_handle_rach(struct gprs_rlcmac_bts *bts, uint16_t ra, uint32_t Fn, int16_t qta) { struct rach_ind_params rip = { @@ -95,7 +107,7 @@ static void test_tbf_tlli_update() { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); GprsMs *ms, *ms_new; @@ -248,7 +260,7 @@ static void test_tbf_final_ack(enum test_tbf_final_ack_mode test_mode) { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); uint8_t ts_no = 4; unsigned i; @@ -333,7 +345,7 @@ static void test_tbf_delayed_release() { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); uint8_t ts_no = 4; unsigned i; @@ -403,7 +415,7 @@ static void test_tbf_imsi() { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); uint8_t ts_no = 4; uint8_t ms_class = 45; @@ -464,7 +476,7 @@ static void test_tbf_exhaustion() { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); unsigned i; uint8_t ts_no = 4; @@ -507,7 +519,7 @@ static void test_tbf_dl_llc_loss() { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); uint8_t ts_no = 4; uint8_t ms_class = 45; @@ -1714,7 +1726,7 @@ static void test_tbf_single_phase() { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); int ts_no = 7; uint32_t fn = DUMMY_FN; /* 17,25,9 */ @@ -1738,7 +1750,7 @@ static void test_tbf_egprs_two_phase_puan(void) { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); int ts_no = 7; uint32_t fn = 2654218; @@ -1793,7 +1805,7 @@ */ static void test_immediate_assign_rej_single_block() { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); uint32_t fn = 2654218; uint16_t qta = 31; @@ -1826,7 +1838,7 @@ */ static void test_immediate_assign_rej_multi_block() { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); uint32_t fn = 2654218; uint16_t qta = 31; @@ -1867,7 +1879,7 @@ static void test_tbf_two_phase() { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); int ts_no = 7; uint32_t fn = 2654218; @@ -1899,7 +1911,7 @@ static void test_tbf_ra_update_rach() { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); int ts_no = 7; uint32_t fn = 2654218; @@ -1972,7 +1984,7 @@ static void test_tbf_dl_flow_and_rach_two_phase() { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); int ts_no = 7; uint32_t fn = 2654218; @@ -2033,7 +2045,7 @@ static void test_tbf_dl_flow_and_rach_single_phase() { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); int ts_no = 7; uint32_t fn = 2654218; @@ -2093,7 +2105,7 @@ static void test_tbf_dl_reuse() { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); int ts_no = 7; uint32_t fn = 2654218; @@ -2193,7 +2205,7 @@ static void test_tbf_gprs_egprs() { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); uint8_t ts_no = 4; uint8_t ms_class = 45; @@ -2260,7 +2272,7 @@ static void test_tbf_ws() { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); GprsMs *ms; uint8_t ts_no = 4; @@ -2305,7 +2317,7 @@ static void test_tbf_update_ws(void) { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); GprsMs *ms; uint8_t ts_no = 4; @@ -2349,7 +2361,7 @@ static void test_tbf_puan_urbb_len(void) { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); int ts_no = 7; uint32_t fn = 2654218; @@ -2488,7 +2500,7 @@ static void test_tbf_li_decoding(void) { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); int ts_no = 7; uint32_t fn = 2654218; @@ -2524,7 +2536,7 @@ */ static void test_tbf_epdan_out_of_rx_window(void) { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); uint8_t ms_class = 11; uint8_t egprs_ms_class = 11; @@ -2615,7 +2627,7 @@ static void test_tbf_egprs_two_phase_spb(void) { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); int ts_no = 7; uint32_t fn = 2654218; @@ -2646,7 +2658,7 @@ static void test_tbf_egprs_two_phase() { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); int ts_no = 7; uint32_t fn = 2654218; @@ -3074,7 +3086,7 @@ static void test_tbf_egprs_retx_dl(void) { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); uint8_t ts_no = 4; @@ -3102,7 +3114,7 @@ static void test_tbf_egprs_spb_dl(void) { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); uint8_t ts_no = 4; @@ -3132,7 +3144,7 @@ static void test_tbf_egprs_dl() { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); uint8_t ts_no = 4; int i; @@ -3155,7 +3167,7 @@ static void test_packet_access_rej_prr_no_other_tbfs() { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); uint32_t fn = 2654218; int ts_no = 7; @@ -3192,7 +3204,7 @@ static void test_packet_access_rej_prr() { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); uint32_t fn = 2654218; uint16_t qta = 31; @@ -3262,7 +3274,7 @@ void test_packet_access_rej_epdan() { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); uint32_t tlli = 0xffeeddcc; static uint8_t exp[] = { 0x40, 0x84, 0x7f, 0xf7, 0x6e, 0xe6, 0x7e, 0xab, -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25044 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iee5bcf21afc8980a14f90f5b1ead6d2460a244ea Gerrit-Change-Number: 25044 Gerrit-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 Jul 26 12:57:58 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 26 Jul 2021 12:57:58 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: add stats items to monitor trunk usage In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25041 ) Change subject: mgcp_ratectr: add stats items to monitor trunk usage ...................................................................... Patch Set 1: Code-Review-1 (2 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/25041/1/src/libosmo-mgcp/mgcp_endp.c File src/libosmo-mgcp/mgcp_endp.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25041/1/src/libosmo-mgcp/mgcp_endp.c at 126 PS1, Line 126: /* We must only decrement the stat item when the endpoint as actually "is actually" or "has actually been" https://gerrit.osmocom.org/c/osmo-mgw/+/25041/1/src/libosmo-mgcp/mgcp_ratectr.c File src/libosmo-mgcp/mgcp_ratectr.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25041/1/src/libosmo-mgcp/mgcp_ratectr.c at 293 PS1, Line 293: talloc_set_destructor(stats->common, free_stat_item_group); I don't think this is a good idea (changing/setting a talloc destructor for a lib-controlled struct allocated with its own API). Instead, set the talloc destructor on the trunk object when creating it, and free the item_groups there. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25041 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6d3a74f6087512130d85002348787bffc672de81 Gerrit-Change-Number: 25041 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 26 Jul 2021 12:57:58 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 26 12:59:12 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 26 Jul 2021 12:59:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: upgrade expected behavior for TC_dlcx_wildcarded In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24821 ) Change subject: MGCP_Test: upgrade expected behavior for TC_dlcx_wildcarded ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24821/4/mgw/MGCP_Test.ttcn File mgw/MGCP_Test.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24821/4/mgw/MGCP_Test.ttcn at 36 PS4, Line 36: import from StatsD_Checker all; trailing whitespace -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24821 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I61e23e264bc85eb36d07431c7839fb445c110947 Gerrit-Change-Number: 24821 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 26 Jul 2021 12:59: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 Jul 26 12:59:46 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 26 Jul 2021 12:59:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: upgrade expected behavior for TC_dlcx_wildcarded In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24821 ) Change subject: MGCP_Test: upgrade expected behavior for TC_dlcx_wildcarded ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24821 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I61e23e264bc85eb36d07431c7839fb445c110947 Gerrit-Change-Number: 24821 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 26 Jul 2021 12:59: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 Jul 26 13:02:45 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 26 Jul 2021 13:02:45 +0000 Subject: Change in libosmo-abis[master]: osmo_ortp: Fix seqno reset to 0 upon ssrc_changed In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24966 ) Change subject: osmo_ortp: Fix seqno reset to 0 upon ssrc_changed ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24966 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ic6006b4991c85413b009b70f8f3a6f97c41990ec Gerrit-Change-Number: 24966 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 26 Jul 2021 13:02: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 Jul 26 13:02:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 26 Jul 2021 13:02:47 +0000 Subject: Change in libosmo-abis[master]: osmo_ortp: Fix seqno reset to 0 upon ssrc_changed In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/24966 ) Change subject: osmo_ortp: Fix seqno reset to 0 upon ssrc_changed ...................................................................... osmo_ortp: Fix seqno reset to 0 upon ssrc_changed It was spotted in an osmo-mgw instance receiving RTP from osmo-bts 1.2.3 that sometimes the seqno was reset to 0 (while tx_timestamp was kept properly). This seems to be the only possible way osmo-bts can reset the seqno to 0 (calling rtp_session_reset()), since osmo_rtp_socket_create already sets it to other values and inside ortp rtp_session_reset() is the only one setting it to 0. If SSRC changes, we are fine resetting some Rx state, which is done by calling rtp_session_resync. However, calling rtp_session_reset() is too much, since it erases other stuff like Tx state, which sholdn't be affected in this case, since we are still transmitting the same stream. Related: OS#3104 Related: OS#3299 Related: SYS#5498 Fixes: 28eeb6bc9365bbe47125775fcb1f696317c22466 Change-Id: Ic6006b4991c85413b009b70f8f3a6f97c41990ec --- M src/trau/osmo_ortp.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified daniel: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve Hoernchen: 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 b72f681..011f097 100644 --- a/src/trau/osmo_ortp.c +++ b/src/trau/osmo_ortp.c @@ -142,8 +142,8 @@ uint32_t ssrc = rtp_session_get_recv_ssrc(rs); LOGP(DLMIB, LOGL_INFO, - "osmo-ortp(%d): ssrc_changed to 0x%08x, resetting\n", port, ssrc); - rtp_session_reset(rs); + "osmo-ortp(%d): ssrc_changed to 0x%08x, resyncing\n", port, ssrc); + rtp_session_resync(rs); } static void ortp_sig_cb_pt(RtpSession *rs, void *data) -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/24966 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ic6006b4991c85413b009b70f8f3a6f97c41990ec Gerrit-Change-Number: 24966 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter 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 Jul 26 13:44:43 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Mon, 26 Jul 2021 13:44:43 +0000 Subject: Change in libosmocore[master]: gb/bssgp: Abort clearly if backward-compat API is used in wrong way In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25043 ) Change subject: gb/bssgp: Abort clearly if backward-compat API is used in wrong way ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25043 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3ea42755c4bfd29e4a01ad57f186f28d58ab466a Gerrit-Change-Number: 25043 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Comment-Date: Mon, 26 Jul 2021 13:44:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 26 13:48:27 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Mon, 26 Jul 2021 13:48:27 +0000 Subject: Change in osmo-pcu[master]: tests/tbf: Fix null pointer access if slowly stepping with gdb In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25044 ) Change subject: tests/tbf: Fix null pointer access if slowly stepping with gdb ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/25044/1/tests/tbf/TbfTest.cpp File tests/tbf/TbfTest.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/25044/1/tests/tbf/TbfTest.cpp at 69 PS1, Line 69: bssgp_set_bssgp_callback(gprs_gp_send_test_cb, pcu->nsi); pcu->nsi will always be NULL here so you might as well just pass NULL -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25044 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iee5bcf21afc8980a14f90f5b1ead6d2460a244ea Gerrit-Change-Number: 25044 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: daniel Gerrit-Comment-Date: Mon, 26 Jul 2021 13:48: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 Mon Jul 26 14:19:34 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 26 Jul 2021 14:19:34 +0000 Subject: Change in osmo-pcu[master]: tests/tbf: Fix null pointer access if slowly stepping with gdb 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/+/25044 to look at the new patch set (#2). Change subject: tests/tbf: Fix null pointer access if slowly stepping with gdb ...................................................................... tests/tbf: Fix null pointer access if slowly stepping with gdb When slowly debugging test_tbf_dl_llc_loss, bssgp_tx_llc_discarded() may trigger, submitting events to the libosmogb code. Since it didn't properly set up the callback, it would end up in a null pointer dereference when lib code tried to use backward-compatible API (which was neither set up properly). """ TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) Discarding LLC PDU because lifetime limit reached, count=3 new_queue_size=0 BSSGP (BVCI=2234) Tx LLC-DISCARDED TLLI=0xc0123456, FRAMES=3, OCTETS=57 /git/libosmocore/src/gb/gprs_ns.c:271:2: runtime error: member access within null pointer of type 'struct gprs_ns_inst' """ """ (gdb) bt #0 0x00007ffff729cac0 in gprs_active_nsvc_by_nsei (nsi=nsi at entry=0x0, nsei=2234, bvci=bvci at entry=0) at /git/libosmocore/src/gb/gprs_ns.c:271 #1 0x00007ffff72b1fec in gprs_ns_sendmsg (nsi=0x0, msg=0x621000000160) at /git/libosmocore/src/gb/gprs_ns.c:1087 #2 0x00007ffff72d1803 in _gprs_ns_sendmsg (ctx=, msg=) at /git/libosmocore/src/gb/gprs_bssgp.c:80 #3 0x00007ffff730226f in bssgp_tx_llc_discarded (bctx=, tlli=, num_frames=, num_octets=) at /git/libosmocore/src/gb/gprs_bssgp_bss.c:249 #4 0x000055555588243e in gprs_rlcmac_dl_tbf::llc_dequeue (this=0x7ffff1622860, bctx=) at /git/osmo-pcu/src/tbf_dl.cpp:413 """ Change-Id: Iee5bcf21afc8980a14f90f5b1ead6d2460a244ea --- M tests/tbf/TbfTest.cpp 1 file changed, 41 insertions(+), 29 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/44/25044/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25044 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iee5bcf21afc8980a14f90f5b1ead6d2460a244ea Gerrit-Change-Number: 25044 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: daniel Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 26 14:19:34 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 26 Jul 2021 14:19:34 +0000 Subject: Change in osmo-pcu[master]: Move FINISHED tbf_state transition to tbf_fsm In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/25034 to look at the new patch set (#2). Change subject: Move FINISHED tbf_state transition to tbf_fsm ...................................................................... Move FINISHED tbf_state transition to tbf_fsm Related: OS#2709 Change-Id: I81f507e3a2821254f03364a58ead02333e63099f --- M src/tbf_dl.cpp M src/tbf_fsm.c M src/tbf_fsm.h M src/tbf_ul.cpp M tests/tbf/TbfTest.err 5 files changed, 31 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/34/25034/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25034 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I81f507e3a2821254f03364a58ead02333e63099f Gerrit-Change-Number: 25034 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 Jul 26 14:19:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 26 Jul 2021 14:19:42 +0000 Subject: Change in osmo-pcu[master]: tests: tbf: Fix dl_tbf polled for data without being in FLOW state References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25045 ) Change subject: tests: tbf: Fix dl_tbf polled for data without being in FLOW state ...................................................................... tests: tbf: Fix dl_tbf polled for data without being in FLOW state Prior code was wrong, as in it did stuff diferent to what is expected and actually done in osmo-pcu. In osmo-pcu code, the function is guarded and only called in FLOW or FINISHED state by the scheduler. Change-Id: If8029bee90adceee128ebb20c033756efd50e90e --- M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err 2 files changed, 32 insertions(+), 23 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/45/25045/1 diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index f8cb974..5879a96 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -574,6 +574,12 @@ OSMO_ASSERT(ms_dl_tbf(ms) != NULL); + /* Here PCU would answer with data_cnf and trigger + * bts_rcv_imm_ass_cnf(), which would set up the timer X2002. In this + * test we directly to T0 timeout to move it to FLOW state: */ + ms_dl_tbf(ms)->handle_timeout(); + OSMO_ASSERT(ms_dl_tbf(ms)->state_is(TBF_ST_FLOW)); + /* Get first BSN */ struct msgb *msg; int fn = 0; diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index f2beb1f..84735aa 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1570,31 +1570,34 @@ TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=0 TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) appending 19 bytes -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) Sending new block at BSN 0, CS=CS-1 -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) Dequeue next LLC (len=19) -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) Complete DL frame, len=19 -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) Dequeue next LLC (len=19) -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) data block (BSN 0, CS-1): 4d 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 -1) -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) Copying 1 RLC blocks, 1 BSNs -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) Copying data unit 0 (BSN 0) -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) msg block (BSN 0, CS-1): 07 00 00 4d 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) timer 0 expired. cur_fn=2654167 +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_READY_CCCH +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) Sending new block at BSN 0, CS=CS-1 +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) Dequeue next LLC (len=19) +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) Complete DL frame, len=19 +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) Dequeue next LLC (len=19) +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) data block (BSN 0, CS-1): 4d 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 -1) +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 0) +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) msg block (BSN 0, CS-1): 07 00 00 4d 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 MSG = 07 00 00 4d 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) Sending new block at BSN 1, CS=CS-1 -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) Complete DL frame, len=19 -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) Dequeue next LLC (len=19) -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) data block (BSN 1, CS-1): 4d 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) need_padding 0 spb_status 0 spb 0 (BSN1 1 BSN2 -1) -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) Copying 1 RLC blocks, 1 BSNs -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) Copying data unit 0 (BSN 1) -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) msg block (BSN 1, CS-1): 07 00 02 4d 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) Sending new block at BSN 1, CS=CS-1 +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) Complete DL frame, len=19 +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) Dequeue next LLC (len=19) +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) data block (BSN 1, CS-1): 4d 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) need_padding 0 spb_status 0 spb 0 (BSN1 1 BSN2 -1) +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 1) +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) msg block (BSN 1, CS-1): 07 00 02 4d 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 MSG = 07 00 02 4d 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) Sending new block at BSN 2, CS=CS-1 -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) Complete DL frame, len=19 -TBF(DL-TFI_0){ASSIGN}: state_chg to FINISHED +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) Sending new block at BSN 2, CS=CS-1 +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) Complete DL frame, len=19 +TBF(DL-TFI_0){FLOW}: state_chg to FINISHED TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FINISHED) data block (BSN 2, CS-1): 4d 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FINISHED) need_padding 0 spb_status 0 spb 0 (BSN1 2 BSN2 -1) TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FINISHED) Copying 1 RLC blocks, 1 BSNs -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25045 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If8029bee90adceee128ebb20c033756efd50e90e Gerrit-Change-Number: 25045 Gerrit-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 Jul 26 14:19:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 26 Jul 2021 14:19:42 +0000 Subject: Change in osmo-pcu[master]: Move WAIT_RELEASE tbf_state transition to tbf_fsm References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25046 ) Change subject: Move WAIT_RELEASE tbf_state transition to tbf_fsm ...................................................................... Move WAIT_RELEASE tbf_state transition to tbf_fsm Related: OS#2709 Change-Id: Iebd650c1036ef2d5132789778be7117ce3391c01 --- M src/tbf_dl.cpp M src/tbf_dl.h M src/tbf_fsm.c M src/tbf_fsm.h M tests/tbf/TbfTest.err 5 files changed, 56 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/46/25046/1 diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index ed5003c..6614366 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -1219,8 +1219,9 @@ } -int gprs_rlcmac_dl_tbf::maybe_start_new_window() +int gprs_rlcmac_dl_tbf::rcvd_dl_final_ack() { + osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_FINAL_ACK_RECVD, NULL); release(); /* check for LLC PDU in the LLC Queue */ @@ -1241,8 +1242,6 @@ /* report all outstanding packets as received */ gprs_rlcmac_received_lost(this, received, 0); - TBF_SET_STATE(this, TBF_ST_WAIT_RELEASE); - /* start T3193 */ T_START(this, T3193, 3193, "release (DL-TBF)", true); @@ -1292,7 +1291,7 @@ if (final_ack) { LOGPTBFDL(this, LOGL_DEBUG, "Final ACK received.\n"); - rc = maybe_start_new_window(); + rc = rcvd_dl_final_ack(); } else if (state_is(TBF_ST_FINISHED) && m_window.window_empty()) { LOGPTBFDL(this, LOGL_NOTICE, "Received acknowledge of all blocks, but without final ack indication (don't worry)\n"); @@ -1309,7 +1308,7 @@ return update_window(ssn, rbb); LOGPTBFDL(this, LOGL_DEBUG, "Final ACK received.\n"); - return maybe_start_new_window(); + return rcvd_dl_final_ack(); } bool gprs_rlcmac_dl_tbf::dl_window_stalled() const diff --git a/src/tbf_dl.h b/src/tbf_dl.h index 58d863b..af82a0c 100644 --- a/src/tbf_dl.h +++ b/src/tbf_dl.h @@ -110,7 +110,7 @@ int index, int index2 = -1); int update_window(const uint8_t ssn, const uint8_t *rbb); int update_window(unsigned first_bsn, const struct bitvec *rbb); - int maybe_start_new_window(); + int rcvd_dl_final_ack(); bool dl_window_stalled() const; void reuse_tbf(); void start_llc_timer(); diff --git a/src/tbf_fsm.c b/src/tbf_fsm.c index 3322857..52de913 100644 --- a/src/tbf_fsm.c +++ b/src/tbf_fsm.c @@ -49,6 +49,7 @@ { TBF_EV_ASSIGN_READY_CCCH, "ASSIGN_READY_CCCH" }, { TBF_EV_LAST_DL_DATA_SENT, "LAST_DL_DATA_SENT" }, { TBF_EV_LAST_UL_DATA_RECVD, "LAST_UL_DATA_RECVD" }, + { TBF_EV_FINAL_ACK_RECVD, "FINAL_ACK_RECVD" }, { 0, NULL } }; @@ -149,6 +150,27 @@ /* All data has been sent or received, change state to FINISHED */ tbf_fsm_state_chg(fi, TBF_ST_FINISHED); break; + case TBF_EV_FINAL_ACK_RECVD: + /* We received Final Ack (DL ACK/NACK) from MS. move to + WAIT_RELEASE, we wait there for release or re-use the TBF in + case we receive more DL data to tx */ + tbf_fsm_state_chg(fi, TBF_ST_WAIT_RELEASE); + break; + default: + OSMO_ASSERT(0); + } +} + +static void st_finished(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + //struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; + switch (event) { + case TBF_EV_FINAL_ACK_RECVD: + /* We received Final Ack (DL ACK/NACK) from MS. move to + WAIT_RELEASE, we wait there for release or re-use the TBF in + case we receive more DL data to tx */ + tbf_fsm_state_chg(fi, TBF_ST_WAIT_RELEASE); + break; default: OSMO_ASSERT(0); } @@ -199,7 +221,8 @@ [TBF_ST_FLOW] = { .in_event_mask = X(TBF_EV_LAST_DL_DATA_SENT) | - X(TBF_EV_LAST_UL_DATA_RECVD), + X(TBF_EV_LAST_UL_DATA_RECVD) | + X(TBF_EV_FINAL_ACK_RECVD), .out_state_mask = X(TBF_ST_FINISHED) | X(TBF_ST_WAIT_RELEASE) | @@ -210,12 +233,12 @@ }, [TBF_ST_FINISHED] = { .in_event_mask = - 0, + X(TBF_EV_FINAL_ACK_RECVD), .out_state_mask = X(TBF_ST_WAIT_RELEASE), .name = "FINISHED", //.onenter = st_finished_on_enter, - //.action = st_finished, + .action = st_finished, }, [TBF_ST_WAIT_RELEASE] = { .in_event_mask = diff --git a/src/tbf_fsm.h b/src/tbf_fsm.h index f4f5ad7..449a04a 100644 --- a/src/tbf_fsm.h +++ b/src/tbf_fsm.h @@ -35,6 +35,7 @@ TBF_EV_ASSIGN_READY_CCCH, /* TBF Start Time timer triggered */ TBF_EV_LAST_DL_DATA_SENT, /* DL TBF sends RLCMAC block containing last DL avilable data buffered */ TBF_EV_LAST_UL_DATA_RECVD, /* UL TBF sends RLCMAC block containing last UL data (cv=0) */ + TBF_EV_FINAL_ACK_RECVD, /* DL ACK/NACK with FINAL_ACK=1 received from MS */ }; enum tbf_fsm_states { diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index ccfd459..c6cea78 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -101,6 +101,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 1, CS-1): 07 00 03 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -206,6 +207,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 1, CS-1): 07 00 03 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -497,6 +499,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) msg block (BSN 21, CS-1): 0f 01 2a 4d 43 c0 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) Final ACK received. +TBF(DL-TFI_0){FINISHED}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FINISHED}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -3026,6 +3029,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) DL analysis, range=0:28, lost=0, recv=28, skipped=0, bsn=0, info='RRRRRRRRRRRRRRRRRRRRRRRRRRRR....................................' TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) V(B): (V(A)=28)""(V(S)-1=27) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Final ACK received. +TBF(DL-TFI_0){FINISHED}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FINISHED}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT_RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654379 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -4063,6 +4067,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 2 => 3 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=112 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -4312,6 +4317,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=91 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -4521,6 +4527,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=69 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -4714,6 +4721,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=60 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -4891,6 +4899,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=52 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -5044,6 +5053,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=39 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -5206,6 +5216,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=34 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -5359,6 +5370,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=30 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -5501,6 +5513,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=26 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -5570,6 +5583,7 @@ Detected FN jump! 2654167 -> 58 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=58 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -5636,6 +5650,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-1): 07 00 00 98 00 02 04 06 08 0a 0c 0e 10 12 14 16 18 1a 1c 1e 20 22 24 26 28 2a 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=58 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -5702,6 +5717,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-2): 07 00 00 94 00 02 04 06 08 0a 0c 0e 10 12 14 16 18 1a 1c 1e 20 22 24 26 28 2a 2c 2e 30 32 34 36 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=58 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -5791,6 +5807,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=63 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -5879,6 +5896,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=63 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -5967,6 +5985,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=63 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -6055,6 +6074,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=63 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -6130,6 +6150,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-3): 07 00 00 e6 4a 4c 4e 50 52 54 56 58 5a 5c 5e 60 62 64 66 68 6a 6c 6e 70 72 74 76 78 7a 7c 7e 80 82 84 86 88 8a 8c 8e 90 92 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -6203,6 +6224,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-2): 07 00 00 f2 38 3a 3c 3e 40 42 44 46 48 4a 4c 4e 50 52 54 56 58 5a 5c 5e 60 62 64 66 68 6a 6c 6e 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -6276,6 +6298,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-1): 07 00 00 f6 2c 2e 30 32 34 36 38 3a 3c 3e 40 42 44 46 48 4a 4c 4e 50 52 54 56 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -6356,6 +6379,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-6): 07 00 00 10 40 80 c0 00 41 81 c1 01 42 82 c2 02 43 83 c3 03 44 84 c4 04 45 85 c5 05 46 86 c6 06 47 87 c7 07 48 88 c8 08 49 89 c9 09 4a 8a ca 0a 4b 8b cb 0b 4c 8c cc 0c 4d 8d cd 0d 4e 8e ce 0e 4f 8f cf 0f 50 90 d0 10 51 91 d1 11 52 12 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25046 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iebd650c1036ef2d5132789778be7117ce3391c01 Gerrit-Change-Number: 25046 Gerrit-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 Jul 26 14:19:43 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 26 Jul 2021 14:19:43 +0000 Subject: Change in osmo-pcu[master]: Move RELEASING tbf_state transition to tbf_fsm References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25047 ) Change subject: Move RELEASING tbf_state transition to tbf_fsm ...................................................................... Move RELEASING tbf_state transition to tbf_fsm PdchUlcTest output changes because the original state NULL is not expected when transactioning to RELEASING upon MAX N310* being hit. In any case, none of those events should happen in NULL state, but we don't really care about TBF states there so we are fine with whatever the state is. Related: OS#2709 Change-Id: I516b8d989a0d705e5664f8aeaf7d108e0105aa16 --- M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp M src/tbf_fsm.c M src/tbf_fsm.h M src/tbf_ul.cpp M tests/tbf/TbfTest.err M tests/ulc/PdchUlcTest.err 8 files changed, 62 insertions(+), 22 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/47/25047/1 diff --git a/src/tbf.cpp b/src/tbf.cpp index f999f9e..7a897e9 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -639,7 +639,7 @@ if (state_is(TBF_ST_FINISHED)) { if (ul_tbf->n_inc(N3103)) { bts_do_rate_ctr_inc(bts, CTR_PUAN_POLL_FAILED); - TBF_SET_STATE(ul_tbf, TBF_ST_RELEASING); + osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_MAX_N3103, NULL); T_START(ul_tbf, T3169, 3169, "MAX N3103 reached", false); return; } @@ -658,7 +658,7 @@ bts_do_rate_ctr_inc(bts, CTR_RLC_ASS_TIMEDOUT); bts_do_rate_ctr_inc(bts, CTR_PUA_POLL_TIMEDOUT); if (n_inc(N3105)) { - TBF_SET_STATE(this, TBF_ST_RELEASING); + osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_MAX_N3105, NULL); T_START(this, T3195, 3195, "MAX N3105 reached", true); bts_do_rate_ctr_inc(bts, CTR_RLC_ASS_FAILED); bts_do_rate_ctr_inc(bts, CTR_PUA_POLL_FAILED); @@ -677,7 +677,7 @@ bts_do_rate_ctr_inc(bts, CTR_RLC_ASS_TIMEDOUT); bts_do_rate_ctr_inc(bts, CTR_PDA_POLL_TIMEDOUT); if (n_inc(N3105)) { - TBF_SET_STATE(this, TBF_ST_RELEASING); + osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_MAX_N3105, NULL); T_START(this, T3195, 3195, "MAX N3105 reached", true); bts_do_rate_ctr_inc(bts, CTR_RLC_ASS_FAILED); bts_do_rate_ctr_inc(bts, CTR_PDA_POLL_FAILED); @@ -708,7 +708,7 @@ } if (dl_tbf->n_inc(N3105)) { - TBF_SET_STATE(dl_tbf, TBF_ST_RELEASING); + osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_MAX_N3105, NULL); T_START(dl_tbf, T3195, 3195, "MAX N3105 reached", true); bts_do_rate_ctr_inc(bts, CTR_PDAN_POLL_FAILED); bts_do_rate_ctr_inc(bts, CTR_RLC_ACK_FAILED); diff --git a/src/tbf.h b/src/tbf.h index adc648c..ded3a3c 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -158,7 +158,6 @@ #define T_START(tbf, t, T, r, f) tbf->t_start(t, T, r, f, __FILE__, __LINE__) -#define TBF_SET_STATE(t, st) do { tbf_fsm_state_chg(t->state_fsm.fi, st); } while(0) #define TBF_SET_ASS_STATE_DL(t, st) do { t->set_ass_state_dl(st, __FILE__, __LINE__); } while(0) #define TBF_SET_ASS_STATE_UL(t, st) do { t->set_ass_state_ul(st, __FILE__, __LINE__); } while(0) #define TBF_SET_ACK_STATE(t, st) do { t->set_ack_state(st, __FILE__, __LINE__); } while(0) diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 6614366..f264cfc 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -1271,7 +1271,8 @@ * (partly) encoded in chunk 1 of block V(A). (optional) */ } - TBF_SET_STATE(this, TBF_ST_RELEASING); + /* This state change looks unneeded and can probably be dropped at some point: */ + tbf_fsm_state_chg(this->state_fsm.fi, TBF_ST_RELEASING); /* reset rlc states */ m_window.reset(); diff --git a/src/tbf_fsm.c b/src/tbf_fsm.c index 52de913..17e10bd 100644 --- a/src/tbf_fsm.c +++ b/src/tbf_fsm.c @@ -50,6 +50,9 @@ { TBF_EV_LAST_DL_DATA_SENT, "LAST_DL_DATA_SENT" }, { TBF_EV_LAST_UL_DATA_RECVD, "LAST_UL_DATA_RECVD" }, { TBF_EV_FINAL_ACK_RECVD, "FINAL_ACK_RECVD" }, + { TBF_EV_MAX_N3101 , "MAX_N3101" }, + { TBF_EV_MAX_N3103 , "MAX_N3103" }, + { TBF_EV_MAX_N3105 , "MAX_N3105" }, { 0, NULL } }; @@ -156,6 +159,10 @@ case we receive more DL data to tx */ tbf_fsm_state_chg(fi, TBF_ST_WAIT_RELEASE); break; + case TBF_EV_MAX_N3101: + case TBF_EV_MAX_N3105: + tbf_fsm_state_chg(fi, TBF_ST_RELEASING); + break; default: OSMO_ASSERT(0); } @@ -171,6 +178,28 @@ case we receive more DL data to tx */ tbf_fsm_state_chg(fi, TBF_ST_WAIT_RELEASE); break; + case TBF_EV_MAX_N3103: + tbf_fsm_state_chg(fi, TBF_ST_RELEASING); + break; + case TBF_EV_MAX_N3105: + tbf_fsm_state_chg(fi, TBF_ST_RELEASING); + break; + default: + OSMO_ASSERT(0); + } +} + +static void st_wait_release(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + //struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; + switch (event) { + case TBF_EV_FINAL_ACK_RECVD: + /* ignore, duplicate ACK, we already know about since we are in WAIT_RELEASE */ + break; + case TBF_EV_MAX_N3101: + case TBF_EV_MAX_N3105: + tbf_fsm_state_chg(fi, TBF_ST_RELEASING); + break; default: OSMO_ASSERT(0); } @@ -222,7 +251,9 @@ .in_event_mask = X(TBF_EV_LAST_DL_DATA_SENT) | X(TBF_EV_LAST_UL_DATA_RECVD) | - X(TBF_EV_FINAL_ACK_RECVD), + X(TBF_EV_FINAL_ACK_RECVD) | + X(TBF_EV_MAX_N3101) | + X(TBF_EV_MAX_N3105), .out_state_mask = X(TBF_ST_FINISHED) | X(TBF_ST_WAIT_RELEASE) | @@ -233,20 +264,25 @@ }, [TBF_ST_FINISHED] = { .in_event_mask = - X(TBF_EV_FINAL_ACK_RECVD), + X(TBF_EV_FINAL_ACK_RECVD) | + X(TBF_EV_MAX_N3103) | + X(TBF_EV_MAX_N3105), .out_state_mask = - X(TBF_ST_WAIT_RELEASE), + X(TBF_ST_WAIT_RELEASE) | + X(TBF_ST_RELEASING), .name = "FINISHED", //.onenter = st_finished_on_enter, .action = st_finished, }, [TBF_ST_WAIT_RELEASE] = { .in_event_mask = - 0, + X(TBF_EV_FINAL_ACK_RECVD) | + X(TBF_EV_MAX_N3101) | + X(TBF_EV_MAX_N3105), .out_state_mask = X(TBF_ST_RELEASING), .name = "WAIT_RELEASE", - //.action = st_wait_release, + .action = st_wait_release, }, [TBF_ST_RELEASING] = { .in_event_mask = diff --git a/src/tbf_fsm.h b/src/tbf_fsm.h index 449a04a..9e58164 100644 --- a/src/tbf_fsm.h +++ b/src/tbf_fsm.h @@ -36,6 +36,9 @@ TBF_EV_LAST_DL_DATA_SENT, /* DL TBF sends RLCMAC block containing last DL avilable data buffered */ TBF_EV_LAST_UL_DATA_RECVD, /* UL TBF sends RLCMAC block containing last UL data (cv=0) */ TBF_EV_FINAL_ACK_RECVD, /* DL ACK/NACK with FINAL_ACK=1 received from MS */ + TBF_EV_MAX_N3101, /* MAX N3101 (max usf timeout) reached (UL TBF) */ + TBF_EV_MAX_N3103, /* MAX N3103 (max Pkt Ctrl Ack for last UL ACK/NACK timeout) reached (UL TBF) */ + TBF_EV_MAX_N3105, /* MAX N3105 (max poll timeout) reached (UL/DL TBF) */ }; enum tbf_fsm_states { diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 54108ed..d1b5807 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -815,7 +815,7 @@ void gprs_rlcmac_ul_tbf::usf_timeout() { if (n_inc(N3101)) { - TBF_SET_STATE(this, TBF_ST_RELEASING); + osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_MAX_N3101, NULL); T_START(this, T3169, 3169, "MAX N3101 reached", false); return; } diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index c6cea78..62a3a51 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -3083,6 +3083,7 @@ PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654318 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654318): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 exceeded MAX (10) +TBF(UL-TFI_0){FLOW}: Received Event MAX_N3101 TBF(UL-TFI_0){FLOW}: state_chg to RELEASING TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) starting timer T3169 [MAX N3101 reached] with 5 sec. 0 microsec, cur_fn=2654379 PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654322 is still reserved! diff --git a/tests/ulc/PdchUlcTest.err b/tests/ulc/PdchUlcTest.err index edc7a11..e72d59f 100644 --- a/tests/ulc/PdchUlcTest.err +++ b/tests/ulc/PdchUlcTest.err @@ -22,25 +22,25 @@ PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=2715639 is still reserved! PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715639): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=2715643 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715643): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715643): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=4 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=4): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=4): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=8 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=8): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=8): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=13 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=17 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=21 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=21): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=21): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=26 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=26): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=26): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=30 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=30): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=30): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=34 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=34): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=34): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=39 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=39): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=39): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) PDCH(bts=0,trx=0,ts=0) POLL scheduled at FN 26 + 13 = 39 PDCH(bts=0,trx=0,ts=0) UL block already scheduled at FN 91 + 13 = 104 PDCH(bts=0,trx=0,ts=0) POLL scheduled at FN 91 + 17 = 108 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25047 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I516b8d989a0d705e5664f8aeaf7d108e0105aa16 Gerrit-Change-Number: 25047 Gerrit-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 Jul 26 14:19:45 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 26 Jul 2021 14:19:45 +0000 Subject: Change in osmo-pcu[master]: Move NULL and ASSIGN tbf_state transition to tbf_fsm In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25011 ) Change subject: Move NULL and ASSIGN tbf_state transition to tbf_fsm ...................................................................... Patch Set 4: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25011 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3c62e9e83965cb28065338733f182863e54d7474 Gerrit-Change-Number: 25011 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Mon, 26 Jul 2021 14:19: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 Mon Jul 26 14:19:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 26 Jul 2021 14:19:54 +0000 Subject: Change in osmo-pcu[master]: Move FLOW tbf_state transition to tbf_fsm. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25012 ) Change subject: Move FLOW tbf_state transition to tbf_fsm. ...................................................................... Patch Set 4: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25012 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia8c7de759c195d09263fb1f083fbf6cfa3087f8d Gerrit-Change-Number: 25012 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Mon, 26 Jul 2021 14:19: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 Mon Jul 26 14:27:32 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Mon, 26 Jul 2021 14:27:32 +0000 Subject: Change in osmo-pcu[master]: tests/tbf: Fix null pointer access if slowly stepping with gdb In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25044 ) Change subject: tests/tbf: Fix null pointer access if slowly stepping with gdb ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/25044/1/tests/tbf/TbfTest.cpp File tests/tbf/TbfTest.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/25044/1/tests/tbf/TbfTest.cpp at 69 PS1, Line 69: bssgp_set_bssgp_callback(gprs_gp_send_test_cb, pcu->nsi); > pcu->nsi will always be NULL here so you might as well just pass NULL Done -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25044 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iee5bcf21afc8980a14f90f5b1ead6d2460a244ea Gerrit-Change-Number: 25044 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Comment-Date: Mon, 26 Jul 2021 14:27:32 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: daniel Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 26 15:19:45 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 26 Jul 2021 15:19:45 +0000 Subject: Change in osmo-pcu[master]: Move T3169 and T3195 to tbf_fsm References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25048 ) Change subject: Move T3169 and T3195 to tbf_fsm ...................................................................... Move T3169 and T3195 to tbf_fsm Change-Id: I599f4e7e82b0a8c0f5cf633c2d8b1975435f0b60 --- M src/tbf.cpp M src/tbf.h M src/tbf_fsm.c M src/tbf_fsm.h M src/tbf_ul.cpp M tests/tbf/TbfTest.err 6 files changed, 44 insertions(+), 31 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/48/25048/1 diff --git a/src/tbf.cpp b/src/tbf.cpp index 7a897e9..e3b171b 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -93,10 +93,8 @@ static const struct value_string tbf_timers_names[] = { OSMO_VALUE_STRING(T0), OSMO_VALUE_STRING(T3141), - OSMO_VALUE_STRING(T3169), OSMO_VALUE_STRING(T3191), OSMO_VALUE_STRING(T3193), - OSMO_VALUE_STRING(T3195), { 0, NULL } }; @@ -475,10 +473,8 @@ * allocated temporary block flow is released as specified in 3GPP TS 44.060 and * the packet access is forgotten.*/ T_CBACK(T3141, true) -T_CBACK(T3169, true) T_CBACK(T3191, true) T_CBACK(T3193, false) -T_CBACK(T3195, true) void gprs_rlcmac_tbf::t_start(enum tbf_timers t, int T, const char *reason, bool force, const char *file, unsigned line) @@ -527,18 +523,12 @@ case T3141: Tarr[t].cb = cb_T3141; break; - case T3169: - Tarr[t].cb = cb_T3169; - break; case T3191: Tarr[t].cb = cb_T3191; break; case T3193: Tarr[t].cb = cb_T3193; break; - case T3195: - Tarr[t].cb = cb_T3195; - break; default: LOGPSRC(DTBF, LOGL_ERROR, file, line, "%s attempting to set callback for unknown timer %s [%s], cur_fn=%d\n", tbf_name(this), get_value_string(tbf_timers_names, t), reason, current_fn); @@ -640,7 +630,6 @@ if (ul_tbf->n_inc(N3103)) { bts_do_rate_ctr_inc(bts, CTR_PUAN_POLL_FAILED); osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_MAX_N3103, NULL); - T_START(ul_tbf, T3169, 3169, "MAX N3103 reached", false); return; } /* reschedule UL ack */ @@ -659,7 +648,6 @@ bts_do_rate_ctr_inc(bts, CTR_PUA_POLL_TIMEDOUT); if (n_inc(N3105)) { osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_MAX_N3105, NULL); - T_START(this, T3195, 3195, "MAX N3105 reached", true); bts_do_rate_ctr_inc(bts, CTR_RLC_ASS_FAILED); bts_do_rate_ctr_inc(bts, CTR_PUA_POLL_FAILED); return; @@ -678,7 +666,6 @@ bts_do_rate_ctr_inc(bts, CTR_PDA_POLL_TIMEDOUT); if (n_inc(N3105)) { osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_MAX_N3105, NULL); - T_START(this, T3195, 3195, "MAX N3105 reached", true); bts_do_rate_ctr_inc(bts, CTR_RLC_ASS_FAILED); bts_do_rate_ctr_inc(bts, CTR_PDA_POLL_FAILED); return; @@ -709,7 +696,6 @@ if (dl_tbf->n_inc(N3105)) { osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_MAX_N3105, NULL); - T_START(dl_tbf, T3195, 3195, "MAX N3105 reached", true); bts_do_rate_ctr_inc(bts, CTR_PDAN_POLL_FAILED); bts_do_rate_ctr_inc(bts, CTR_RLC_ACK_FAILED); return; diff --git a/src/tbf.h b/src/tbf.h index ded3a3c..6c33bc2 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -121,9 +121,6 @@ /* Wait contention resolution success on UL TBFs assigned over CCCH */ T3141, - /* Wait for reuse of USF and TFI(s) after the MS uplink assignment for this TBF is invalid. */ - T3169, - /* Wait for reuse of TFI(s) after sending of the last RLC Data Block on this TBF. Wait for reuse of TFI(s) after sending the PACKET TBF RELEASE for an MBMS radio bearer. */ T3191, @@ -132,9 +129,6 @@ MS for this TBF. */ T3193, - /* Wait for reuse of TFI(s) when there is no response from the MS - (radio failure or cell change) for this TBF/MBMS radio bearer. */ - T3195, T_MAX }; diff --git a/src/tbf_fsm.c b/src/tbf_fsm.c index 17e10bd..aeac3e0 100644 --- a/src/tbf_fsm.c +++ b/src/tbf_fsm.c @@ -146,7 +146,7 @@ static void st_flow(struct osmo_fsm_inst *fi, uint32_t event, void *data) { - //struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; + struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; switch (event) { case TBF_EV_LAST_DL_DATA_SENT: case TBF_EV_LAST_UL_DATA_RECVD: @@ -160,7 +160,11 @@ tbf_fsm_state_chg(fi, TBF_ST_WAIT_RELEASE); break; case TBF_EV_MAX_N3101: + ctx->T_release = 3169; + tbf_fsm_state_chg(fi, TBF_ST_RELEASING); + break; case TBF_EV_MAX_N3105: + ctx->T_release = 3195; tbf_fsm_state_chg(fi, TBF_ST_RELEASING); break; default: @@ -170,7 +174,7 @@ static void st_finished(struct osmo_fsm_inst *fi, uint32_t event, void *data) { - //struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; + struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; switch (event) { case TBF_EV_FINAL_ACK_RECVD: /* We received Final Ack (DL ACK/NACK) from MS. move to @@ -179,9 +183,11 @@ tbf_fsm_state_chg(fi, TBF_ST_WAIT_RELEASE); break; case TBF_EV_MAX_N3103: + ctx->T_release = 3169; tbf_fsm_state_chg(fi, TBF_ST_RELEASING); break; case TBF_EV_MAX_N3105: + ctx->T_release = 3195; tbf_fsm_state_chg(fi, TBF_ST_RELEASING); break; default: @@ -191,13 +197,17 @@ static void st_wait_release(struct osmo_fsm_inst *fi, uint32_t event, void *data) { - //struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; + struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; switch (event) { case TBF_EV_FINAL_ACK_RECVD: /* ignore, duplicate ACK, we already know about since we are in WAIT_RELEASE */ break; case TBF_EV_MAX_N3101: + ctx->T_release = 3169; + tbf_fsm_state_chg(fi, TBF_ST_RELEASING); + break; case TBF_EV_MAX_N3105: + ctx->T_release = 3195; tbf_fsm_state_chg(fi, TBF_ST_RELEASING); break; default: @@ -205,6 +215,26 @@ } } +static void st_releasing_on_enter(struct osmo_fsm_inst *fi, uint32_t prev_state) +{ + struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; + unsigned long val; + + if (!ctx->T_release) + return; + + /* In general we should end up here with an assigned timer in ctx->T_release. Possible values are: + * T3195: Wait for reuse of TFI(s) when there is no response from the MS + * (radio failure or cell change) for this TBF/MBMS radio bearer. + * T3169: Wait for reuse of USF and TFI(s) after the MS uplink assignment for this TBF is invalid. + */ + val = osmo_tdef_get(tbf_ms(ctx->tbf)->bts->T_defs_bts, ctx->T_release, OSMO_TDEF_S, -1); + fi->T = ctx->T_release; + LOGPTBF(ctx->tbf, LOGL_DEBUG, "starting timer T%u with %lu sec. %u microsec\n", + ctx->T_release, val, 0); + osmo_timer_schedule(&fi->timer, val, 0); +} + static void tbf_fsm_cleanup(struct osmo_fsm_inst *fi, enum osmo_fsm_term_cause cause) { /* TODO: needed ? @@ -214,9 +244,14 @@ static int tbf_fsm_timer_cb(struct osmo_fsm_inst *fi) { + struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; switch (fi->T) { - default: - break; + case 3169: + case 3195: + tbf_free(ctx->tbf); + break; + default: + OSMO_ASSERT(0); } return 0; } @@ -290,7 +325,7 @@ .out_state_mask = 0, .name = "RELEASING", - //.action = st_releasing, + .onenter = st_releasing_on_enter, }, }; diff --git a/src/tbf_fsm.h b/src/tbf_fsm.h index 9e58164..40abec8 100644 --- a/src/tbf_fsm.h +++ b/src/tbf_fsm.h @@ -54,6 +54,7 @@ struct osmo_fsm_inst *fi; struct gprs_rlcmac_tbf* tbf; /* back pointer */ uint32_t state_flags; + unsigned int T_release; /* Timer to be used to end release: T3169 or T3195 */ }; extern const struct osmo_tdef_state_timeout tbf_fsm_timeouts[32]; diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index d1b5807..14cb0ea 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -814,11 +814,8 @@ void gprs_rlcmac_ul_tbf::usf_timeout() { - if (n_inc(N3101)) { + if (n_inc(N3101)) osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_MAX_N3101, NULL); - T_START(this, T3169, 3169, "MAX N3101 reached", false); - return; - } } struct gprs_rlcmac_ul_tbf *as_ul_tbf(struct gprs_rlcmac_tbf *tbf) diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 62a3a51..91b8459 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -3085,7 +3085,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 exceeded MAX (10) TBF(UL-TFI_0){FLOW}: Received Event MAX_N3101 TBF(UL-TFI_0){FLOW}: state_chg to RELEASING -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) starting timer T3169 [MAX N3101 reached] with 5 sec. 0 microsec, cur_fn=2654379 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) starting timer T3169 with 5 sec. 0 microsec PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654322 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654322): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 10 => 11 (< MAX 10) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25048 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I599f4e7e82b0a8c0f5cf633c2d8b1975435f0b60 Gerrit-Change-Number: 25048 Gerrit-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 Jul 26 15:19:46 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 26 Jul 2021 15:19:46 +0000 Subject: Change in osmo-pcu[master]: Drop duplicate log line References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25049 ) Change subject: Drop duplicate log line ...................................................................... Drop duplicate log line Same line (or similar if run_diag) is logged immediately below, showing up twice in log which is confusing: """ 20210726171543005 DTBF tbf.cpp:455 TBF(TFI=2 TLLI=0xfe563576 DIR=DL STATE=WAIT_RELEASE EGPRS) T3193 timeout expired, freeing TBF 20210726171543005 DTBF tbf.cpp:462 TBF(TFI=2 TLLI=0xfe563576 DIR=DL STATE=WAIT_RELEASE EGPRS) T3193 timeout expired, freeing TBF """ Change-Id: Ie171c458e670f8471ac93f78520a05926114c974 --- M src/tbf.cpp 1 file changed, 0 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/49/25049/1 diff --git a/src/tbf.cpp b/src/tbf.cpp index e3b171b..2529eaa 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -452,9 +452,6 @@ static inline void tbf_timeout_free(struct gprs_rlcmac_tbf *tbf, enum tbf_timers t, bool run_diag) { - LOGPTBF(tbf, LOGL_NOTICE, "%s timeout expired, freeing TBF\n", - get_value_string(tbf_timers_names, t)); - if (run_diag) { LOGPTBF(tbf, LOGL_NOTICE, "%s timeout expired, freeing TBF: %s\n", get_value_string(tbf_timers_names, t), tbf->rlcmac_diag().c_str()); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25049 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie171c458e670f8471ac93f78520a05926114c974 Gerrit-Change-Number: 25049 Gerrit-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 Jul 26 16:06:46 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 26 Jul 2021 16:06:46 +0000 Subject: Change in osmo-pcu[master]: Put dl_tbf::cleanup into destructor References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25050 ) Change subject: Put dl_tbf::cleanup into destructor ...................................................................... Put dl_tbf::cleanup into destructor It's fine to always attemt dropping the timer since it's set up in the constructor. This also drps the double function call abort()+cleanup() which is confusing. Change-Id: Ia2aaa43bd8faacf09fe4b36b11b38022bea7a59c --- M src/tbf.cpp M src/tbf_dl.cpp M src/tbf_dl.h 3 files changed, 7 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/50/25050/1 diff --git a/src/tbf.cpp b/src/tbf.cpp index 2529eaa..579a46d 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -293,7 +293,6 @@ gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(tbf); dl_tbf->abort(); - dl_tbf->cleanup(); } LOGPTBF(tbf, LOGL_INFO, "free\n"); diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index f264cfc..2154ed6 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -177,6 +177,12 @@ return tbf; } +gprs_rlcmac_dl_tbf::~gprs_rlcmac_dl_tbf() +{ + osmo_timer_del(&m_llc_timer); + /* ~gprs_rlcmac_dl_tbf() is called automatically upon return */ +} + gprs_rlcmac_dl_tbf::gprs_rlcmac_dl_tbf(struct gprs_rlcmac_bts *bts_, GprsMs *ms) : gprs_rlcmac_tbf(bts_, ms, GPRS_RLCMAC_DL_TBF), m_tx_counter(0), @@ -191,11 +197,6 @@ osmo_timer_setup(&m_llc_timer, llc_timer_cb, this); } -void gprs_rlcmac_dl_tbf::cleanup() -{ - osmo_timer_del(&m_llc_timer); -} - void gprs_rlcmac_dl_tbf::start_llc_timer() { if (the_pcu->vty.llc_idle_ack_csec > 0) { diff --git a/src/tbf_dl.h b/src/tbf_dl.h index af82a0c..6fddeb5 100644 --- a/src/tbf_dl.h +++ b/src/tbf_dl.h @@ -42,8 +42,8 @@ struct gprs_rlcmac_dl_tbf : public gprs_rlcmac_tbf { gprs_rlcmac_dl_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms); + ~gprs_rlcmac_dl_tbf(); gprs_rlc_window *window(); - void cleanup(); int append_data(uint16_t pdu_delay_csec, const uint8_t *data, uint16_t len); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25050 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia2aaa43bd8faacf09fe4b36b11b38022bea7a59c Gerrit-Change-Number: 25050 Gerrit-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 Jul 26 16:06:48 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 26 Jul 2021 16:06:48 +0000 Subject: Change in osmo-pcu[master]: Drop logging last mas report before freeing TBF References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25051 ) Change subject: Drop logging last mas report before freeing TBF ...................................................................... Drop logging last mas report before freeing TBF There's no much use in logging it since anyway we are immediately getting rid of it. Change-Id: I9b712f720b5874886cc19d998fb8fcd0e618d590 --- M src/tbf.cpp M tests/tbf/TbfTest.err 2 files changed, 0 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/51/25051/1 diff --git a/src/tbf.cpp b/src/tbf.cpp index 579a46d..f56cba3 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -285,13 +285,6 @@ bts_do_rate_ctr_inc(tbf->bts, CTR_TBF_DL_FREED); if (tbf->state_is(TBF_ST_FLOW)) bts_do_rate_ctr_inc(tbf->bts, CTR_TBF_DL_ABORTED); - } - - /* Give final measurement report */ - gprs_rlcmac_rssi_rep(tbf); - if (tbf->direction == GPRS_RLCMAC_DL_TBF) { - gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(tbf); - dl_tbf->abort(); } diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 91b8459..7a81192 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -2003,7 +2003,6 @@ IMSI 0011223344, old TBF TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED): moving DL TBF to new MS object MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) MS(TLLI=0xf5667788, IMSI=, TA=7, 1/0, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xf5667788 DIR=DL STATE=FINISHED) -MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL) UL RSSI: 31 dBm TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) free PDCH(bts=0,trx=0,ts=7) Detaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), 1 TBFs, USFs = 02, TFIs = 00000002. MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0,) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) @@ -2105,7 +2104,6 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 20 bytes TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 20 bytes Old MS: TLLI = 0xf1223344, TA = 7, IMSI = 0011223344, LLC = 2 -MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL DL) UL RSSI: 31 dBm TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) free PDCH(bts=0,trx=0,ts=7) Detaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, DL) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) @@ -2257,7 +2255,6 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 20 bytes TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 20 bytes Old MS: TLLI = 0xf1223344, TA = 7, IMSI = 0011223344, LLC = 2 -MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL DL) UL RSSI: 31 dBm TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) free PDCH(bts=0,trx=0,ts=7) Detaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, DL) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25051 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I9b712f720b5874886cc19d998fb8fcd0e618d590 Gerrit-Change-Number: 25051 Gerrit-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 Jul 26 16:06:48 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 26 Jul 2021 16:06:48 +0000 Subject: Change in osmo-pcu[master]: Remove duplicate call to gprs_rlcmac_lost_rep References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25052 ) Change subject: Remove duplicate call to gprs_rlcmac_lost_rep ...................................................................... Remove duplicate call to gprs_rlcmac_lost_rep Function is already called by gprs_rlcmac_received_lost(), so next call following it will be sum=0 and return EINVAL. Change-Id: I015ba16d18fdd6e2441ec3c256b5ac88771d7a8b --- M src/tbf_dl.cpp 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/52/25052/1 diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 2154ed6..e76ea8c 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -1266,7 +1266,6 @@ /* report all outstanding packets as lost */ gprs_rlcmac_received_lost(this, 0, lost); - gprs_rlcmac_lost_rep(this); /* TODO: Reschedule all LLC frames starting with the one that is * (partly) encoded in chunk 1 of block V(A). (optional) */ -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25052 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I015ba16d18fdd6e2441ec3c256b5ac88771d7a8b Gerrit-Change-Number: 25052 Gerrit-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 Jul 26 16:50:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 26 Jul 2021 16:50:09 +0000 Subject: Change in osmo-pcu[master]: Move rate_ctr free to tbf subclass destructor References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25053 ) Change subject: Move rate_ctr free to tbf subclass destructor ...................................................................... Move rate_ctr free to tbf subclass destructor This way we clean up tbf_free entry point, and leave memory freeing for later on at the end when talloc_free is called. Change-Id: I1c45e3296e565725bcbbca391d9518772fffa89d --- M src/tbf.cpp M src/tbf_dl.cpp M src/tbf_ul.cpp M src/tbf_ul.h 4 files changed, 14 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/53/25053/1 diff --git a/src/tbf.cpp b/src/tbf.cpp index f56cba3..f022b0c 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -164,6 +164,7 @@ { osmo_fsm_inst_free(state_fsm.fi); state_fsm.fi = NULL; + rate_ctr_group_free(m_ctrs); } uint32_t gprs_rlcmac_tbf::tlli() const @@ -269,19 +270,11 @@ { /* update counters */ if (tbf->direction == GPRS_RLCMAC_UL_TBF) { - gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(tbf); bts_do_rate_ctr_inc(tbf->bts, CTR_TBF_UL_FREED); if (tbf->state_is(TBF_ST_FLOW)) bts_do_rate_ctr_inc(tbf->bts, CTR_TBF_UL_ABORTED); - rate_ctr_group_free(ul_tbf->m_ul_egprs_ctrs); - rate_ctr_group_free(ul_tbf->m_ul_gprs_ctrs); } else { gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(tbf); - if (tbf->is_egprs_enabled()) { - rate_ctr_group_free(dl_tbf->m_dl_egprs_ctrs); - } else { - rate_ctr_group_free(dl_tbf->m_dl_gprs_ctrs); - } bts_do_rate_ctr_inc(tbf->bts, CTR_TBF_DL_FREED); if (tbf->state_is(TBF_ST_FLOW)) bts_do_rate_ctr_inc(tbf->bts, CTR_TBF_DL_ABORTED); @@ -297,8 +290,6 @@ if (tbf->ms()) tbf->set_ms(NULL); - rate_ctr_group_free(tbf->m_ctrs); - LOGP(DTBF, LOGL_DEBUG, "********** %s-TBF ends here **********\n", (tbf->direction != GPRS_RLCMAC_UL_TBF) ? "DL" : "UL"); talloc_free(tbf); diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index e76ea8c..2850fff 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -180,6 +180,11 @@ gprs_rlcmac_dl_tbf::~gprs_rlcmac_dl_tbf() { osmo_timer_del(&m_llc_timer); + if (is_egprs_enabled()) { + rate_ctr_group_free(m_dl_egprs_ctrs); + } else { + rate_ctr_group_free(m_dl_gprs_ctrs); + } /* ~gprs_rlcmac_dl_tbf() is called automatically upon return */ } diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 14cb0ea..9550011 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -90,6 +90,13 @@ tbf_ul_egprs_ctr_description, }; +gprs_rlcmac_ul_tbf::~gprs_rlcmac_ul_tbf() +{ + rate_ctr_group_free(m_ul_egprs_ctrs); + rate_ctr_group_free(m_ul_gprs_ctrs); + /* ~gprs_rlcmac_dl_tbf() is called automatically upon return */ +} + static int ul_tbf_dtor(struct gprs_rlcmac_ul_tbf *tbf) { tbf->~gprs_rlcmac_ul_tbf(); diff --git a/src/tbf_ul.h b/src/tbf_ul.h index 9396633..2bc908d 100644 --- a/src/tbf_ul.h +++ b/src/tbf_ul.h @@ -54,6 +54,7 @@ struct gprs_rlcmac_ul_tbf : public gprs_rlcmac_tbf { gprs_rlcmac_ul_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms); + ~gprs_rlcmac_ul_tbf(); gprs_rlc_window *window(); struct msgb *create_ul_ack(uint32_t fn, uint8_t ts); bool ctrl_ack_to_toggle(); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25053 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1c45e3296e565725bcbbca391d9518772fffa89d Gerrit-Change-Number: 25053 Gerrit-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 Jul 26 16:50:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 26 Jul 2021 16:50:09 +0000 Subject: Change in osmo-pcu[master]: Get rid of tbf_dl:abort() References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25054 ) Change subject: Get rid of tbf_dl:abort() ...................................................................... Get rid of tbf_dl:abort() Having that code in a seaprate function is confusing and adds code complexity since it looks like an entry point to start feeing a TBF, but it simply some (not yet really useful) set of instructions to be called one 1 code path in tbf_free. Let's move it there, this way it becomes clear tbf_free() is THE place to be (if you want to get rid of a TBF). Change-Id: I30febf4d21a0bfab37524c07598bbb0dd32f7f65 --- M src/tbf.cpp M src/tbf_dl.cpp M src/tbf_dl.h 3 files changed, 15 insertions(+), 29 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/54/25054/1 diff --git a/src/tbf.cpp b/src/tbf.cpp index f022b0c..8c3bd35 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -275,10 +275,23 @@ bts_do_rate_ctr_inc(tbf->bts, CTR_TBF_UL_ABORTED); } else { gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(tbf); + gprs_rlc_dl_window *win = static_cast(dl_tbf->window()); + bts_do_rate_ctr_inc(tbf->bts, CTR_TBF_DL_FREED); - if (tbf->state_is(TBF_ST_FLOW)) + if (tbf->state_is(TBF_ST_FLOW)) { bts_do_rate_ctr_inc(tbf->bts, CTR_TBF_DL_ABORTED); - dl_tbf->abort(); + /* range V(A)..V(S)-1 */ + uint16_t lost = win->count_unacked(); + /* report all outstanding packets as lost */ + gprs_rlcmac_received_lost(dl_tbf, 0, lost); + /* TODO: Reschedule all LLC frames starting with the one that is + * (partly) encoded in chunk 1 of block V(A). (optional) */ + } + /* This state change looks unneeded and can probably be dropped at some point: */ + tbf_fsm_state_chg(dl_tbf->state_fsm.fi, TBF_ST_RELEASING); + /* reset rlc states */ + win->reset(); + osmo_fsm_inst_dispatch(dl_tbf->state_fsm.fi, TBF_EV_ASSIGN_DEL_CCCH, NULL); } LOGPTBF(tbf, LOGL_INFO, "free\n"); diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 2850fff..425bd63 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -1261,32 +1261,6 @@ return 0; } -int gprs_rlcmac_dl_tbf::abort() -{ - uint16_t lost; - - if (state_is(TBF_ST_FLOW)) { - /* range V(A)..V(S)-1 */ - lost = m_window.count_unacked(); - - /* report all outstanding packets as lost */ - gprs_rlcmac_received_lost(this, 0, lost); - - /* TODO: Reschedule all LLC frames starting with the one that is - * (partly) encoded in chunk 1 of block V(A). (optional) */ - } - - /* This state change looks unneeded and can probably be dropped at some point: */ - tbf_fsm_state_chg(this->state_fsm.fi, TBF_ST_RELEASING); - - /* reset rlc states */ - m_window.reset(); - - osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_ASSIGN_DEL_CCCH, NULL); - - return 0; -} - int gprs_rlcmac_dl_tbf::rcvd_dl_ack(bool final_ack, unsigned first_bsn, struct bitvec *rbb) { diff --git a/src/tbf_dl.h b/src/tbf_dl.h index 6fddeb5..b8fecde 100644 --- a/src/tbf_dl.h +++ b/src/tbf_dl.h @@ -61,7 +61,6 @@ int frames_since_last_drain(unsigned fn) const; bool keep_open(unsigned fn) const; int release(); - int abort(); uint16_t window_size() const; void set_window_size(); void update_coding_scheme_counter_dl(enum CodingScheme cs); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25054 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I30febf4d21a0bfab37524c07598bbb0dd32f7f65 Gerrit-Change-Number: 25054 Gerrit-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 Jul 26 16:50:14 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 26 Jul 2021 16:50:14 +0000 Subject: Change in osmo-pcu[master]: tbf_free: Get rid of uneeded tbf_state transition References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25055 ) Change subject: tbf_free: Get rid of uneeded tbf_state transition ...................................................................... tbf_free: Get rid of uneeded tbf_state transition We are freeing the object immediately afterwards anyway, so no need to pretend it went through the normal state release. Leaving current state as it is actually provides more information on what was the status/state at the time the TBF had to be freed. Change-Id: I3016caaccc2c43e1e300f3c6042d69f8adcd9d69 --- M src/tbf.cpp M tests/alloc/AllocTest.err M tests/app_info/AppInfoTest.err M tests/tbf/TbfTest.err 4 files changed, 49,178 insertions(+), 98,246 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/55/25055/1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25055 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3016caaccc2c43e1e300f3c6042d69f8adcd9d69 Gerrit-Change-Number: 25055 Gerrit-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 Jul 26 17:19:58 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 26 Jul 2021 17:19:58 +0000 Subject: Change in libosmocore[master]: gb/bssgp: Abort clearly if backward-compat API is used in wrong way In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25043 ) Change subject: gb/bssgp: Abort clearly if backward-compat API is used in wrong way ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25043 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3ea42755c4bfd29e4a01ad57f186f28d58ab466a Gerrit-Change-Number: 25043 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Mon, 26 Jul 2021 17:19:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 26 17:23:16 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 26 Jul 2021 17:23:16 +0000 Subject: Change in osmo-pcu[master]: tests/tbf: Fix null pointer access if slowly stepping with gdb In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25044 ) Change subject: tests/tbf: Fix null pointer access if slowly stepping with gdb ...................................................................... Patch Set 2: Code-Review+2 1+1=2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25044 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iee5bcf21afc8980a14f90f5b1ead6d2460a244ea Gerrit-Change-Number: 25044 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Mon, 26 Jul 2021 17:23: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 Jul 26 22:00:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 26 Jul 2021 22:00:47 +0000 Subject: Change in libosmocore[master]: cosmetic: gb/gprs_ns.c: fix trailing whitespace In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25042 ) Change subject: cosmetic: gb/gprs_ns.c: fix trailing whitespace ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25042 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I842efdb93c9b480d5ab35c78b0bc60697262874a Gerrit-Change-Number: 25042 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 26 Jul 2021 22:00: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 Jul 26 22:00:50 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 26 Jul 2021 22:00:50 +0000 Subject: Change in libosmocore[master]: cosmetic: gb/gprs_ns.c: fix trailing whitespace In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25042 ) Change subject: cosmetic: gb/gprs_ns.c: fix trailing whitespace ...................................................................... cosmetic: gb/gprs_ns.c: fix trailing whitespace Change-Id: I842efdb93c9b480d5ab35c78b0bc60697262874a --- M src/gb/gprs_ns.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/gb/gprs_ns.c b/src/gb/gprs_ns.c index 6046dea..9f5df8f 100644 --- a/src/gb/gprs_ns.c +++ b/src/gb/gprs_ns.c @@ -29,7 +29,7 @@ * @{ * * GPRS Networks Service (NS) messages on the Gb interface - * 3GPP TS 08.16 version 8.0.1 Release 1999 / ETSI TS 101 299 V8.0.1 (2002-05) + * 3GPP TS 08.16 version 8.0.1 Release 1999 / ETSI TS 101 299 V8.0.1 (2002-05) * * Some introduction into NS: NS is used typically on top of frame relay, * but in the ip.access world it is encapsulated in UDP packets. It serves @@ -1076,7 +1076,7 @@ * 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 + * Section 9.2.10: transmit side / NS-UNITDATA-REQUEST primitive */ int gprs_ns_sendmsg(struct gprs_ns_inst *nsi, struct msgb *msg) { -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25042 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I842efdb93c9b480d5ab35c78b0bc60697262874a Gerrit-Change-Number: 25042 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 Jul 26 22:00:50 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 26 Jul 2021 22:00:50 +0000 Subject: Change in libosmocore[master]: gb/bssgp: Abort clearly if backward-compat API is used in wrong way In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25043 ) Change subject: gb/bssgp: Abort clearly if backward-compat API is used in wrong way ...................................................................... gb/bssgp: Abort clearly if backward-compat API is used in wrong way Some tests under osmo-pcu (TbfTest) were caught accessning NULL pointer bssgp_nsi in bssgp_tx_llc_discarded triggered by timeout while stepping slowly with the debugger. It seems that test is not properly using neither the old nor the new API. Let's catch such cases easily. Change-Id: I3ea42755c4bfd29e4a01ad57f186f28d58ab466a --- M src/gb/gprs_bssgp.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: daniel: Looks good to me, but someone else must approve lynxis lazus: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gb/gprs_bssgp.c b/src/gb/gprs_bssgp.c index 14a5e9d..c967f73 100644 --- a/src/gb/gprs_bssgp.c +++ b/src/gb/gprs_bssgp.c @@ -77,6 +77,7 @@ /* callback to be backward compatible with old users which do not set the bssgp_ns_send function */ static int _gprs_ns_sendmsg(void *ctx, struct msgb *msg) { + OSMO_ASSERT(bssgp_nsi); return gprs_ns_sendmsg(bssgp_nsi, msg); } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25043 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3ea42755c4bfd29e4a01ad57f186f28d58ab466a Gerrit-Change-Number: 25043 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Jul 26 22:01:03 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 26 Jul 2021 22:01:03 +0000 Subject: Change in osmo-pcu[master]: tests/tbf: Fix null pointer access if slowly stepping with gdb In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25044 ) Change subject: tests/tbf: Fix null pointer access if slowly stepping with gdb ...................................................................... tests/tbf: Fix null pointer access if slowly stepping with gdb When slowly debugging test_tbf_dl_llc_loss, bssgp_tx_llc_discarded() may trigger, submitting events to the libosmogb code. Since it didn't properly set up the callback, it would end up in a null pointer dereference when lib code tried to use backward-compatible API (which was neither set up properly). """ TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) Discarding LLC PDU because lifetime limit reached, count=3 new_queue_size=0 BSSGP (BVCI=2234) Tx LLC-DISCARDED TLLI=0xc0123456, FRAMES=3, OCTETS=57 /git/libosmocore/src/gb/gprs_ns.c:271:2: runtime error: member access within null pointer of type 'struct gprs_ns_inst' """ """ (gdb) bt #0 0x00007ffff729cac0 in gprs_active_nsvc_by_nsei (nsi=nsi at entry=0x0, nsei=2234, bvci=bvci at entry=0) at /git/libosmocore/src/gb/gprs_ns.c:271 #1 0x00007ffff72b1fec in gprs_ns_sendmsg (nsi=0x0, msg=0x621000000160) at /git/libosmocore/src/gb/gprs_ns.c:1087 #2 0x00007ffff72d1803 in _gprs_ns_sendmsg (ctx=, msg=) at /git/libosmocore/src/gb/gprs_bssgp.c:80 #3 0x00007ffff730226f in bssgp_tx_llc_discarded (bctx=, tlli=, num_frames=, num_octets=) at /git/libosmocore/src/gb/gprs_bssgp_bss.c:249 #4 0x000055555588243e in gprs_rlcmac_dl_tbf::llc_dequeue (this=0x7ffff1622860, bctx=) at /git/osmo-pcu/src/tbf_dl.cpp:413 """ Change-Id: Iee5bcf21afc8980a14f90f5b1ead6d2460a244ea --- M tests/tbf/TbfTest.cpp 1 file changed, 41 insertions(+), 29 deletions(-) Approvals: daniel: Looks good to me, but someone else must approve lynxis lazus: Looks good to me, approved Jenkins Builder: Verified diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index 5065e90..aa7ab46 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -58,6 +58,18 @@ /* Measurements shared by all unit tests */ static struct pcu_l1_meas meas; +int gprs_gp_send_test_cb(void *ctx, struct msgb *msg) +{ + return 0; +} + +static gprs_pcu *prepare_pcu(void) +{ + struct gprs_pcu *pcu = gprs_pcu_alloc(tall_pcu_ctx); + bssgp_set_bssgp_callback(gprs_gp_send_test_cb, NULL); + return pcu; +} + static int bts_handle_rach(struct gprs_rlcmac_bts *bts, uint16_t ra, uint32_t Fn, int16_t qta) { struct rach_ind_params rip = { @@ -95,7 +107,7 @@ static void test_tbf_tlli_update() { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); GprsMs *ms, *ms_new; @@ -248,7 +260,7 @@ static void test_tbf_final_ack(enum test_tbf_final_ack_mode test_mode) { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); uint8_t ts_no = 4; unsigned i; @@ -333,7 +345,7 @@ static void test_tbf_delayed_release() { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); uint8_t ts_no = 4; unsigned i; @@ -403,7 +415,7 @@ static void test_tbf_imsi() { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); uint8_t ts_no = 4; uint8_t ms_class = 45; @@ -464,7 +476,7 @@ static void test_tbf_exhaustion() { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); unsigned i; uint8_t ts_no = 4; @@ -507,7 +519,7 @@ static void test_tbf_dl_llc_loss() { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); uint8_t ts_no = 4; uint8_t ms_class = 45; @@ -1714,7 +1726,7 @@ static void test_tbf_single_phase() { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); int ts_no = 7; uint32_t fn = DUMMY_FN; /* 17,25,9 */ @@ -1738,7 +1750,7 @@ static void test_tbf_egprs_two_phase_puan(void) { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); int ts_no = 7; uint32_t fn = 2654218; @@ -1793,7 +1805,7 @@ */ static void test_immediate_assign_rej_single_block() { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); uint32_t fn = 2654218; uint16_t qta = 31; @@ -1826,7 +1838,7 @@ */ static void test_immediate_assign_rej_multi_block() { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); uint32_t fn = 2654218; uint16_t qta = 31; @@ -1867,7 +1879,7 @@ static void test_tbf_two_phase() { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); int ts_no = 7; uint32_t fn = 2654218; @@ -1899,7 +1911,7 @@ static void test_tbf_ra_update_rach() { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); int ts_no = 7; uint32_t fn = 2654218; @@ -1972,7 +1984,7 @@ static void test_tbf_dl_flow_and_rach_two_phase() { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); int ts_no = 7; uint32_t fn = 2654218; @@ -2033,7 +2045,7 @@ static void test_tbf_dl_flow_and_rach_single_phase() { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); int ts_no = 7; uint32_t fn = 2654218; @@ -2093,7 +2105,7 @@ static void test_tbf_dl_reuse() { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); int ts_no = 7; uint32_t fn = 2654218; @@ -2193,7 +2205,7 @@ static void test_tbf_gprs_egprs() { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); uint8_t ts_no = 4; uint8_t ms_class = 45; @@ -2260,7 +2272,7 @@ static void test_tbf_ws() { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); GprsMs *ms; uint8_t ts_no = 4; @@ -2305,7 +2317,7 @@ static void test_tbf_update_ws(void) { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); GprsMs *ms; uint8_t ts_no = 4; @@ -2349,7 +2361,7 @@ static void test_tbf_puan_urbb_len(void) { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); int ts_no = 7; uint32_t fn = 2654218; @@ -2488,7 +2500,7 @@ static void test_tbf_li_decoding(void) { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); int ts_no = 7; uint32_t fn = 2654218; @@ -2524,7 +2536,7 @@ */ static void test_tbf_epdan_out_of_rx_window(void) { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); uint8_t ms_class = 11; uint8_t egprs_ms_class = 11; @@ -2615,7 +2627,7 @@ static void test_tbf_egprs_two_phase_spb(void) { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); int ts_no = 7; uint32_t fn = 2654218; @@ -2646,7 +2658,7 @@ static void test_tbf_egprs_two_phase() { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); int ts_no = 7; uint32_t fn = 2654218; @@ -3074,7 +3086,7 @@ static void test_tbf_egprs_retx_dl(void) { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); uint8_t ts_no = 4; @@ -3102,7 +3114,7 @@ static void test_tbf_egprs_spb_dl(void) { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); uint8_t ts_no = 4; @@ -3132,7 +3144,7 @@ static void test_tbf_egprs_dl() { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); uint8_t ts_no = 4; int i; @@ -3155,7 +3167,7 @@ static void test_packet_access_rej_prr_no_other_tbfs() { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); uint32_t fn = 2654218; int ts_no = 7; @@ -3192,7 +3204,7 @@ static void test_packet_access_rej_prr() { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); uint32_t fn = 2654218; uint16_t qta = 31; @@ -3262,7 +3274,7 @@ void test_packet_access_rej_epdan() { - the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + the_pcu = prepare_pcu(); struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); uint32_t tlli = 0xffeeddcc; static uint8_t exp[] = { 0x40, 0x84, 0x7f, 0xf7, 0x6e, 0xe6, 0x7e, 0xab, -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25044 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iee5bcf21afc8980a14f90f5b1ead6d2460a244ea Gerrit-Change-Number: 25044 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Tue Jul 27 00:37:05 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 27 Jul 2021 00:37:05 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-netif in Debian_8.0/i586 In-Reply-To: References: Message-ID: <60ff5548bb261_6aa32af7b019a5f0390047@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-netif/Debian_8.0/i586 Package network:osmocom:nightly/libosmo-netif failed to build in Debian_8.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-netif Last lines of build log: [ 106s] +{11.000015} [NA|OK] Server's read_cb_srv(): sent 11 bytes message: 72 65 61 64 5f 63 62 5f 73 72 76 [ 106s] +{11.000015} [OK|OK] Server's read_cb_srv(): keep initial client connection [ 106s] +{11.000017} [NA] Client's read_cb_cli(): callback triggered [ 106s] +{11.000017} [NA] Client's read_cb_cli(): received 11(11) bytes: 72 65 61 64 5f 63 62 5f 73 72 76 [ 106s] +{11.000017} [NA] Client's read_cb_cli(): initial read, contacting server [ 106s] +{11.000017} [OK] Client's read_cb_cli(): sent 29 bytes message: 44 6f 68 2c 20 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 73 65 72 76 65 72 20 3a 2d 44 [ 106s] +{11.000019} [OK|OK] Server's read_cb_srv(): callback triggered [ 106s] +{11.000019} [OK|OK] Server's read_cb_srv(): received 29(29) bytes: 44 6f 68 2c 20 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 73 65 72 76 65 72 20 3a 2d 44 [ 106s] +{11.000019} [OK|OK] Server's read_cb_srv(): sent 11 bytes message: 72 65 61 64 5f 63 62 5f 73 72 76 [ 106s] +{11.000019} [OK|OK] Server's read_cb_srv(): force client disconnect on subsequent call [ 106s] +{11.000020} [OK] Client's read_cb_cli(): callback triggered [ 106s] +{11.000020} [OK] Client's read_cb_cli(): 0-byte read, auto-reconnect will be triggered if enabled [ 106s] +{20.000020} non-reconnecting test complete. [ 106s] [ 106s] Stream tests completed [ 106s] 1. testsuite.at:4: 1. stream_test (testsuite.at:4): FAILED (testsuite.at:8) [ 106s] debian/rules:27: recipe for target 'override_dh_auto_test' failed [ 106s] make[1]: *** [override_dh_auto_test] Error 1 [ 106s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 106s] debian/rules:13: recipe for target 'build' failed [ 106s] make: *** [build] Error 2 [ 106s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 106s] ### VM INTERACTION START ### [ 106s] Powering off. [ 106s] [ 97.643858] reboot: Power down [ 107s] ### VM INTERACTION END ### [ 107s] [ 107s] sheep83 failed "build libosmo-netif_1.1.0.202107270026.dsc" at Tue Jul 27 00:36:50 UTC 2021. [ 107s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue Jul 27 06:58:34 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 27 Jul 2021 06:58:34 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy_ctrl: Ignore SIG-BVCI in ctrl commands In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24965 ) Change subject: gbproxy_ctrl: Ignore SIG-BVCI in ctrl commands ...................................................................... Patch Set 1: ping -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24965 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: Ida5f9ad0a16b991e77eec0e3cdb779dcfa472fab Gerrit-Change-Number: 24965 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 27 Jul 2021 06:58:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 06:58:43 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 27 Jul 2021 06:58:43 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy_ctrl: Fix crash in nsvc-state ctrl command In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24964 ) Change subject: gbproxy_ctrl: Fix crash in nsvc-state ctrl command ...................................................................... Patch Set 1: ping -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24964 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I8bc67cc9bc90dab9cfca30b062d1d78897aa1e51 Gerrit-Change-Number: 24964 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 27 Jul 2021 06:58:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 07:25:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 27 Jul 2021 07:25:04 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy_ctrl: Fix crash in nsvc-state ctrl command In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24964 ) Change subject: gbproxy_ctrl: Fix crash in nsvc-state ctrl command ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24964 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I8bc67cc9bc90dab9cfca30b062d1d78897aa1e51 Gerrit-Change-Number: 24964 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 27 Jul 2021 07: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 Tue Jul 27 07:25:12 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 27 Jul 2021 07:25:12 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy_ctrl: Ignore SIG-BVCI in ctrl commands In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24965 ) Change subject: gbproxy_ctrl: Ignore SIG-BVCI in ctrl commands ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24965 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: Ida5f9ad0a16b991e77eec0e3cdb779dcfa472fab Gerrit-Change-Number: 24965 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 27 Jul 2021 07: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 Jul 27 07:25:15 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 27 Jul 2021 07:25:15 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy_ctrl: Fix crash in nsvc-state ctrl command In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24964 ) Change subject: gbproxy_ctrl: Fix crash in nsvc-state ctrl command ...................................................................... gbproxy_ctrl: Fix crash in nsvc-state ctrl command ctrl_nsvc_state_cb() expects us to pass a struct nsvc_cb_data so do that instead of passing only the ctrl_cmd. Related: OS#5200, SYS#5542 Change-Id: I8bc67cc9bc90dab9cfca30b062d1d78897aa1e51 --- M src/gb_proxy_ctrl.c 1 file changed, 16 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/gb_proxy_ctrl.c b/src/gb_proxy_ctrl.c index 35ef81b..99dcbe1 100644 --- a/src/gb_proxy_ctrl.c +++ b/src/gb_proxy_ctrl.c @@ -64,15 +64,27 @@ /* NS-VCs for SGSN */ hash_for_each(cfg->sgsn_nses, i, nse_peer, list) { nse = gprs_ns2_nse_by_nsei(nsi, nse_peer->nsei); - if (nse) - gprs_ns2_nse_foreach_nsvc(nse, &ctrl_nsvc_state_cb, cmd); + if (nse) { + struct nsvc_cb_data cb_data = { + .cmd = cmd, + .nsei = nse_peer->nsei, + .is_sgsn = true, + }; + gprs_ns2_nse_foreach_nsvc(nse, &ctrl_nsvc_state_cb, &cb_data); + } } /* NS-VCs for BSS peers */ hash_for_each(cfg->bss_nses, i, nse_peer, list) { nse = gprs_ns2_nse_by_nsei(nsi, nse_peer->nsei); - if (nse) - gprs_ns2_nse_foreach_nsvc(nse, &ctrl_nsvc_state_cb, cmd); + if (nse) { + struct nsvc_cb_data cb_data = { + .cmd = cmd, + .nsei = nse_peer->nsei, + .is_sgsn = true, + }; + gprs_ns2_nse_foreach_nsvc(nse, &ctrl_nsvc_state_cb, &cb_data); + } } return CTRL_CMD_REPLY; -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24964 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I8bc67cc9bc90dab9cfca30b062d1d78897aa1e51 Gerrit-Change-Number: 24964 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 07:25:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 27 Jul 2021 07:25:16 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy_ctrl: Ignore SIG-BVCI in ctrl commands In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/24965 ) Change subject: gbproxy_ctrl: Ignore SIG-BVCI in ctrl commands ...................................................................... gbproxy_ctrl: Ignore SIG-BVCI in ctrl commands Both ctrl commands gbproxy-state and number-of-peers should only operate on PtP-BVCs. This patch avoids a crash in gbproxy-state and fixes the count of number-of-peers to only include PtP-BVCs. Related: SYS#5542, OS#5200 Change-Id: Ida5f9ad0a16b991e77eec0e3cdb779dcfa472fab --- M src/gb_proxy_ctrl.c 1 file changed, 7 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/gb_proxy_ctrl.c b/src/gb_proxy_ctrl.c index 99dcbe1..1d51d22 100644 --- a/src/gb_proxy_ctrl.c +++ b/src/gb_proxy_ctrl.c @@ -103,6 +103,9 @@ hash_for_each(cfg->bss_nses, i, nse_peer, list) { struct gbproxy_bvc *bvc; hash_for_each(nse_peer->bvcs, j, bvc, list) { + if (bvc->bvci == 0) + continue; + struct gprs_ra_id *raid = &bvc->cell->id.raid; cmd->reply = talloc_asprintf_append(cmd->reply, "%u,%u,%u-%u-%u-%u,%s\n", @@ -127,8 +130,11 @@ int i, j; hash_for_each(cfg->bss_nses, i, nse_peer, list) { - hash_for_each(nse_peer->bvcs, j, bvc, list) + hash_for_each(nse_peer->bvcs, j, bvc, list) { + if (bvc->bvci == 0) + continue; count++; + } } cmd->reply = talloc_strdup(cmd, ""); -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/24965 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: Ida5f9ad0a16b991e77eec0e3cdb779dcfa472fab Gerrit-Change-Number: 24965 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 07:26:08 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 27 Jul 2021 07:26:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: stp: fix TC_rkm_unreg_registered In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25027 ) Change subject: stp: fix TC_rkm_unreg_registered ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25027 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7d2f9eb298778a8e60c7e73f314bc73528e85406 Gerrit-Change-Number: 25027 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 27 Jul 2021 07: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 Tue Jul 27 07:26:19 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 27 Jul 2021 07:26:19 +0000 Subject: Change in osmo-ttcn3-hacks[master]: stp: fix TC_rkm_unreg_active In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25028 ) Change subject: stp: fix TC_rkm_unreg_active ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25028 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I31fcba85d23a8767eb0ceb513ff5b440558a475b Gerrit-Change-Number: 25028 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 27 Jul 2021 07:26: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 Tue Jul 27 07:26:21 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 27 Jul 2021 07:26:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: stp: fix TC_rkm_unreg_registered In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25027 ) Change subject: stp: fix TC_rkm_unreg_registered ...................................................................... stp: fix TC_rkm_unreg_registered Create the routing key dynamically, before trying to unregister it. The previous version tried to unregister a statically configured routing key, as in TC_rkm_unreg_never_registered, but expected success instead of the proper ERR_NOT_REG. So after fixing osmo-stp to make TC_rkm_unreg_never_registered pass, this test failed. Related: OS#4239 Change-Id: I7d2f9eb298778a8e60c7e73f314bc73528e85406 --- M stp/STP_Tests_M3UA.ttcn 1 file changed, 14 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/stp/STP_Tests_M3UA.ttcn b/stp/STP_Tests_M3UA.ttcn index dfa82a2..0bc398d 100644 --- a/stp/STP_Tests_M3UA.ttcn +++ b/stp/STP_Tests_M3UA.ttcn @@ -615,11 +615,23 @@ f_clear_m3ua(); } -/* try to de-register a routing key that was registered -> OK*/ +/* try to de-register a routing key that was registered -> OK */ testcase TC_rkm_unreg_registered() runs on RAW_M3UA_CT { + var OCT3 dpc := int2oct(123, 3); + var OCT4 rctx := int2oct(1234, 4); + + f_init_common(); + f_vty_config2(VTY, {"cs7 instance 0"}, "xua rkm routing-key-allocation dynamic-permitted"); f_init_m3ua(); - f_M3UA_send(0, ts_M3UA_DEREG_REQ(ts_M3UA_routing_ctx(int2oct(mp_m3ua_configs[0].routing_ctx,4)))); + + /* first register the routing key */ + f_M3UA_rkm_register(id:='30000099'O, dpc:=dpc, rctx:=rctx); + + /* then try to de-register */ + f_M3UA_send(0, ts_M3UA_DEREG_REQ(ts_M3UA_routing_ctx(rctx))); f_M3UA_exp(0, tr_M3UA_DEREG_RSP({tr_M3UA_dereg_res(?,c_m3UA_DEREGSTS_SUCCESS)})); + + f_vty_config2(VTY, {"cs7 instance 0"}, "xua rkm routing-key-allocation static-only"); f_clear_m3ua(); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25027 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7d2f9eb298778a8e60c7e73f314bc73528e85406 Gerrit-Change-Number: 25027 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 07:26:22 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 27 Jul 2021 07:26:22 +0000 Subject: Change in osmo-ttcn3-hacks[master]: stp: fix TC_rkm_unreg_active In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25028 ) Change subject: stp: fix TC_rkm_unreg_active ...................................................................... stp: fix TC_rkm_unreg_active Create the routing key dynamically, before trying to unregister it, so osmo-stp doesn't answer with ERR_NOT_REG instead of the expected ERR_ASP_ACTIVE. While at it, add missing clean up logic. Related: OS#4239 Change-Id: I31fcba85d23a8767eb0ceb513ff5b440558a475b --- M stp/STP_Tests_M3UA.ttcn 1 file changed, 16 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/stp/STP_Tests_M3UA.ttcn b/stp/STP_Tests_M3UA.ttcn index 0bc398d..13703d0 100644 --- a/stp/STP_Tests_M3UA.ttcn +++ b/stp/STP_Tests_M3UA.ttcn @@ -637,9 +637,11 @@ /* try to de-register a routing key for an active ASP -> ERROR */ testcase TC_rkm_unreg_active() runs on RAW_M3UA_CT { - var OCT3 dpc := int2oct(mp_m3ua_configs[0].point_code, 3); // must match config - var OCT4 rctx := int2oct(mp_m3ua_configs[0].routing_ctx, 4); // must match config + var OCT3 dpc := int2oct(123, 3); + var OCT4 rctx := int2oct(1234, 4); + f_init_common(); + f_vty_config2(VTY, {"cs7 instance 0"}, "xua rkm routing-key-allocation dynamic-permitted"); f_init_m3ua(); /* first register the routing key */ @@ -647,12 +649,22 @@ /* then activate the ASP */ f_M3UA_asp_up_act(0); + f_M3UA_exp(0, tr_M3UA_DAVA({*}, rctx)); + f_M3UA_exp(0, tr_M3UA_NOTIFY(c_M3UA_ST_T_STATE_CHG, c_M3UA_ST_I_AS_ACTIVE, *)); + f_M3UA_exp(0, tr_M3UA_DAVA({*}, *)); - /* then try to de-regsiter */ + /* then try to de-register -> ERR_ASP_ACTIVE */ f_M3UA_send(0, ts_M3UA_DEREG_REQ(ts_M3UA_routing_ctx(rctx))); f_M3UA_exp(0, tr_M3UA_DEREG_RSP({tr_M3UA_dereg_res(?,c_m3UA_DEREGSTS_ERR_ASP_ACTIVE)})); - /* FIXME: we now may have changed the state on the STP side! */ + /* deactivate ASP and properly de-register to clean up */ + f_M3UA_asp_inact(0); + f_M3UA_send(0, ts_M3UA_DEREG_REQ(ts_M3UA_routing_ctx(rctx))); + f_M3UA_exp(0, tr_M3UA_NOTIFY(c_M3UA_ST_T_STATE_CHG, c_M3UA_ST_I_AS_PENDING, *)); + f_M3UA_exp(0, tr_M3UA_NOTIFY(c_M3UA_ST_T_STATE_CHG, c_M3UA_ST_I_AS_PENDING, *)); + f_M3UA_exp(0, tr_M3UA_DEREG_RSP({tr_M3UA_dereg_res(?,c_m3UA_DEREGSTS_SUCCESS)})); + + f_vty_config2(VTY, {"cs7 instance 0"}, "xua rkm routing-key-allocation static-only"); f_clear_m3ua(); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25028 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I31fcba85d23a8767eb0ceb513ff5b440558a475b Gerrit-Change-Number: 25028 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 07:26:47 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 27 Jul 2021 07:26:47 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: properly f_rslem_unregister() released channels In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25014 ) Change subject: bsc: properly f_rslem_unregister() released channels ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25014 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I764ea2ed9af9358adeb42d7ed46b84f30f1e224c Gerrit-Change-Number: 25014 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 27 Jul 2021 07:26:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 07:27:09 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 27 Jul 2021 07:27:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: f_expect_dlcx_conns(): do not rx Clear Complete In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25015 ) Change subject: bsc: f_expect_dlcx_conns(): do not rx Clear Complete ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25015 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I637414f4db8ea7c4b59aaee205d65926574b5ccd Gerrit-Change-Number: 25015 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 27 Jul 2021 07:27: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 Jul 27 07:27:37 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 27 Jul 2021 07:27:37 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add RSL port args in MSC_ConnHdlr, RSLEM In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25016 ) Change subject: bsc: add RSL port args in MSC_ConnHdlr, RSLEM ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25016 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic3206b7125ee22bf98330080d9b136cefe7da03f Gerrit-Change-Number: 25016 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 27 Jul 2021 07:27:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 07:28:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 27 Jul 2021 07:28:04 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add RSL, RSL_PROC port args in various places In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25017 ) Change subject: bsc: add RSL, RSL_PROC port args in various places ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25017 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia14f46d4e5e8d4722224b97c346c0cb7973fff97 Gerrit-Change-Number: 25017 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 27 Jul 2021 07: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 Tue Jul 27 07:28:20 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 27 Jul 2021 07:28:20 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: expect proper chan_nr for various RSL_MT_RF_CHAN_REL In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25018 ) Change subject: bsc: expect proper chan_nr for various RSL_MT_RF_CHAN_REL ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25018 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I002c9273a387104bea062dec8879b4e19a72008d Gerrit-Change-Number: 25018 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 27 Jul 2021 07: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 Tue Jul 27 07:28:26 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 27 Jul 2021 07:28:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: properly f_rslem_unregister() released channels In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25014 ) Change subject: bsc: properly f_rslem_unregister() released channels ...................................................................... bsc: properly f_rslem_unregister() released channels After the RSL RF Release has happened, by definition the RSL_Emulation should no longer direct RSL messages on that chan_nr to the test component that used to own the chan_nr in the ConnectionTable. Before this patch, re-using e.g. an already freed SDCCH would result in non-obvious test failure. This is most relevant for generic functions called from various tests, but fixing all occurences anyway. Related: SYS#5130 Change-Id: I764ea2ed9af9358adeb42d7ed46b84f30f1e224c --- M bsc/BSC_Tests.ttcn 1 file changed, 7 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/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 47e2ad9..2012346 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -5041,10 +5041,12 @@ [] RSL.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) {} [] RSL.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) { RSL.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr)); + f_rslem_unregister(0, g_chan_nr); } [] RSL1.receive(tr_RSL_DEACT_SACCH(new_chan_nr)) {} [] RSL1.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) { RSL1.send(ts_RSL_RF_CHAN_REL_ACK(new_chan_nr)); + f_rslem_unregister(0, g_chan_nr, PT := RSL1_PROC); } [] BSSAP.receive(tr_BSSMAP_ClearComplete) {} } @@ -5426,6 +5428,7 @@ [] RSL.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) { log("Got RF Chan Rel"); RSL.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr)); + f_rslem_unregister(0, g_chan_nr); } } @@ -7216,6 +7219,7 @@ [] rsl.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) { f_logp(BSCVTY, "Got RSL RF Chan Rel, sending Rel Ack"); rsl.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr)); + f_rslem_unregister(0, g_chan_nr); break; } } @@ -7240,6 +7244,7 @@ [] rsl.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) { f_logp(BSCVTY, "Got RSL RF Chan Rel, sending Rel Ack"); rsl.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr)); + f_rslem_unregister(0, g_chan_nr); } } } @@ -9198,6 +9203,7 @@ [] RSL.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) { f_logp(BSCVTY, "Got RSL RF Chan Rel, sending Rel Ack"); RSL.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr)); + f_rslem_unregister(0, g_chan_nr); } } setverdict(pass); @@ -9374,6 +9380,7 @@ [] RSL.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) {} [] RSL.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) { RSL.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr)); + f_rslem_unregister(0, g_chan_nr); } [] BSSAP.receive(tr_BSSMAP_ClearComplete) { BSSAP.send(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_REQ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25014 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I764ea2ed9af9358adeb42d7ed46b84f30f1e224c Gerrit-Change-Number: 25014 Gerrit-PatchSet: 4 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 Jul 27 07:28:26 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 27 Jul 2021 07:28:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: f_expect_dlcx_conns(): do not rx Clear Complete In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25015 ) Change subject: bsc: f_expect_dlcx_conns(): do not rx Clear Complete ...................................................................... bsc: f_expect_dlcx_conns(): do not rx Clear Complete The function f_expect_dlcx_conns() is clearly related to MGCP, and semantically should not interfere with BSSAP by also receiving the Clear Complete. For some tests, this incidentally makes sense, but an upcoming test failed in a non-obvious way because of this. Related: SYS#5130 Change-Id: I637414f4db8ea7c4b59aaee205d65926574b5ccd --- M bsc/BSC_Tests.ttcn 1 file changed, 10 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 2012346..dc3df66 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -5106,8 +5106,6 @@ MGCP_MULTI.send(t_MGCP_SendToMrf(mrf, msg_resp)); }; } - - BSSAP.receive(tr_BSSMAP_ClearComplete); } private function f_ho_out_of_this_bsc(template (omit) BSSMAP_oldToNewBSSIEs exp_oldToNewBSSIEs := omit) runs on MSC_ConnHdlr { @@ -5160,6 +5158,7 @@ [] RSL.receive(tr_RSL_DATA_REQ(g_chan_nr, ?, decmatch tr_RRM_RR_RELEASE)); [] RSL.receive(tr_RSL_DEACT_SACCH(g_chan_nr)); [] RSL.receive(tr_RSL_RF_CHAN_REL(g_chan_nr)); + [] BSSAP.receive(tr_BSSMAP_ClearComplete); } setverdict(pass); } @@ -5433,6 +5432,7 @@ } f_expect_dlcx_conns(); + BSSAP.receive(tr_BSSMAP_ClearComplete); setverdict(pass); f_sleep(1.0); @@ -5743,6 +5743,8 @@ BSSAP.send(ts_BSSMAP_ClearCommand(cause)); f_expect_dlcx_conns(); + BSSAP.receive(tr_BSSMAP_ClearComplete); + setverdict(pass); f_sleep(1.0); @@ -5834,6 +5836,8 @@ BSSAP.send(ts_BSSMAP_ClearCommand(cause)); f_expect_dlcx_conns(); + BSSAP.receive(tr_BSSMAP_ClearComplete); + f_sleep(1.0); } testcase TC_ho_in_fail_msc_clears_after_ho_detect() runs on test_CT { @@ -5921,6 +5925,8 @@ BSSAP.send(ts_BSSMAP_ClearCommand(cause)); f_expect_dlcx_conns(); + BSSAP.receive(tr_BSSMAP_ClearComplete); + f_sleep(1.0); } testcase TC_ho_in_fail_no_detect() runs on test_CT { @@ -6000,6 +6006,8 @@ BSSAP.send(ts_BSSMAP_ClearCommand(cause)); }; f_expect_dlcx_conns(); + BSSAP.receive(tr_BSSMAP_ClearComplete); + f_sleep(1.0); } testcase TC_ho_in_fail_no_detect2() runs on test_CT { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25015 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I637414f4db8ea7c4b59aaee205d65926574b5ccd Gerrit-Change-Number: 25015 Gerrit-PatchSet: 4 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 Jul 27 07:28:27 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 27 Jul 2021 07:28:27 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add RSL port args in MSC_ConnHdlr, RSLEM In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25016 ) Change subject: bsc: add RSL port args in MSC_ConnHdlr, RSLEM ...................................................................... bsc: add RSL port args in MSC_ConnHdlr, RSLEM Add explicit RSL_DCHAN_PT and RSLEM_PROC_PT args to functions and altsteps related to channel establishment and assignment. This allows establishing and assigning a channel on cells other than bts 0. This is required for upcoming BSC_Tests.TC_cm_reestablishment(). Related: SYS#5130 Change-Id: Ic3206b7125ee22bf98330080d9b136cefe7da03f --- M bsc/MSC_ConnectionHandler.ttcn M library/RSL_Emulation.ttcn 2 files changed, 37 insertions(+), 36 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index fc12307..af93343 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -187,11 +187,11 @@ /* altstep for handling of IPACC media related commands. Activated by as_Media() to test * RSL level media handling */ -altstep as_Media_ipacc() runs on MSC_ConnHdlr { +altstep as_Media_ipacc(RSL_DCHAN_PT rsl_pt := RSL, RSL_DCHAN_PT rsl_pt_ho_target := RSL1) runs on MSC_ConnHdlr { var RSL_Message rsl; var RSL_IE_Body ie; var boolean b_unused; - [not g_media.bts.ipa_crcx_seen] RSL.receive(tr_RSL_IPA_CRCX(g_chan_nr)) -> value rsl { + [not g_media.bts.ipa_crcx_seen] rsl_pt.receive(tr_RSL_IPA_CRCX(g_chan_nr)) -> value rsl { /* Extract parameters from request + use in response */ if (f_rsl_find_ie(rsl, RSL_IE_IPAC_RTP_PAYLOAD, ie)) { g_media.bts.rtp_pt := ie.ipa_rtp_pt; @@ -199,14 +199,14 @@ if (f_rsl_find_ie(rsl, RSL_IE_IPAC_RTP_PAYLOAD2, ie)) { g_media.bts.rtp_pt := ie.ipa_rtp_pt2; } - RSL.send(ts_RSL_IPA_CRCX_ACK(g_chan_nr, g_media.bts.conn_id, + rsl_pt.send(ts_RSL_IPA_CRCX_ACK(g_chan_nr, g_media.bts.conn_id, f_inet_addr(g_media.bts.bts.host), g_media.bts.bts.port_nr, g_media.bts.rtp_pt)); g_media.bts.ipa_crcx_seen := true; repeat; } - [g_media.bts.ipa_crcx_seen] RSL.receive(tr_RSL_IPA_MDCX(g_chan_nr, ?)) -> value rsl{ + [g_media.bts.ipa_crcx_seen] rsl_pt.receive(tr_RSL_IPA_MDCX(g_chan_nr, ?)) -> value rsl{ /* Extract conn_id, ip, port, rtp_pt2 from request + use in response */ b_unused := f_rsl_find_ie(rsl, RSL_IE_IPAC_CONN_ID, ie); if (g_media.bts.conn_id != ie.ipa_conn_id) { @@ -224,7 +224,7 @@ if (f_rsl_find_ie(rsl, RSL_IE_IPAC_RTP_PAYLOAD2, ie)) { g_media.bts.rtp_pt := ie.ipa_rtp_pt2; } - RSL.send(ts_RSL_IPA_MDCX_ACK(g_chan_nr, g_media.bts.conn_id, + rsl_pt.send(ts_RSL_IPA_MDCX_ACK(g_chan_nr, g_media.bts.conn_id, f_inet_addr(g_media.bts.peer.host), g_media.bts.peer.port_nr, g_media.bts.rtp_pt)); @@ -233,7 +233,7 @@ } /* on second (new) BTS during hand-over */ - [not g_media.bts1.ipa_crcx_seen] RSL1.receive(tr_RSL_IPA_CRCX(g_chan_nr)) -> value rsl { + [not g_media.bts1.ipa_crcx_seen] rsl_pt_ho_target.receive(tr_RSL_IPA_CRCX(g_chan_nr)) -> value rsl { /* Extract parameters from request + use in response */ if (f_rsl_find_ie(rsl, RSL_IE_IPAC_RTP_PAYLOAD, ie)) { g_media.bts1.rtp_pt := ie.ipa_rtp_pt; @@ -241,7 +241,7 @@ if (f_rsl_find_ie(rsl, RSL_IE_IPAC_RTP_PAYLOAD2, ie)) { g_media.bts1.rtp_pt := ie.ipa_rtp_pt2; } - RSL1.send(ts_RSL_IPA_CRCX_ACK(g_chan_nr, g_media.bts1.conn_id, + rsl_pt_ho_target.send(ts_RSL_IPA_CRCX_ACK(g_chan_nr, g_media.bts1.conn_id, f_inet_addr(g_media.bts1.bts.host), g_media.bts1.bts.port_nr, g_media.bts1.rtp_pt)); @@ -249,7 +249,7 @@ repeat; } /* on second (new) BTS during hand-over */ - [g_media.bts1.ipa_crcx_seen] RSL1.receive(tr_RSL_IPA_MDCX(g_chan_nr, ?)) -> value rsl{ + [g_media.bts1.ipa_crcx_seen] rsl_pt_ho_target.receive(tr_RSL_IPA_MDCX(g_chan_nr, ?)) -> value rsl{ /* Extract conn_id, ip, port, rtp_pt2 from request + use in response */ b_unused := f_rsl_find_ie(rsl, RSL_IE_IPAC_CONN_ID, ie); if (g_media.bts1.conn_id != ie.ipa_conn_id) { @@ -267,7 +267,7 @@ if (f_rsl_find_ie(rsl, RSL_IE_IPAC_RTP_PAYLOAD2, ie)) { g_media.bts1.rtp_pt := ie.ipa_rtp_pt2; } - RSL1.send(ts_RSL_IPA_MDCX_ACK(g_chan_nr, g_media.bts1.conn_id, + rsl_pt_ho_target.send(ts_RSL_IPA_MDCX_ACK(g_chan_nr, g_media.bts1.conn_id, f_inet_addr(g_media.bts1.peer.host), g_media.bts1.peer.port_nr, g_media.bts1.rtp_pt)); @@ -654,17 +654,17 @@ } function f_rsl_send_l3(template PDU_ML3_MS_NW l3, template (omit) RslLinkId link_id := omit, - template (omit) RslChannelNr chan_nr := omit) runs on MSC_ConnHdlr { + template (omit) RslChannelNr chan_nr := omit, RSL_DCHAN_PT rsl_pt := RSL) runs on MSC_ConnHdlr { if (not isvalue(link_id)) { link_id := ts_RslLinkID_DCCH(0); } if (not isvalue(chan_nr)) { chan_nr := g_chan_nr; } - RSL.send(ts_RSL_DATA_IND(valueof(chan_nr), valueof(link_id), enc_PDU_ML3_MS_NW(valueof(l3)))); + rsl_pt.send(ts_RSL_DATA_IND(valueof(chan_nr), valueof(link_id), enc_PDU_ML3_MS_NW(valueof(l3)))); } -function f_rsl_reply(template PDU_ML3_MS_NW l3, RSL_Message orig) runs on MSC_ConnHdlr { +function f_rsl_reply(template PDU_ML3_MS_NW l3, RSL_Message orig, RSL_DCHAN_PT rsl_pt := RSL) runs on MSC_ConnHdlr { var RslChannelNr chan_nr := orig.ies[0].body.chan_nr; var RslLinkId link_id; if (orig.msg_type == RSL_MT_ENCR_CMD) { @@ -672,7 +672,7 @@ } else { link_id := orig.ies[1].body.link_id; } - f_rsl_send_l3(l3, link_id, chan_nr); + f_rsl_send_l3(l3, link_id, chan_nr, rsl_pt := rsl_pt); } /* Convert the cipher representation on BSSMAP to the representation used on RSL */ @@ -783,7 +783,8 @@ setverdict(pass); } -function f_cipher_mode(TestHdlrEncrParams enc, boolean exp_fail := false) +function f_cipher_mode(TestHdlrEncrParams enc, boolean exp_fail := false, + RSL_DCHAN_PT rsl_pt := RSL, RSLEM_PROC_PT rsl_proc_pt := RSL_PROC) runs on MSC_ConnHdlr { var PDU_BSSAP bssap; var RSL_Message rsl; @@ -796,14 +797,14 @@ alt { /* RSL/UE Side */ - [] RSL.receive(tr_RSL_ENCR_CMD(g_chan_nr)) -> value rsl { + [] rsl_pt.receive(tr_RSL_ENCR_CMD(g_chan_nr)) -> value rsl { var PDU_ML3_NW_MS l3 := dec_PDU_ML3_NW_MS(rsl.ies[3].body.l3_info.payload); log("Rx L3 from net: ", l3); f_verify_encr_info(rsl); if (ischosen(l3.msgs.rrm.cipheringModeCommand)) { - f_rsl_reply(ts_RRM_CiphModeCompl, rsl); + f_rsl_reply(ts_RRM_CiphModeCompl, rsl, rsl_pt := rsl_pt); } repeat; } @@ -956,9 +957,9 @@ return tsc; } -altstep as_assignment(inout AssignmentState st) runs on MSC_ConnHdlr { +altstep as_assignment(inout AssignmentState st, RSL_DCHAN_PT rsl_pt := RSL, RSLEM_PROC_PT rsl_proc_pt := RSL_PROC) runs on MSC_ConnHdlr { var RSL_Message rsl; - [not st.rr_ass_cmpl_seen] RSL.receive(tr_RSL_DATA_REQ(g_chan_nr)) -> value rsl { + [not st.rr_ass_cmpl_seen] rsl_pt.receive(tr_RSL_DATA_REQ(g_chan_nr)) -> value rsl { var PDU_ML3_NW_MS l3 := dec_PDU_ML3_NW_MS(rsl.ies[2].body.l3_info.payload); log("Rx L3 from net: ", l3); if (ischosen(l3.msgs.rrm.assignmentCommand)) { @@ -979,20 +980,20 @@ /* FIXME: Determine TRX NR by ARFCN, instead of hard-coded TRX0! */ /* register our component for this channel number at the RSL Emulation */ - f_rslem_register(0, new_chan_nr); + f_rslem_register(0, new_chan_nr, PT := rsl_proc_pt); /* dispatch queued messages for this channel (if any) */ - f_rslem_dchan_queue_dispatch(); + f_rslem_dchan_queue_dispatch(PT := rsl_proc_pt); var PDU_ML3_MS_NW l3_tx := valueof(ts_RRM_AssignmentComplete('00'O)); /* send assignment complete over the new channel */ - RSL.send(ts_RSL_EST_IND(new_chan_nr, valueof(ts_RslLinkID_DCCH(0)), + rsl_pt.send(ts_RSL_EST_IND(new_chan_nr, valueof(ts_RslLinkID_DCCH(0)), enc_PDU_ML3_MS_NW(l3_tx))); /* by default, send via the new channel from now */ st.old_chan_nr := g_chan_nr; g_chan_nr := new_chan_nr; st.rr_ass_cmpl_seen := true; /* obtain channel activation from RSL_Emulation for new channel */ - var RSL_Message chan_act := f_rslem_get_last_act(RSL_PROC, 0, g_chan_nr); + var RSL_Message chan_act := f_rslem_get_last_act(rsl_proc_pt, 0, g_chan_nr); /* check it (e.g. for correct ciphering parameters) */ f_check_chan_act(st, chan_act); repeat; @@ -1000,20 +1001,20 @@ Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, log2str("Unexpected L3 received", l3)); } } - [st.rr_ass_cmpl_seen] RSL.receive(tr_RSL_DEACT_SACCH(st.old_chan_nr)) { + [st.rr_ass_cmpl_seen] rsl_pt.receive(tr_RSL_DEACT_SACCH(st.old_chan_nr)) { st.old_lchan_deact_sacch_seen := true; repeat; } - [st.rr_ass_cmpl_seen] RSL.receive(tr_RSL_REL_REQ(st.old_chan_nr, tr_RslLinkID_DCCH(0))) { + [st.rr_ass_cmpl_seen] rsl_pt.receive(tr_RSL_REL_REQ(st.old_chan_nr, tr_RslLinkID_DCCH(0))) { st.old_lchan_rll_rel_req_seen := true; - RSL.send(ts_RSL_REL_CONF(st.old_chan_nr, valueof(ts_RslLinkID_DCCH(0)))); + rsl_pt.send(ts_RSL_REL_CONF(st.old_chan_nr, valueof(ts_RslLinkID_DCCH(0)))); repeat; } - [st.rr_ass_cmpl_seen] RSL.receive(tr_RSL_RF_CHAN_REL(st.old_chan_nr)) { - RSL.send(ts_RSL_RF_CHAN_REL_ACK(st.old_chan_nr)); + [st.rr_ass_cmpl_seen] rsl_pt.receive(tr_RSL_RF_CHAN_REL(st.old_chan_nr)) { + rsl_pt.send(ts_RSL_RF_CHAN_REL_ACK(st.old_chan_nr)); /* unregister for old channel number in RSL emulation */ /* FIXME: Determine TRX NR by ARFCN, instead of hard-coded TRX0! */ - f_rslem_unregister(0, st.old_chan_nr); + f_rslem_unregister(0, st.old_chan_nr, PT := rsl_proc_pt); st.assignment_done := true; repeat; } diff --git a/library/RSL_Emulation.ttcn b/library/RSL_Emulation.ttcn index f64329a..969dbce 100644 --- a/library/RSL_Emulation.ttcn +++ b/library/RSL_Emulation.ttcn @@ -109,7 +109,7 @@ * Client Component for a single dedicated channel ***********************************************************************/ -private function f_rx_or_fail(template RSL_Message exp_rx) runs on RSL_DchanHdlr return RSL_Message +private function f_rx_or_fail(template RSL_Message exp_rx, RSL_DCHAN_PT rsl_pt := RSL) runs on RSL_DchanHdlr return RSL_Message { var RSL_Message rx_rsl; timer T := 10.0; @@ -117,11 +117,11 @@ /* request a channel to be established */ T.start; alt { - [] RSL.receive(exp_rx) -> value rx_rsl { + [] rsl_pt.receive(exp_rx) -> value rx_rsl { T.stop; return rx_rsl; } - [] RSL.receive { + [] rsl_pt.receive { setverdict(fail, "Unexpected RSL message on DCHAN"); mtc.stop; } @@ -136,16 +136,16 @@ /* establish a dedicated channel using 'ra' */ function f_chan_est(OCT1 ra, octetstring est_l3, template RslLinkId link_id, GsmFrameNumber fn := 23, - template uint3_t tsc := ?) + template uint3_t tsc := ?, RSL_DCHAN_PT rsl_pt := RSL, RSLEM_PROC_PT rsl_proc_pt := RSL_PROC) runs on RSL_DchanHdlr { var RSL_Message rx_rsl; var GsmRrMessage rr; /* request a channel to be established */ - RSL.send(ts_RSLDC_ChanRqd(ra, fn)); + rsl_pt.send(ts_RSLDC_ChanRqd(ra, fn)); /* At this point the BSC sends a CHAN ACTIV which we always ACK. Checking it below. */ /* expect immediate assignment */ - rx_rsl := f_rx_or_fail(tr_RSL_IMM_ASSIGN); + rx_rsl := f_rx_or_fail(tr_RSL_IMM_ASSIGN, rsl_pt := rsl_pt); rr := dec_GsmRrMessage(rx_rsl.ies[1].body.full_imm_ass_info.payload); if (not match(rr.payload.imm_ass.chan_desc.tsc, tsc)) { setverdict(fail, "Immediate Assignment: unexpected TSC in Channel Description: expected ", tsc, " got ", @@ -153,10 +153,10 @@ mtc.stop; } g_chan_nr := rr.payload.imm_ass.chan_desc.chan_nr; - RSL.send(ts_RSL_EST_IND(g_chan_nr, valueof(link_id), est_l3)); + rsl_pt.send(ts_RSL_EST_IND(g_chan_nr, valueof(link_id), est_l3)); /* Check above CHAN ACTIV */ - var RSL_Message chan_act := f_rslem_get_last_act(RSL_PROC, 0, g_chan_nr); + var RSL_Message chan_act := f_rslem_get_last_act(rsl_proc_pt, 0, g_chan_nr); var RSL_IE_Body ie; if (f_rsl_find_ie(chan_act, RSL_IE_CHAN_IDENT, ie)) { var uint3_t got_tsc := ie.chan_ident.ch_desc.v.tsc; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25016 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic3206b7125ee22bf98330080d9b136cefe7da03f Gerrit-Change-Number: 25016 Gerrit-PatchSet: 4 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 Jul 27 07:28:27 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 27 Jul 2021 07:28:27 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add RSL, RSL_PROC port args in various places In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25017 ) Change subject: bsc: add RSL, RSL_PROC port args in various places ...................................................................... bsc: add RSL, RSL_PROC port args in various places To be able to run tests on a cell other than bts 0, there needs to be a way to select the RSL_DCHAN_PT and RSLEM_PROC_PT in various places. Upcoming BSC_Tests.TC_cm_reestablishment depends on this, to be able to run through an Assignment on bts 1. Related: SYS#5130 Change-Id: Ia14f46d4e5e8d4722224b97c346c0cb7973fff97 --- M bsc/BSC_Tests.ttcn 1 file changed, 40 insertions(+), 38 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index dc3df66..6860907 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -5539,7 +5539,7 @@ exp_rr_rel_tmpl := tr_RRM_RR_RELEASE; } f_ho_into_this_bsc(id, oldToNewBSSIEs); - f_perform_clear(RSL, exp_rr_rel_tmpl); + f_perform_clear(exp_rr_rel_tmpl := exp_rr_rel_tmpl); setverdict(pass); } function f_tc_ho_into_this_bsc_main(TestHdlrParams pars) runs on test_CT { @@ -7215,33 +7215,34 @@ template MobileIdentityLV ts_MI_TMSI_NRI_LV(integer nri_v, integer nri_bitlen := 10) := ts_MI_TMSI_LV(tmsi := f_gen_tmsi(suffix := 0, nri_v := nri_v, nri_bitlen := nri_bitlen)); -private function f_expect_lchan_rel(RSL_DCHAN_PT rsl, template PDU_ML3_NW_MS exp_rr_rel_tmpl := tr_RRM_RR_RELEASE) +private function f_expect_lchan_rel(RSL_DCHAN_PT rsl_pt, RSLEM_PROC_PT rsl_proc_pt, template PDU_ML3_NW_MS exp_rr_rel_tmpl := tr_RRM_RR_RELEASE) runs on MSC_ConnHdlr { interleave { - [] rsl.receive(tr_RSL_DATA_REQ(g_chan_nr, ?, decmatch exp_rr_rel_tmpl)) { + [] rsl_pt.receive(tr_RSL_DATA_REQ(g_chan_nr, ?, decmatch exp_rr_rel_tmpl)) { f_logp(BSCVTY, "Got RSL RR Release"); } - [] rsl.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) { + [] rsl_pt.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) { f_logp(BSCVTY, "Got RSL Deact SACCH"); } - [] rsl.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) { + [] rsl_pt.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) { f_logp(BSCVTY, "Got RSL RF Chan Rel, sending Rel Ack"); - rsl.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr)); - f_rslem_unregister(0, g_chan_nr); + rsl_pt.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr)); + f_rslem_unregister(0, g_chan_nr, PT := rsl_proc_pt); break; } } } -friend function f_perform_clear(RSL_DCHAN_PT rsl, template PDU_ML3_NW_MS exp_rr_rel_tmpl := tr_RRM_RR_RELEASE) +friend function f_perform_clear(RSL_DCHAN_PT rsl_pt := RSL, RSLEM_PROC_PT rsl_proc_pt := RSL_PROC, + template PDU_ML3_NW_MS exp_rr_rel_tmpl := tr_RRM_RR_RELEASE) runs on MSC_ConnHdlr { f_logp(BSCVTY, "MSC instructs BSC to clear channel"); BSSAP.send(ts_BSSMAP_ClearCommand(0)); interleave { - [] rsl.receive(tr_RSL_DATA_REQ(g_chan_nr, ?, decmatch exp_rr_rel_tmpl)) { + [] rsl_pt.receive(tr_RSL_DATA_REQ(g_chan_nr, ?, decmatch exp_rr_rel_tmpl)) { f_logp(BSCVTY, "Got RSL RR Release"); } - [] rsl.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) { + [] rsl_pt.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) { f_logp(BSCVTY, "Got RSL Deact SACCH"); } [] BSSAP.receive(tr_BSSMAP_ClearComplete) { @@ -7249,15 +7250,16 @@ /* Also drop the SCCP connection */ BSSAP.send(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_REQ); } - [] rsl.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) { + [] rsl_pt.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) { f_logp(BSCVTY, "Got RSL RF Chan Rel, sending Rel Ack"); - rsl.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr)); - f_rslem_unregister(0, g_chan_nr); + rsl_pt.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr)); + f_rslem_unregister(0, g_chan_nr, PT := rsl_proc_pt); } } } -private function f_perform_compl_l3(RSL_DCHAN_PT rsl, template PDU_ML3_MS_NW l3_info, boolean do_clear := true, boolean expect_bssmap_l3 := true) +private function f_perform_compl_l3(RSL_DCHAN_PT rsl_pt, RSLEM_PROC_PT rsl_proc_pt, + template PDU_ML3_MS_NW l3_info, boolean do_clear := true, boolean expect_bssmap_l3 := true) runs on MSC_ConnHdlr { timer T := 10.0; var octetstring l3_enc := enc_PDU_ML3_MS_NW(valueof(l3_info)); @@ -7265,17 +7267,17 @@ f_logp(BSCVTY, "establish channel, send Complete Layer 3 Info"); f_create_bssmap_exp(l3_enc); - /* RSL_Emulation.f_chan_est() on rsl: - * This is basically code dup with s/RSL/rsl from: + /* RSL_Emulation.f_chan_est() on rsl_pt: + * This is basically code dup with s/RSL/rsl_pt from: * RSL_Emulation.f_chan_est(g_pars.ra, l3_enc, g_pars.link_id, g_pars.fn); */ var RSL_Message rx_rsl; var GsmRrMessage rr; /* request a channel to be established */ - rsl.send(ts_RSLDC_ChanRqd(g_pars.ra, g_pars.fn)); + rsl_pt.send(ts_RSLDC_ChanRqd(g_pars.ra, g_pars.fn)); /* expect immediate assignment. - * Code dup with s/RSL/rsl from: + * Code dup with s/RSL/rsl_pt from: * rx_rsl := f_rx_or_fail(tr_RSL_IMM_ASSIGN); */ timer Tt := 10.0; @@ -7283,10 +7285,10 @@ /* request a channel to be established */ Tt.start; alt { - [] rsl.receive(tr_RSL_IMM_ASSIGN) -> value rx_rsl { + [] rsl_pt.receive(tr_RSL_IMM_ASSIGN) -> value rx_rsl { Tt.stop; } - [] rsl.receive { + [] rsl_pt.receive { setverdict(fail, "Unexpected RSL message on DCHAN"); mtc.stop; } @@ -7297,7 +7299,7 @@ } rr := dec_GsmRrMessage(rx_rsl.ies[1].body.full_imm_ass_info.payload); g_chan_nr := rr.payload.imm_ass.chan_desc.chan_nr; - rsl.send(ts_RSL_EST_IND(g_chan_nr, valueof(g_pars.link_id), l3_enc)); + rsl_pt.send(ts_RSL_EST_IND(g_chan_nr, valueof(g_pars.link_id), l3_enc)); if (expect_bssmap_l3) { @@ -7328,12 +7330,12 @@ /* start ciphering, if requested */ if (ispresent(g_pars.encr)) { f_logp(BSCVTY, "start ciphering"); - f_cipher_mode(g_pars.encr); + f_cipher_mode(g_pars.encr, rsl_pt := rsl_pt, rsl_proc_pt := rsl_proc_pt); } } if (do_clear) { - f_perform_clear(rsl); + f_perform_clear(rsl_pt, rsl_proc_pt); } setverdict(pass); f_sleep(1.0); @@ -7342,21 +7344,21 @@ private function f_tc_mscpool_compl_l3(charstring id) runs on MSC_ConnHdlr { f_MscConnHdlr_init(g_pars.media_nr, "127.0.0.2", "127.0.0.3", FR_AMR); if (g_pars.mscpool.rsl_idx == 0) { - f_perform_compl_l3(RSL, g_pars.mscpool.l3_info); + f_perform_compl_l3(RSL, RSL_PROC, g_pars.mscpool.l3_info); } else if (g_pars.mscpool.rsl_idx == 1) { - f_perform_compl_l3(RSL1, g_pars.mscpool.l3_info); + f_perform_compl_l3(RSL1, RSL1_PROC, g_pars.mscpool.l3_info); } else if (g_pars.mscpool.rsl_idx == 2) { - f_perform_compl_l3(RSL2, g_pars.mscpool.l3_info); + f_perform_compl_l3(RSL2, RSL2_PROC, g_pars.mscpool.l3_info); } } /* Various Complete Layer 3 by IMSI all end up with the first MSC, because the other MSCs are not connected. */ private function f_tc_mscpool_L3Compl_on_1_msc(charstring id) runs on MSC_ConnHdlr { f_MscConnHdlr_init(g_pars.media_nr, "127.0.0.2", "127.0.0.3", FR_AMR); - f_perform_compl_l3(RSL, ts_LU_REQ(LU_Type_IMSI_Attach, valueof(ts_MI_IMSI_LV('001010000000001'H)), '00F110'O) ); - f_perform_compl_l3(RSL, ts_CM_SERV_REQ(CM_TYPE_MO_SMS, valueof(ts_MI_IMSI_LV('001010000000002'H))) ); - f_perform_compl_l3(RSL, ts_PAG_RESP(valueof(ts_MI_IMSI_LV('001010000000003'H))) ); - f_perform_compl_l3(RSL, ts_ML3_MO_MM_IMSI_DET_Ind(valueof(ts_MI_IMSI_LV('001010000000004'H))) ); + f_perform_compl_l3(RSL, RSL_PROC, ts_LU_REQ(LU_Type_IMSI_Attach, valueof(ts_MI_IMSI_LV('001010000000001'H)), '00F110'O) ); + f_perform_compl_l3(RSL, RSL_PROC, ts_CM_SERV_REQ(CM_TYPE_MO_SMS, valueof(ts_MI_IMSI_LV('001010000000002'H))) ); + f_perform_compl_l3(RSL, RSL_PROC, ts_PAG_RESP(valueof(ts_MI_IMSI_LV('001010000000003'H))) ); + f_perform_compl_l3(RSL, RSL_PROC, ts_ML3_MO_MM_IMSI_DET_Ind(valueof(ts_MI_IMSI_LV('001010000000004'H))) ); } testcase TC_mscpool_L3Compl_on_1_msc() runs on test_CT { @@ -7744,7 +7746,7 @@ /* Despite the round robin pointing at the second MSC ('roundrobin next 1'), the earlier Paging for the same IMSI * causes this Paging Response to go to the first MSC (bssap_idx := 0). */ - f_perform_compl_l3(RSL, ts_PAG_RESP(valueof(ts_MI_IMSI_LV(imsi))) ); + f_perform_compl_l3(RSL, RSL_PROC, ts_PAG_RESP(valueof(ts_MI_IMSI_LV(imsi))) ); f_sleep(1.0); } testcase TC_mscpool_paging_and_response_imsi() runs on test_CT { @@ -7796,7 +7798,7 @@ /* Despite the NRI matching the second MSC (NRI from 'msc 1' in osmo-bsc.cfg) and round robin pointing at the * third MSC ('roundrobin next 2'), the earlier Paging for the same TMSI causes this Paging Response to go to * the first MSC (bssap_idx := 0). */ - f_perform_compl_l3(RSL, ts_PAG_RESP(valueof(ts_MI_TMSI_NRI_LV(nri_v))) ); + f_perform_compl_l3(RSL, RSL_PROC, ts_PAG_RESP(valueof(ts_MI_TMSI_NRI_LV(nri_v))) ); f_sleep(1.0); } testcase TC_mscpool_paging_and_response_tmsi() runs on test_CT { @@ -8738,7 +8740,7 @@ /* The LCS was using an active A-interface conn. It should still remain active after this. */ f_mo_l3_transceive(); - f_perform_clear(RSL); + f_perform_clear(); f_sleep(2.0); setverdict(pass); @@ -8847,8 +8849,8 @@ /* MS requests channel. Since the Paging was for LCS, the Paging Response does not trigger a Complete Layer 3 to * the MSC, and releases the lchan directly. */ - f_perform_compl_l3(RSL, ts_PAG_RESP(valueof(ts_MI_IMSI_LV(g_pars.imsi))), do_clear := false, expect_bssmap_l3 := false); - f_expect_lchan_rel(RSL); + f_perform_compl_l3(RSL, RSL_PROC, ts_PAG_RESP(valueof(ts_MI_IMSI_LV(g_pars.imsi))), do_clear := false, expect_bssmap_l3 := false); + f_expect_lchan_rel(RSL, RSL_PROC); /* From the Paging Response, the TA is now known to the BSC, and it responds to the SMLC. */ @@ -9080,7 +9082,7 @@ /* As the A-interface conn was established for LCS, the MS coincidentally decides to issue a CM Service Request * and establish Layer 3. It should use the existing A-interface conn. */ - f_perform_compl_l3(RSL, valueof(ts_CM_SERV_REQ(CM_TYPE_MO_CALL, valueof(ts_MI_IMSI_LV(g_pars.imsi)))), + f_perform_compl_l3(RSL, RSL_PROC, valueof(ts_CM_SERV_REQ(CM_TYPE_MO_CALL, valueof(ts_MI_IMSI_LV(g_pars.imsi)))), do_clear := false, expect_bssmap_l3 := true); /* SMLC wants to ask the TA from the BSC explicitly in a BSSLAP TA Request message */ @@ -9097,7 +9099,7 @@ /* The lchan should still exist, it was from a CM Service Request. */ f_mo_l3_transceive(); - f_perform_clear(RSL); + f_perform_clear(); f_sleep(2.0); setverdict(pass); @@ -9174,7 +9176,7 @@ f_mo_l3_transceive(RSL1); /* MSC decides it is done now. */ - f_perform_clear(RSL1); + f_perform_clear(RSL1, RSL1_PROC); f_sleep(2.0); setverdict(pass); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25017 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia14f46d4e5e8d4722224b97c346c0cb7973fff97 Gerrit-Change-Number: 25017 Gerrit-PatchSet: 4 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 Jul 27 07:28:27 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 27 Jul 2021 07:28:27 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: expect proper chan_nr for various RSL_MT_RF_CHAN_REL In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25018 ) Change subject: bsc: expect proper chan_nr for various RSL_MT_RF_CHAN_REL ...................................................................... bsc: expect proper chan_nr for various RSL_MT_RF_CHAN_REL So far we were often just expecting the message type. Instead expect a release on the proper channel number. While hunting a test error, this confused me for a while, because a missing handler resulted in the release message handled in the wrong place, even though the chan_nr mismatched. Related: SYS#5130 Change-Id: I002c9273a387104bea062dec8879b4e19a72008d --- M bsc/BSC_Tests.ttcn 1 file changed, 7 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/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 6860907..61ae49e 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -5039,12 +5039,12 @@ interleave { [] RSL.receive(tr_RSL_DATA_REQ(g_chan_nr, ?, decmatch tr_RRM_RR_RELEASE(int2oct(enum2int(rr_cause), 1)))) {} [] RSL.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) {} - [] RSL.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) { + [] RSL.receive(tr_RSL_RF_CHAN_REL(g_chan_nr)) { RSL.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr)); f_rslem_unregister(0, g_chan_nr); } [] RSL1.receive(tr_RSL_DEACT_SACCH(new_chan_nr)) {} - [] RSL1.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) { + [] RSL1.receive(tr_RSL_RF_CHAN_REL(new_chan_nr)) { RSL1.send(ts_RSL_RF_CHAN_REL_ACK(new_chan_nr)); f_rslem_unregister(0, g_chan_nr, PT := RSL1_PROC); } @@ -5424,7 +5424,7 @@ [] RSL.receive(tr_RSL_DATA_REQ(g_chan_nr, ?, decmatch tr_RRM_RR_RELEASE)) { log("Got RR Release"); } - [] RSL.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) { + [] RSL.receive(tr_RSL_RF_CHAN_REL(g_chan_nr)) { log("Got RF Chan Rel"); RSL.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr)); f_rslem_unregister(0, g_chan_nr); @@ -7224,7 +7224,7 @@ [] rsl_pt.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) { f_logp(BSCVTY, "Got RSL Deact SACCH"); } - [] rsl_pt.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) { + [] rsl_pt.receive(tr_RSL_RF_CHAN_REL(g_chan_nr)) { f_logp(BSCVTY, "Got RSL RF Chan Rel, sending Rel Ack"); rsl_pt.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr)); f_rslem_unregister(0, g_chan_nr, PT := rsl_proc_pt); @@ -7250,7 +7250,7 @@ /* Also drop the SCCP connection */ BSSAP.send(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_REQ); } - [] rsl_pt.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) { + [] rsl_pt.receive(tr_RSL_RF_CHAN_REL(g_chan_nr)) { f_logp(BSCVTY, "Got RSL RF Chan Rel, sending Rel Ack"); rsl_pt.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr)); f_rslem_unregister(0, g_chan_nr, PT := rsl_proc_pt); @@ -9210,7 +9210,7 @@ [] RSL.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) { f_logp(BSCVTY, "Got RSL Deact SACCH"); } - [] RSL.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) { + [] RSL.receive(tr_RSL_RF_CHAN_REL(g_chan_nr)) { f_logp(BSCVTY, "Got RSL RF Chan Rel, sending Rel Ack"); RSL.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr)); f_rslem_unregister(0, g_chan_nr); @@ -9388,7 +9388,7 @@ [] MGCP.receive(tr_DLCX) {} [] RSL.receive(tr_RSL_DATA_REQ(g_chan_nr, ?, decmatch tr_RRM_RR_RELEASE)) {} [] RSL.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) {} - [] RSL.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) { + [] RSL.receive(tr_RSL_RF_CHAN_REL(g_chan_nr)) { RSL.send(ts_RSL_RF_CHAN_REL_ACK(g_chan_nr)); f_rslem_unregister(0, g_chan_nr); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25018 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I002c9273a387104bea062dec8879b4e19a72008d Gerrit-Change-Number: 25018 Gerrit-PatchSet: 4 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 Jul 27 07:28:39 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 27 Jul 2021 07:28:39 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add Coord_PT to communicate between components In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25019 ) Change subject: bsc: add Coord_PT to communicate between components ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25019 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I093ca7f66a3106a75e409ad8ea03e7db3c3cb165 Gerrit-Change-Number: 25019 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 27 Jul 2021 07:28: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 Jul 27 07:28:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 27 Jul 2021 07:28:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: split f_start_handler() in two, ..._create() and ..._run() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25020 ) Change subject: bsc: split f_start_handler() in two, ..._create() and ..._run() ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25020 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I96954a6895a65718d943aa5e73b783a75a9f7256 Gerrit-Change-Number: 25020 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 27 Jul 2021 07:28:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 07:31:47 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 27 Jul 2021 07:31:47 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_cm_reestablishment In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25021 ) Change subject: bsc: add TC_cm_reestablishment ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25021/3//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25021/3//COMMIT_MSG at 1 PS3, Line 1: Parent: 0882a312 (bsc: split f_start_handler() in two, ..._create() and ..._run()) I'm not really sure I like the fact that we send arbitrary charstrings through the COORD port, rather than some TTCN3 enum. Using charstring doesn't really seem to provide any benefit here, or am I missing something? Whether you add another member to the enum, or you add another charstring "const" doesn't really make a difference in terms of future extensions. The charstring just permits the sender to send invalid values, while the enum would guarantee only one of the permitted (currently 3) values can ever be sent, otherwise a compile-time error would be generated. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25021 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1e7d446644f46b8a0a94688e618ffb4f23a8900e Gerrit-Change-Number: 25021 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 27 Jul 2021 07:31:47 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 07:32:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 27 Jul 2021 07:32:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add Coord_PT to communicate between components In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25019 ) Change subject: bsc: add Coord_PT to communicate between components ...................................................................... Patch Set 3: Code-Review+1 see my other comment on the use of charstring -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25019 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I093ca7f66a3106a75e409ad8ea03e7db3c3cb165 Gerrit-Change-Number: 25019 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 27 Jul 2021 07: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 Tue Jul 27 07:32:19 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 27 Jul 2021 07:32:19 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: TC_cm_reestablishment(): do second lchan on bts 1 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25022 ) Change subject: bsc: TC_cm_reestablishment(): do second lchan on bts 1 ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25022 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia930f7b8986ba27c5f507478dbff0a2942f207d8 Gerrit-Change-Number: 25022 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 27 Jul 2021 07:32: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 Tue Jul 27 07:32:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 27 Jul 2021 07:32:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: improve error log for "RSL for unknown Dchan" In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25023 ) Change subject: bsc: improve error log for "RSL for unknown Dchan" ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25023 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibb8f60671e78075492783cba560a8229ba5a380b Gerrit-Change-Number: 25023 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 27 Jul 2021 07:32: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 Jul 27 07:32:58 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 27 Jul 2021 07:32:58 +0000 Subject: Change in osmo-bsc[master]: fix CM Re-Establishment Request: allocate new A conn In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25036 ) Change subject: fix CM Re-Establishment Request: allocate new A conn ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25036 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2da9a971dd36c4289a78040adfe85704c8282c59 Gerrit-Change-Number: 25036 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 27 Jul 2021 07:32:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 07:33:15 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 27 Jul 2021 07:33:15 +0000 Subject: Change in osmo-bsc[master]: debug log: indicate change of primary lchan on a conn In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25038 ) Change subject: debug log: indicate change of primary lchan on a conn ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25038 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib4e9a1cde9248f5d3fd8d7d8277623b42670b059 Gerrit-Change-Number: 25038 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 27 Jul 2021 07:33: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 Jul 27 07:33:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 27 Jul 2021 07:33:33 +0000 Subject: Change in osmo-bsc[master]: vty: lchan deact: allow omitting the lchan type arg In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25039 ) Change subject: vty: lchan deact: allow omitting the lchan type arg ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25039 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibdeca3b1d75b9f6092f566544e9d5f4da67fffce Gerrit-Change-Number: 25039 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 27 Jul 2021 07:33: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 Jul 27 07:34:02 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 27 Jul 2021 07:34:02 +0000 Subject: Change in osmo-bsc[master]: vty: improve err msg for invalid subslot nr In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25040 ) Change subject: vty: improve err msg for invalid subslot nr ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25040 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2f649bd2d8d9f217c22b62d2842e1e4fa101ba11 Gerrit-Change-Number: 25040 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 27 Jul 2021 07:34: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 Jul 27 07:34:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 27 Jul 2021 07:34:04 +0000 Subject: Change in osmo-bsc[master]: fix CM Re-Establishment Request: allocate new A conn In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25036 ) Change subject: fix CM Re-Establishment Request: allocate new A conn ...................................................................... fix CM Re-Establishment Request: allocate new A conn For a call re-establishment, the MS shows up on a different cell and requests CM Re-Establishment (3GPP TS 24.008 9.2.4). As soon as the Layer 3 is established, the MSC will clear the first A-connection; the re-establishment *has* to happen on a new separate A-connection. So for a brief moment we must allow two distinct A-interface connections to be used for the same subscriber. Tested by BSC_Tests.TC_cm_reestablishment added in I1e7d446644f46b8a0a94688e618ffb4f23a8900e Related: SYS#5130 Change-Id: I2da9a971dd36c4289a78040adfe85704c8282c59 --- M src/osmo-bsc/gsm_08_08.c 1 file changed, 7 insertions(+), 2 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c index 80ed874..1f6b38e 100644 --- a/src/osmo-bsc/gsm_08_08.c +++ b/src/osmo-bsc/gsm_08_08.c @@ -415,8 +415,13 @@ /* If this Mobile Identity already has an active bsc_subscr, look whether there also is an active A-interface * conn for this subscriber. This may be the case during a Perform Location Request (LCS) from the MSC that - * started on an IDLE MS, and now the MS is becoming active. Associate with the existing conn. */ - if (bsub) + * started on an IDLE MS, and now the MS is becoming active. Associate with the existing conn. + * + * However, for a CM Re-Establishment Request, we must *not* re-use the existing conn, but allocate a second + * conn for the same bsub. The previous conn will be Clear'ed by the MSC as soon as it receives the L3 Complete + * message == the CM Re-Establishment Request. + */ + if (bsub && !(pdisc == GSM48_PDISC_MM && mtype == GSM48_MT_MM_CM_REEST_REQ)) conn = bsc_conn_by_bsub(bsub); if (!conn) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25036 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2da9a971dd36c4289a78040adfe85704c8282c59 Gerrit-Change-Number: 25036 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 07:34:05 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 27 Jul 2021 07:34:05 +0000 Subject: Change in osmo-bsc[master]: log: fix missing newline in lchan_select.c In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25037 ) Change subject: log: fix missing newline in lchan_select.c ...................................................................... log: fix missing newline in lchan_select.c Change-Id: Iea8bc73ba6da24f353ad422cdea3fa88173a9a1c --- M src/osmo-bsc/lchan_select.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/lchan_select.c b/src/osmo-bsc/lchan_select.c index 022d516..ad45dc7 100644 --- a/src/osmo-bsc/lchan_select.c +++ b/src/osmo-bsc/lchan_select.c @@ -136,7 +136,7 @@ found_lchan->interf_dbm, found_lchan->ts->pchan_is != as_pchan ? ", after dyn PCHAN change," : ""); else - LOGPLCHANALLOC("Nothing found"); + LOGPLCHANALLOC("Nothing found\n"); return found_lchan; #undef LOGPLCHANALLOC } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25037 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iea8bc73ba6da24f353ad422cdea3fa88173a9a1c Gerrit-Change-Number: 25037 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 07:34:05 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 27 Jul 2021 07:34:05 +0000 Subject: Change in osmo-bsc[master]: debug log: indicate change of primary lchan on a conn In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25038 ) Change subject: debug log: indicate change of primary lchan on a conn ...................................................................... debug log: indicate change of primary lchan on a conn Change-Id: Ib4e9a1cde9248f5d3fd8d7d8277623b42670b059 --- M src/osmo-bsc/bsc_subscr_conn_fsm.c 1 file changed, 8 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index c4a7875..671f065 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -702,6 +702,14 @@ if (old_lchan == new_lchan) return; + if (!old_lchan && new_lchan) + LOGPFSML(conn->fi, LOGL_DEBUG, "setting primary lchan for this conn to %s\n", + new_lchan->fi? osmo_fsm_inst_name(new_lchan->fi) : gsm_lchan_name(new_lchan)); + else if (old_lchan && new_lchan) + LOGPFSML(conn->fi, LOGL_DEBUG, "primary lchan for this conn changes from %s to %s\n", + old_lchan->fi? osmo_fsm_inst_name(old_lchan->fi) : gsm_lchan_name(old_lchan), + new_lchan->fi? osmo_fsm_inst_name(new_lchan->fi) : gsm_lchan_name(new_lchan)); + conn->lchan = new_lchan; conn->lchan->conn = conn; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25038 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib4e9a1cde9248f5d3fd8d7d8277623b42670b059 Gerrit-Change-Number: 25038 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 07:34:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 27 Jul 2021 07:34:06 +0000 Subject: Change in osmo-bsc[master]: vty: lchan deact: allow omitting the lchan type arg In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25039 ) Change subject: vty: lchan deact: allow omitting the lchan type arg ...................................................................... vty: lchan deact: allow omitting the lchan type arg In the command bts <0-255> trx <0-255> timeslot <0-7> sub-slot <0-7> deactivate fr the final argument indicating the channel type does not make sense and is not actually used. Define a separate vty command for 'deactivate', so that it doesn't require arguments only used for 'activate'. Change-Id: Ibdeca3b1d75b9f6092f566544e9d5f4da67fffce --- M src/osmo-bsc/bsc_vty.c M tests/osmo-bsc.vty 2 files changed, 44 insertions(+), 17 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 5966f85..b0fe8bf 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -1548,6 +1548,11 @@ GSM0808_SC_CFG_AMR_12_2 }; if (activate) { + if (!codec_str) { + vty_out(vty, "%% Error: need a channel type argument to activate%s", VTY_NEWLINE); + return CMD_WARNING; + } + LOG_LCHAN(lchan, LOGL_NOTICE, "attempt from VTY to activate lchan %s with codec %s\n", gsm_lchan_name(lchan), codec_str); if (!lchan->fi) { @@ -1700,28 +1705,21 @@ return CMD_SUCCESS; } -/* Debug/Measurement command to activate a given logical channel - * manually in a given mode/codec. This is useful for receiver - * performance testing (FER/RBER/...) */ -DEFUN(lchan_act, lchan_act_cmd, - "bts <0-255> trx <0-255> timeslot <0-7> (sub-slot|vamos-sub-slot) <0-7> (activate|activate-vamos|deactivate) (hr|fr|efr|amr|sig) [<0-7>]", - BTS_NR_TRX_TS_STR2 - "Primary sub-slot\n" "VAMOS secondary shadow subslot, range <0-1>, only valid for TCH type timeslots\n" - SS_NR_STR - "Manual Channel Activation (e.g. for BER test)\n" - "Manual Channel Activation, in VAMOS mode\n" - "Manual Channel Deactivation (e.g. for BER test)\n" - "Half-Rate v1\n" "Full-Rate\n" "Enhanced Full Rate\n" "Adaptive Multi-Rate\n" "Signalling\n" "AMR Mode\n") +static int lchan_act_deact(struct vty *vty, const char **argv, int argc) { struct gsm_bts_trx_ts *ts; struct gsm_lchan *lchan; bool vamos = (strcmp(argv[3], "vamos-sub-slot") == 0); int ss_nr = atoi(argv[4]); - const char *act_str = argv[5]; - const char *codec_str = argv[6]; + const char *act_str = NULL; + const char *codec_str = NULL; int activate; int amr_mode = -1; + if (argc > 5) + act_str = argv[5]; + if (argc > 6) + codec_str = argv[6]; if (argc > 7) amr_mode = atoi(argv[7]); @@ -1744,16 +1742,43 @@ lchan = &ts->lchan[ss_nr]; - if (!strcmp(act_str, "activate")) + if (!act_str) + activate = 0; + else if (!strcmp(act_str, "activate")) activate = 1; else if (!strcmp(act_str, "activate-vamos")) activate = 2; else - activate = 0; + return CMD_WARNING; return lchan_act_single(vty, lchan, codec_str, amr_mode, activate); } +/* Debug/Measurement command to activate a given logical channel + * manually in a given mode/codec. This is useful for receiver + * performance testing (FER/RBER/...) */ +DEFUN(lchan_act, lchan_act_cmd, + "bts <0-255> trx <0-255> timeslot <0-7> (sub-slot|vamos-sub-slot) <0-7> (activate|activate-vamos) (hr|fr|efr|amr|sig) [<0-7>]", + BTS_NR_TRX_TS_STR2 + "Primary sub-slot\n" "VAMOS secondary shadow subslot, range <0-1>, only valid for TCH type timeslots\n" + SS_NR_STR + "Manual Channel Activation (e.g. for BER test)\n" + "Manual Channel Activation, in VAMOS mode\n" + "Half-Rate v1\n" "Full-Rate\n" "Enhanced Full Rate\n" "Adaptive Multi-Rate\n" "Signalling\n" "AMR Mode\n") +{ + return lchan_act_deact(vty, argv, argc); +} + +DEFUN(lchan_deact, lchan_deact_cmd, + "bts <0-255> trx <0-255> timeslot <0-7> (sub-slot|vamos-sub-slot) <0-7> deactivate", + BTS_NR_TRX_TS_STR2 + "Primary sub-slot\n" "VAMOS secondary shadow subslot, range <0-1>, only valid for TCH type timeslots\n" + SS_NR_STR + "Manual Channel Deactivation (e.g. for BER test)\n") +{ + return lchan_act_deact(vty, argv, argc); +} + #define ACTIVATE_ALL_LCHANS_STR "Manual Channel Activation of all logical channels (e.g. for BER test)\n" #define DEACTIVATE_ALL_LCHANS_STR "Manual Channel Deactivation of all logical channels (e.g. for BER test)\n" @@ -3365,6 +3390,7 @@ install_element(ENABLE_NODE, &bts_c0_power_red_cmd); install_element(ENABLE_NODE, &pdch_act_cmd); install_element(ENABLE_NODE, &lchan_act_cmd); + install_element(ENABLE_NODE, &lchan_deact_cmd); install_element(ENABLE_NODE, &lchan_act_all_cmd); install_element(ENABLE_NODE, &lchan_act_all_bts_cmd); install_element(ENABLE_NODE, &lchan_act_all_trx_cmd); diff --git a/tests/osmo-bsc.vty b/tests/osmo-bsc.vty index 3bc2707..7351056 100644 --- a/tests/osmo-bsc.vty +++ b/tests/osmo-bsc.vty @@ -34,7 +34,8 @@ OsmoBSC# list ... - bts <0-255> trx <0-255> timeslot <0-7> (sub-slot|vamos-sub-slot) <0-7> (activate|activate-vamos|deactivate) (hr|fr|efr|amr|sig) [<0-7>] + bts <0-255> trx <0-255> timeslot <0-7> (sub-slot|vamos-sub-slot) <0-7> (activate|activate-vamos) (hr|fr|efr|amr|sig) [<0-7>] + bts <0-255> trx <0-255> timeslot <0-7> (sub-slot|vamos-sub-slot) <0-7> deactivate ... OsmoBSC# bts? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25039 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibdeca3b1d75b9f6092f566544e9d5f4da67fffce Gerrit-Change-Number: 25039 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 07:34:07 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 27 Jul 2021 07:34:07 +0000 Subject: Change in osmo-bsc[master]: vty: improve err msg for invalid subslot nr In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25040 ) Change subject: vty: improve err msg for invalid subslot nr ...................................................................... vty: improve err msg for invalid subslot nr Change-Id: I2f649bd2d8d9f217c22b62d2842e1e4fa101ba11 --- M src/osmo-bsc/bsc_vty.c 1 file changed, 2 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-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index b0fe8bf..6d10426 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -1728,7 +1728,8 @@ return CMD_WARNING; if (ss_nr >= ts->max_primary_lchans) { - vty_out(vty, "Invalid sub-slot number for this timeslot type%s", VTY_NEWLINE); + vty_out(vty, "Invalid sub-slot number %d for this timeslot type: %s (%u)%s", ss_nr, + gsm_pchan_name(ts->pchan_on_init), ts->max_primary_lchans, VTY_NEWLINE); return CMD_WARNING; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25040 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2f649bd2d8d9f217c22b62d2842e1e4fa101ba11 Gerrit-Change-Number: 25040 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 07:34:29 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 27 Jul 2021 07:34:29 +0000 Subject: Change in libosmocore[master]: command: fix sourcecode formatting In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25030 ) Change subject: command: fix sourcecode formatting ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25030 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icc75c3b45821c24360e0fdb4a29077994e73ae05 Gerrit-Change-Number: 25030 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 27 Jul 2021 07:34: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 Jul 27 07:34:32 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 27 Jul 2021 07:34:32 +0000 Subject: Change in libosmocore[master]: command: fix sourcecode formatting In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25030 ) Change subject: command: fix sourcecode formatting ...................................................................... command: fix sourcecode formatting Change-Id: Icc75c3b45821c24360e0fdb4a29077994e73ae05 --- M include/osmocom/vty/command.h 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/include/osmocom/vty/command.h b/include/osmocom/vty/command.h index 7f1ae5a..e3919fb 100644 --- a/include/osmocom/vty/command.h +++ b/include/osmocom/vty/command.h @@ -99,7 +99,7 @@ L_CS7_SCCPADDR_NODE, /*!< SS7 SCCP Address */ L_CS7_SCCPADDR_GT_NODE, /*!< SS7 SCCP Global Title */ - L_CPU_SCHED_NODE, /*!< CPU Sched related options node */ + L_CPU_SCHED_NODE, /*!< CPU Sched related options node */ L_NS_BIND_NODE, /*!< NS bind node */ L_NS_NSE_NODE, /*!< NS NSE node */ /* -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25030 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icc75c3b45821c24360e0fdb4a29077994e73ae05 Gerrit-Change-Number: 25030 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 07:34:46 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 27 Jul 2021 07:34:46 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: assert endp when it becomes mandatory In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25026 ) Change subject: mgcp_protocol: assert endp when it becomes mandatory ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25026 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I1d4221f2df13c43321d5466534485cf21f0d9010 Gerrit-Change-Number: 25026 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 27 Jul 2021 07:34:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 07:35:54 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 27 Jul 2021 07:35:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: upgrade expected behavior for TC_dlcx_wildcarded In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24821 ) Change subject: MGCP_Test: upgrade expected behavior for TC_dlcx_wildcarded ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24821 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I61e23e264bc85eb36d07431c7839fb445c110947 Gerrit-Change-Number: 24821 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 27 Jul 2021 07:35: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 Jul 27 07:36:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 27 Jul 2021 07:36:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: test DLCX request to non existant endpoint In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24976 ) Change subject: MGCP_Test: test DLCX request to non existant endpoint ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24976 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3d8c6f84404c1c95f97f113813528175523d36b8 Gerrit-Change-Number: 24976 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 27 Jul 2021 07:36:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 08:15:57 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 27 Jul 2021 08:15:57 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: add stats items to monitor trunk usage In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25041 ) Change subject: mgcp_ratectr: add stats items to monitor trunk usage ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/25041/1/src/libosmo-mgcp/mgcp_ratectr.c File src/libosmo-mgcp/mgcp_ratectr.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25041/1/src/libosmo-mgcp/mgcp_ratectr.c at 293 PS1, Line 293: talloc_set_destructor(stats->common, free_stat_item_group); > I don't think this is a good idea (changing/setting a talloc destructor for a lib-controlled struct [?] mgcp_ratectr_trunk_alloc() should then be changed as well and the destructor should call all the *_group_free() functions. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25041 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6d3a74f6087512130d85002348787bffc672de81 Gerrit-Change-Number: 25041 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 27 Jul 2021 08:15:57 +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 Jul 27 08:24:16 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 27 Jul 2021 08:24:16 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: add stats items to monitor trunk usage In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25041 ) Change subject: mgcp_ratectr: add stats items to monitor trunk usage ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/25041/1/src/libosmo-mgcp/mgcp_ratectr.c File src/libosmo-mgcp/mgcp_ratectr.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25041/1/src/libosmo-mgcp/mgcp_ratectr.c at 293 PS1, Line 293: talloc_set_destructor(stats->common, free_stat_item_group); > mgcp_ratectr_trunk_alloc() should then be changed as well and the destructor should call all the *_g [?] Ack -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25041 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6d3a74f6087512130d85002348787bffc672de81 Gerrit-Change-Number: 25041 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 27 Jul 2021 08:24:16 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: daniel Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 08:44:28 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 27 Jul 2021 08:44:28 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: assert endp when it becomes mandatory In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25026 ) Change subject: mgcp_protocol: assert endp when it becomes mandatory ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25026 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I1d4221f2df13c43321d5466534485cf21f0d9010 Gerrit-Change-Number: 25026 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 27 Jul 2021 08:44: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 Jul 27 08:44:33 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 27 Jul 2021 08:44:33 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: assert endp when it becomes mandatory In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25026 ) Change subject: mgcp_protocol: assert endp when it becomes mandatory ...................................................................... mgcp_protocol: assert endp when it becomes mandatory The logic when an endp pointer is guranteed and when we are able to process the request without the endp pointer populated is qute complex. This shows up as a bug to coverity. Change-Id: I1d4221f2df13c43321d5466534485cf21f0d9010 Fixes: CID#237088 --- M src/libosmo-mgcp/mgcp_protocol.c 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve dexter: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index aef41e0..e69c00f 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -1467,6 +1467,10 @@ return create_ok_response(NULL, 200, "DLCX", pdata->trans); } + /* The logic does not permit to go past this point without having the + * the endp pointer populated. */ + OSMO_ASSERT(endp); + /* When no connection id is supplied, we will interpret this as a * wildcarded DLCX that refers to the selected endpoint. This means * that we drop all connections on that specific endpoint at once. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25026 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I1d4221f2df13c43321d5466534485cf21f0d9010 Gerrit-Change-Number: 25026 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter 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 Jul 27 09:00:37 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 27 Jul 2021 09:00:37 +0000 Subject: Change in docker-playground[master]: debian-stretch-titan: Wait for interface to be _up_ not just its exis... In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/22674 ) Change subject: debian-stretch-titan: Wait for interface to be _up_ not just its existance ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/docker-playground/+/22674/3/debian-stretch-titan/ttcn3-docker-run.sh File debian-stretch-titan/ttcn3-docker-run.sh: https://gerrit.osmocom.org/c/docker-playground/+/22674/3/debian-stretch-titan/ttcn3-docker-run.sh at 24 PS3, Line 24: OPSTATE=`cat /sys/class/net/${WAIT_FOR_NETDEV}/operstate` Use $(...) notation instead of legacy backticked `...`. https://github.com/koalaman/shellcheck/wiki/Sc2006 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/22674 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I1bfb6eb925bca4e4e1901e06eed831152cddbbe2 Gerrit-Change-Number: 22674 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Assignee: daniel Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 27 Jul 2021 09:00: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 Tue Jul 27 09:00:58 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 27 Jul 2021 09:00:58 +0000 Subject: Change in docker-playground[master]: debian-stretch-titan: Wait for interface to be _up_ not just its exis... In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/22674 ) Change subject: debian-stretch-titan: Wait for interface to be _up_ not just its existance ...................................................................... Patch Set 3: Otherwise LGTM -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/22674 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I1bfb6eb925bca4e4e1901e06eed831152cddbbe2 Gerrit-Change-Number: 22674 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Assignee: daniel Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 27 Jul 2021 09:00: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 Tue Jul 27 09:06:49 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 27 Jul 2021 09:06:49 +0000 Subject: Change in docker-playground[master]: debian-stretch-titan: Wait for interface to be _up_ not just its exis... In-Reply-To: References: Message-ID: daniel has uploaded a new patch set (#4) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/docker-playground/+/22674 ) Change subject: debian-stretch-titan: Wait for interface to be _up_ not just its existance ...................................................................... debian-stretch-titan: Wait for interface to be _up_ not just its existance I've seen at least one instance where -EIFDOWN was returned when the test suite was coming up. This is a race condition, as we first have to move the netdev into the namespace and only then can configure it. "pipework wait" only waits for its existence, not until it is up. We cannot revert the order, as the netdev looses its state when it is moved to a different netns. Change-Id: I1bfb6eb925bca4e4e1901e06eed831152cddbbe2 --- M debian-stretch-titan/ttcn3-docker-run.sh 1 file changed, 13 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/74/22674/4 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/22674 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I1bfb6eb925bca4e4e1901e06eed831152cddbbe2 Gerrit-Change-Number: 22674 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Assignee: daniel Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus 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 Jul 27 09:07:39 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 27 Jul 2021 09:07:39 +0000 Subject: Change in docker-playground[master]: debian-stretch-titan: Wait for interface to be _up_ not just its exis... In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/22674 ) Change subject: debian-stretch-titan: Wait for interface to be _up_ not just its existance ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/22674 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I1bfb6eb925bca4e4e1901e06eed831152cddbbe2 Gerrit-Change-Number: 22674 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Assignee: daniel Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 27 Jul 2021 09:07:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 09:29:20 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 27 Jul 2021 09:29:20 +0000 Subject: Change in osmo-pcu[master]: Move NULL and ASSIGN tbf_state transition to tbf_fsm In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25011 ) Change subject: Move NULL and ASSIGN tbf_state transition to tbf_fsm ...................................................................... Patch Set 4: (5 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/25011/4/src/pdch.cpp File src/pdch.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/25011/4/src/pdch.cpp at 371 PS4, Line 371: if (new_tbf->state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_CCCH)) { I'm wondering, what's the rationale behind replacing check_n_clear here, but still using it in other places? I would have expected that you removed it completely when I saw this. https://gerrit.osmocom.org/c/osmo-pcu/+/25011/4/src/tbf.cpp File src/tbf.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/25011/4/src/tbf.cpp at 581 PS4, Line 581: if ((state_fsm.state_flags & (1 << (GPRS_RLCMAC_FLAG_PACCH))) && (state_fsm.state_flags & (1 << (GPRS_RLCMAC_FLAG_CCCH)))) (line length) https://gerrit.osmocom.org/c/osmo-pcu/+/25011/4/src/tbf_fsm.h File src/tbf_fsm.h: https://gerrit.osmocom.org/c/osmo-pcu/+/25011/4/src/tbf_fsm.h at 33 PS4, Line 33: //TBF_EV_ASSIGN_DEL_PACCH, commented out? https://gerrit.osmocom.org/c/osmo-pcu/+/25011/4/src/tbf_fsm.h at 48 PS4, Line 48: uint32_t state_flags; Have you considered calling it "flags", so it's "state_fsm.flags" instead of "state_fsm.state_flags" everywhere? https://gerrit.osmocom.org/c/osmo-pcu/+/25011/4/src/tbf_fsm.c File src/tbf_fsm.c: https://gerrit.osmocom.org/c/osmo-pcu/+/25011/4/src/tbf_fsm.c at 47 PS4, Line 47: //{ TBF_EV_ASSIGN_DEL_PACCH, "ASSIGN_DEL_PACCH" }, commented out? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25011 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3c62e9e83965cb28065338733f182863e54d7474 Gerrit-Change-Number: 25011 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 27 Jul 2021 09:29: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 Tue Jul 27 09:34:44 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 27 Jul 2021 09:34:44 +0000 Subject: Change in osmo-pcu[master]: Move FLOW tbf_state transition to tbf_fsm. In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25012 ) Change subject: Move FLOW tbf_state transition to tbf_fsm. ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25012 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia8c7de759c195d09263fb1f083fbf6cfa3087f8d Gerrit-Change-Number: 25012 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 27 Jul 2021 09:34: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 Jul 27 09:37:54 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 27 Jul 2021 09:37:54 +0000 Subject: Change in osmo-pcu[master]: tests: tbf: Fix dl_tbf polled for data without being in FLOW state In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25045 ) Change subject: tests: tbf: Fix dl_tbf polled for data without being in FLOW state ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/25045/1/tests/tbf/TbfTest.cpp File tests/tbf/TbfTest.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/25045/1/tests/tbf/TbfTest.cpp at 579 PS1, Line 579: directly to verb missing? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25045 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If8029bee90adceee128ebb20c033756efd50e90e Gerrit-Change-Number: 25045 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 27 Jul 2021 09:37: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 Tue Jul 27 09:41:20 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 27 Jul 2021 09:41:20 +0000 Subject: Change in osmo-pcu[master]: Move FINISHED tbf_state transition to tbf_fsm In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25034 ) Change subject: Move FINISHED tbf_state transition to tbf_fsm ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/25034/2/src/tbf_fsm.c File src/tbf_fsm.c: https://gerrit.osmocom.org/c/osmo-pcu/+/25034/2/src/tbf_fsm.c at 145 PS2, Line 145: //struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; leftover? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25034 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I81f507e3a2821254f03364a58ead02333e63099f Gerrit-Change-Number: 25034 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 27 Jul 2021 09:41:20 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 09:45:52 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 27 Jul 2021 09:45:52 +0000 Subject: Change in osmo-pcu[master]: Move WAIT_RELEASE tbf_state transition to tbf_fsm In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25046 ) Change subject: Move WAIT_RELEASE tbf_state transition to tbf_fsm ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/25046/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-pcu/+/25046/1//COMMIT_MSG at 8 PS1, Line 8: Mention that you renamed maybe_start_new_window to rcvd_dl_final_ack while at it? :) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25046 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iebd650c1036ef2d5132789778be7117ce3391c01 Gerrit-Change-Number: 25046 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 27 Jul 2021 09:45: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 Tue Jul 27 09:56:15 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 27 Jul 2021 09:56:15 +0000 Subject: Change in osmo-pcu[master]: Move RELEASING tbf_state transition to tbf_fsm In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25047 ) Change subject: Move RELEASING tbf_state transition to tbf_fsm ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/25047/1/src/tbf_fsm.c File src/tbf_fsm.c: https://gerrit.osmocom.org/c/osmo-pcu/+/25047/1/src/tbf_fsm.c at 194 PS1, Line 194: //struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; added on purpose? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25047 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I516b8d989a0d705e5664f8aeaf7d108e0105aa16 Gerrit-Change-Number: 25047 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 27 Jul 2021 09:56:15 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 10:00:54 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 27 Jul 2021 10:00:54 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: allow to reset endpoints on startup In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/25008 to look at the new patch set (#5). Change subject: mgcp_client: allow to reset endpoints on startup ...................................................................... mgcp_client: allow to reset endpoints on startup Depending on the usecase of osmo_mpcg_client it may be helpful to send a DLCX to certain endpoints. Usually this would be a wildcarded endpoint that resets the entire trunk to drop lingering RTP flows which may still present after a restart/crash, but it might be also a group of specific endpoints. The user may specify an arbitrary amount of endpoints where the mgcp client will send a DLCX to. It does not matter if the endpoints are wildcarded or not. Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Related: SYS#5535 --- M TODO-RELEASE M include/osmocom/mgcp_client/mgcp_client.h M src/libosmo-mgcp-client/mgcp_client.c M src/libosmo-mgcp-client/mgcp_client_vty.c 4 files changed, 141 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/08/25008/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25008 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Gerrit-Change-Number: 25008 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 10:01:27 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 27 Jul 2021 10:01:27 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: allow to reset endpoints on startup In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25008 ) Change subject: mgcp_client: allow to reset endpoints on startup ...................................................................... Patch Set 5: (9 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/25008/4/src/libosmo-mgcp-client/mgcp_client.c File src/libosmo-mgcp-client/mgcp_client.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25008/4/src/libosmo-mgcp-client/mgcp_client.c at 793 PS4, Line 793: llist_add_tail(&actual_reset_ep->list, &mgcp->actual.reset_epnames); > seems to me that it is not necessary to copy this list. [?] The list is copied because osmo-mgcp-client is designed that way. The vty configuration is separated from the client itsself. When the client is started it copies all configuration items. Doing it differently would break this pattern. We also cannot just copy the llist head. I think it is better to keep it this way. https://gerrit.osmocom.org/c/osmo-mgw/+/25008/4/src/libosmo-mgcp-client/mgcp_client.c at 854 PS4, Line 854: void _ignore_mgcp_response(struct mgcp_response *response, void *priv) { } > hm, interesting! I think we should change mgcp_client_tx() to still store an entry [?] I have checked this back now. Unfortunately we cannot change this because there is a bug that whould lead into a memory leak, see change id: I83938ff47fa8570b8d9dc810a184864a0c0b58aa I don't really know how to fix this, but probably we would need some garbage collector that deletes entries from the queue when there is no response from some time. I think this problem is not only triggered by mgcp_client_fsm, but may also easily occur when someone is using the bare mgcp-client without its fsm extensions. This would require a separate patch/ticket. My idea would be just having a timestamp in each queue entry and when there is no response after a minute or so it would delete it from the queue. For now we could remove the dummy function and live with the error message or just keep it the way it ist. It does not hurt. https://gerrit.osmocom.org/c/osmo-mgw/+/25008/4/src/libosmo-mgcp-client/mgcp_client.c at 905 PS4, Line 905: epname = _mgcp_client_name_append_domain(mgcp, reset_ep->name); > I think it is more elegant to define the complete endpoint name in the config, [?] This is intentional. There is already a way to specify the domain name in the config. If you would allow to specify the domain name again in this reset endpoint feature than you might get an invalid configuration. The configuration would also be redundant since the domain name is already specified at a different point in the config. It makes no sense to configure a reset endpoint rtpbridge/*@bsc when the domain name is configured as @mgw. The MGW would reject rtpbridge/*@bsc because it would expect the domain name to be @mgw. https://gerrit.osmocom.org/c/osmo-mgw/+/25008/4/src/libosmo-mgcp-client/mgcp_client.c at 1052 PS4, Line 1052: if (response_cb != NULL) { > (x) mentioned above, here remove the response_cb != NULL condition. [?] (see above, this works around a memory leak) https://gerrit.osmocom.org/c/osmo-mgw/+/25008/4/src/libosmo-mgcp-client/mgcp_client_vty.c File src/libosmo-mgcp-client/mgcp_client_vty.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25008/4/src/libosmo-mgcp-client/mgcp_client_vty.c at 161 PS4, Line 161: eindpoint > "endpoint" [?] Done https://gerrit.osmocom.org/c/osmo-mgw/+/25008/4/src/libosmo-mgcp-client/mgcp_client_vty.c at 175 PS4, Line 175: /* the domain name is not part of the actual endpoint name */ > (but i think it should be) (I see that differently, see my other comment) https://gerrit.osmocom.org/c/osmo-mgw/+/25008/4/src/libosmo-mgcp-client/mgcp_client_vty.c at 188 PS4, Line 188: if (osmo_strlcpy(reset_ep->name, argv[0], sizeof(reset_ep->name)) >= sizeof(reset_ep->name)) { > repeated osmo_strlcpy with line above... [?] Done https://gerrit.osmocom.org/c/osmo-mgw/+/25008/4/src/libosmo-mgcp-client/mgcp_client_vty.c at 202 PS4, Line 202: startup > ("on connect" as above) [?] Done https://gerrit.osmocom.org/c/osmo-mgw/+/25008/4/src/libosmo-mgcp-client/mgcp_client_vty.c at 210 PS4, Line 210: reset_ep_del = reset_ep; > break; ? or put the free() directly in the loop and return CMD_SUCCESS here? Done -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25008 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Gerrit-Change-Number: 25008 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Tue, 27 Jul 2021 10:01:27 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: neels 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 Jul 27 10:03:30 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 27 Jul 2021 10:03:30 +0000 Subject: Change in osmo-pcu[master]: Move T3169 and T3195 to tbf_fsm In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25048 ) Change subject: Move T3169 and T3195 to tbf_fsm ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25048 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I599f4e7e82b0a8c0f5cf633c2d8b1975435f0b60 Gerrit-Change-Number: 25048 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 27 Jul 2021 10:03: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 Jul 27 10:04:12 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 27 Jul 2021 10:04:12 +0000 Subject: Change in osmo-pcu[master]: Drop duplicate log line In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25049 ) Change subject: Drop duplicate log line ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25049 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie171c458e670f8471ac93f78520a05926114c974 Gerrit-Change-Number: 25049 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 27 Jul 2021 10:04: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 Jul 27 10:05:47 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 27 Jul 2021 10:05:47 +0000 Subject: Change in osmo-pcu[master]: Put dl_tbf::cleanup into destructor In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25050 ) Change subject: Put dl_tbf::cleanup into destructor ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25050 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia2aaa43bd8faacf09fe4b36b11b38022bea7a59c Gerrit-Change-Number: 25050 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 27 Jul 2021 10:05:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 10:06:42 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 27 Jul 2021 10:06:42 +0000 Subject: Change in osmo-pcu[master]: Drop logging last mas report before freeing TBF In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25051 ) Change subject: Drop logging last mas report before freeing TBF ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25051 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I9b712f720b5874886cc19d998fb8fcd0e618d590 Gerrit-Change-Number: 25051 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 27 Jul 2021 10:06:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 10:08:38 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 27 Jul 2021 10:08:38 +0000 Subject: Change in osmo-pcu[master]: Remove duplicate call to gprs_rlcmac_lost_rep In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25052 ) Change subject: Remove duplicate call to gprs_rlcmac_lost_rep ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25052 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I015ba16d18fdd6e2441ec3c256b5ac88771d7a8b Gerrit-Change-Number: 25052 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 27 Jul 2021 10:08:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 10:11:32 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 27 Jul 2021 10:11:32 +0000 Subject: Change in osmo-pcu[master]: Move rate_ctr free to tbf subclass destructor In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25053 ) Change subject: Move rate_ctr free to tbf subclass destructor ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/25053/1/src/tbf_ul.cpp File src/tbf_ul.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/25053/1/src/tbf_ul.cpp at 97 PS1, Line 97: gprs_rlcmac_dl_tbf * s/dl/ul/ * why is this comment at the bottom instead of on top of the function? (same with the other one) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25053 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1c45e3296e565725bcbbca391d9518772fffa89d Gerrit-Change-Number: 25053 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-Comment-Date: Tue, 27 Jul 2021 10: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 Tue Jul 27 10:17:10 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 27 Jul 2021 10:17:10 +0000 Subject: Change in osmo-pcu[master]: Get rid of tbf_dl:abort() In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25054 ) Change subject: Get rid of tbf_dl:abort() ...................................................................... Patch Set 1: Code-Review+1 (2 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/25054/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-pcu/+/25054/1//COMMIT_MSG at 9 PS1, Line 9: seaprate separate (seapirate? ;)) https://gerrit.osmocom.org/c/osmo-pcu/+/25054/1/src/tbf.cpp File src/tbf.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/25054/1/src/tbf.cpp at 284 PS1, Line 284: (two spaces) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25054 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I30febf4d21a0bfab37524c07598bbb0dd32f7f65 Gerrit-Change-Number: 25054 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 27 Jul 2021 10:17: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 Tue Jul 27 10:20:08 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 27 Jul 2021 10:20:08 +0000 Subject: Change in osmo-pcu[master]: tbf_free: Get rid of uneeded tbf_state transition In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25055 ) Change subject: tbf_free: Get rid of uneeded tbf_state transition ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25055 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3016caaccc2c43e1e300f3c6042d69f8adcd9d69 Gerrit-Change-Number: 25055 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 27 Jul 2021 10:20:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 10:36:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 27 Jul 2021 10:36:33 +0000 Subject: Change in osmo-pcu[master]: Move NULL and ASSIGN tbf_state transition to tbf_fsm In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25011 ) Change subject: Move NULL and ASSIGN tbf_state transition to tbf_fsm ...................................................................... Patch Set 4: (2 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/25011/4/src/pdch.cpp File src/pdch.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/25011/4/src/pdch.cpp at 371 PS4, Line 371: if (new_tbf->state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_CCCH)) { > I'm wondering, what's the rationale behind replacing check_n_clear here, but still using it in other [?] Because this state_flags variable is a mess and used for tons of different things. In this patchset (this and follow commits) I'm so far moving a subset of its uses to the FSM: basically flags GPRS_RLCMAC_FLAG_CCCH and GPRS_RLCMAC_FLAG_PACCH. So other flags are left intact. https://gerrit.osmocom.org/c/osmo-pcu/+/25011/4/src/tbf_fsm.h File src/tbf_fsm.h: https://gerrit.osmocom.org/c/osmo-pcu/+/25011/4/src/tbf_fsm.h at 48 PS4, Line 48: uint32_t state_flags; > Have you considered calling it "flags", so it's "state_fsm.flags" instead of "state_fsm. [?] Yes, but I'm already moving too much stuff and I consider state_flags is a bit more informative than flags. This variable will anyway be changing in the future when I get rid of other flags from here. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25011 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3c62e9e83965cb28065338733f182863e54d7474 Gerrit-Change-Number: 25011 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 27 Jul 2021 10:36:33 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 10:41:41 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 27 Jul 2021 10:41:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: upgrade expected behavior for TC_dlcx_wildcarded In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24821 to look at the new patch set (#5). Change subject: MGCP_Test: upgrade expected behavior for TC_dlcx_wildcarded ...................................................................... MGCP_Test: upgrade expected behavior for TC_dlcx_wildcarded The testcase TC_dlcx_wildcarded expect osmo-mgw to reject wildcarded DLCX requests but osmo-mgw now implements wildcarded DLCX Depends: osmo-mgw I6d3a74f6087512130d85002348787bffc672de81 Depends: docker-playground I693cc17dbf6836e7a74b34111671b6e589744a63 Change-Id: I61e23e264bc85eb36d07431c7839fb445c110947 Related: SYS#5535 --- M mgw/MGCP_Test.default M mgw/MGCP_Test.ttcn M mgw/gen_links.sh M mgw/regen_makefile.sh 4 files changed, 59 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/21/24821/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24821 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I61e23e264bc85eb36d07431c7839fb445c110947 Gerrit-Change-Number: 24821 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 10:41:57 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 27 Jul 2021 10:41:57 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: upgrade expected behavior for TC_dlcx_wildcarded In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24821 ) Change subject: MGCP_Test: upgrade expected behavior for TC_dlcx_wildcarded ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24821/4/mgw/MGCP_Test.ttcn File mgw/MGCP_Test.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24821/4/mgw/MGCP_Test.ttcn at 36 PS4, Line 36: import from StatsD_Checker all; > trailing whitespace Done -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24821 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I61e23e264bc85eb36d07431c7839fb445c110947 Gerrit-Change-Number: 24821 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 27 Jul 2021 10:41:57 +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 Jul 27 10:43:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 27 Jul 2021 10:43:28 +0000 Subject: Change in osmo-pcu[master]: Move RELEASING tbf_state transition to tbf_fsm In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25047 ) Change subject: Move RELEASING tbf_state transition to tbf_fsm ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/25047/1/src/tbf_fsm.c File src/tbf_fsm.c: https://gerrit.osmocom.org/c/osmo-pcu/+/25047/1/src/tbf_fsm.c at 194 PS1, Line 194: //struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; > added on purpose? TBH I usually add them on purpose as a skeleton in order to speed up implementation since usually one ends up using it, maybe not in this commit but in a follow up one when I extend the FSMs (because I'm splitting the whole FSM implementation in order to make it testeable, check regressions, and ease code review). -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25047 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I516b8d989a0d705e5664f8aeaf7d108e0105aa16 Gerrit-Change-Number: 25047 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 27 Jul 2021 10:43:28 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 10:46:40 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 27 Jul 2021 10:46:40 +0000 Subject: Change in osmo-pcu[master]: Move rate_ctr free to tbf subclass destructor In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25053 ) Change subject: Move rate_ctr free to tbf subclass destructor ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/25053/1/src/tbf_ul.cpp File src/tbf_ul.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/25053/1/src/tbf_ul.cpp at 97 PS1, Line 97: gprs_rlcmac_dl_tbf > * s/dl/ul/ [?] Because it's implicitly called here upon return, not at the start ;) sublcass destructor is called before superclass one. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25053 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1c45e3296e565725bcbbca391d9518772fffa89d Gerrit-Change-Number: 25053 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-Comment-Date: Tue, 27 Jul 2021 10:46:40 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 10:47:25 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 27 Jul 2021 10:47:25 +0000 Subject: Change in osmo-pcu[master]: tbf_free: Get rid of uneeded tbf_state transition In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25055 ) Change subject: tbf_free: Get rid of uneeded tbf_state transition ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25055 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3016caaccc2c43e1e300f3c6042d69f8adcd9d69 Gerrit-Change-Number: 25055 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 27 Jul 2021 10: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 Tue Jul 27 10:47:56 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 27 Jul 2021 10:47:56 +0000 Subject: Change in osmo-pcu[master]: Move rate_ctr free to tbf subclass destructor In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25053 ) Change subject: Move rate_ctr free to tbf subclass destructor ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/25053/1/src/tbf_ul.cpp File src/tbf_ul.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/25053/1/src/tbf_ul.cpp at 97 PS1, Line 97: gprs_rlcmac_dl_tbf > Because it's implicitly called here upon return, not at the start ;) [?] Oh now I see, I meant "~gprs_rlcmac_tbf" there! -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25053 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1c45e3296e565725bcbbca391d9518772fffa89d Gerrit-Change-Number: 25053 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-Comment-Date: Tue, 27 Jul 2021 10:47:56 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: osmith 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 Jul 27 10:48:43 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 27 Jul 2021 10:48:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: improve error log for "RSL for unknown Dchan" In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25023 ) Change subject: bsc: improve error log for "RSL for unknown Dchan" ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25023 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibb8f60671e78075492783cba560a8229ba5a380b Gerrit-Change-Number: 25023 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 27 Jul 2021 10:48: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 Jul 27 10:50:11 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 27 Jul 2021 10:50:11 +0000 Subject: Change in osmo-pcu[master]: Get rid of tbf_dl:abort() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25054 ) Change subject: Get rid of tbf_dl:abort() ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/25054/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-pcu/+/25054/1//COMMIT_MSG at 9 PS1, Line 9: seaprate > separate [?] Because being a pirate is free! -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25054 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I30febf4d21a0bfab37524c07598bbb0dd32f7f65 Gerrit-Change-Number: 25054 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 27 Jul 2021 10:50:11 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 10:50:15 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 27 Jul 2021 10:50:15 +0000 Subject: Change in libosmocore[master]: vty: clear screen with ^L In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25013 ) Change subject: vty: clear screen with ^L ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25013 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie2356cd92f39b4dc28b5c20bbe4557fb0d972747 Gerrit-Change-Number: 25013 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 27 Jul 2021 10: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 Tue Jul 27 10:50:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 27 Jul 2021 10:50:54 +0000 Subject: Change in osmo-pcu[master]: Move NULL and ASSIGN tbf_state transition to tbf_fsm In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/25011 to look at the new patch set (#5). Change subject: Move NULL and ASSIGN tbf_state transition to tbf_fsm ...................................................................... Move NULL and ASSIGN tbf_state transition to tbf_fsm At some point later in time the state_flags will most probably be split into different variables, one ending up in a different FSM. It is moved so far to the exsiting FSM from the C++ class since it's easier to access it from C and C++ code, and anyway that kind of information belongs to the FSM. Related: OS#2709 Change-Id: I3c62e9e83965cb28065338733f182863e54d7474 --- M src/pcu_vty_functions.cpp M src/pdch.cpp M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp M src/tbf_fsm.c M src/tbf_fsm.h M src/tbf_ul.cpp M tests/alloc/AllocTest.err M tests/tbf/TbfTest.err 10 files changed, 24,858 insertions(+), 141 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/11/25011/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25011 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3c62e9e83965cb28065338733f182863e54d7474 Gerrit-Change-Number: 25011 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 10:50:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 27 Jul 2021 10:50:54 +0000 Subject: Change in osmo-pcu[master]: Move FLOW tbf_state transition to tbf_fsm. 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/+/25012 to look at the new patch set (#5). Change subject: Move FLOW tbf_state transition to tbf_fsm. ...................................................................... Move FLOW tbf_state transition to tbf_fsm. Related: OS#2709 Change-Id: Ia8c7de759c195d09263fb1f083fbf6cfa3087f8d --- M src/pdch.cpp M src/tbf.cpp M src/tbf_fsm.c M src/tbf_fsm.h M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err 6 files changed, 317 insertions(+), 99 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/12/25012/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25012 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia8c7de759c195d09263fb1f083fbf6cfa3087f8d Gerrit-Change-Number: 25012 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 10:50:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 27 Jul 2021 10:50:54 +0000 Subject: Change in osmo-pcu[master]: tests: tbf: Fix dl_tbf polled for data without being in FLOW state 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/+/25045 to look at the new patch set (#2). Change subject: tests: tbf: Fix dl_tbf polled for data without being in FLOW state ...................................................................... tests: tbf: Fix dl_tbf polled for data without being in FLOW state Prior code was wrong, as in it did stuff diferent to what is expected and actually done in osmo-pcu. In osmo-pcu code, the function is guarded and only called in FLOW or FINISHED state by the scheduler. Change-Id: If8029bee90adceee128ebb20c033756efd50e90e --- M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err 2 files changed, 32 insertions(+), 23 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/45/25045/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25045 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If8029bee90adceee128ebb20c033756efd50e90e Gerrit-Change-Number: 25045 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 10:50:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 27 Jul 2021 10:50:54 +0000 Subject: Change in osmo-pcu[master]: Move FINISHED tbf_state transition to tbf_fsm 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/+/25034 to look at the new patch set (#3). Change subject: Move FINISHED tbf_state transition to tbf_fsm ...................................................................... Move FINISHED tbf_state transition to tbf_fsm Related: OS#2709 Change-Id: I81f507e3a2821254f03364a58ead02333e63099f --- M src/tbf_dl.cpp M src/tbf_fsm.c M src/tbf_fsm.h M src/tbf_ul.cpp M tests/tbf/TbfTest.err 5 files changed, 30 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/34/25034/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25034 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I81f507e3a2821254f03364a58ead02333e63099f Gerrit-Change-Number: 25034 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 10:50:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 27 Jul 2021 10:50:54 +0000 Subject: Change in osmo-pcu[master]: Move WAIT_RELEASE tbf_state transition to tbf_fsm 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/+/25046 to look at the new patch set (#2). Change subject: Move WAIT_RELEASE tbf_state transition to tbf_fsm ...................................................................... Move WAIT_RELEASE tbf_state transition to tbf_fsm While at it, method maybe_start_new_window is renamed to rcvd_dl_final_ack to make more sense out of the code. Related: OS#2709 Change-Id: Iebd650c1036ef2d5132789778be7117ce3391c01 --- M src/tbf_dl.cpp M src/tbf_dl.h M src/tbf_fsm.c M src/tbf_fsm.h M tests/tbf/TbfTest.err 5 files changed, 56 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/46/25046/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25046 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iebd650c1036ef2d5132789778be7117ce3391c01 Gerrit-Change-Number: 25046 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 10:50:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 27 Jul 2021 10:50:54 +0000 Subject: Change in osmo-pcu[master]: Move RELEASING tbf_state transition to tbf_fsm 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/+/25047 to look at the new patch set (#2). Change subject: Move RELEASING tbf_state transition to tbf_fsm ...................................................................... Move RELEASING tbf_state transition to tbf_fsm PdchUlcTest output changes because the original state NULL is not expected when transactioning to RELEASING upon MAX N310* being hit. In any case, none of those events should happen in NULL state, but we don't really care about TBF states there so we are fine with whatever the state is. Related: OS#2709 Change-Id: I516b8d989a0d705e5664f8aeaf7d108e0105aa16 --- M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp M src/tbf_fsm.c M src/tbf_fsm.h M src/tbf_ul.cpp M tests/tbf/TbfTest.err M tests/ulc/PdchUlcTest.err 8 files changed, 61 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/47/25047/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25047 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I516b8d989a0d705e5664f8aeaf7d108e0105aa16 Gerrit-Change-Number: 25047 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 10:50:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 27 Jul 2021 10:50:54 +0000 Subject: Change in osmo-pcu[master]: Move T3169 and T3195 to tbf_fsm 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/+/25048 to look at the new patch set (#2). Change subject: Move T3169 and T3195 to tbf_fsm ...................................................................... Move T3169 and T3195 to tbf_fsm Change-Id: I599f4e7e82b0a8c0f5cf633c2d8b1975435f0b60 --- M src/tbf.cpp M src/tbf.h M src/tbf_fsm.c M src/tbf_fsm.h M src/tbf_ul.cpp M tests/tbf/TbfTest.err 6 files changed, 44 insertions(+), 28 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/48/25048/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25048 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I599f4e7e82b0a8c0f5cf633c2d8b1975435f0b60 Gerrit-Change-Number: 25048 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 10:50:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 27 Jul 2021 10:50:54 +0000 Subject: Change in osmo-pcu[master]: Move rate_ctr free to tbf subclass destructor 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/+/25053 to look at the new patch set (#2). Change subject: Move rate_ctr free to tbf subclass destructor ...................................................................... Move rate_ctr free to tbf subclass destructor This way we clean up tbf_free entry point, and leave memory freeing for later on at the end when talloc_free is called. Change-Id: I1c45e3296e565725bcbbca391d9518772fffa89d --- M src/tbf.cpp M src/tbf_dl.cpp M src/tbf_ul.cpp M src/tbf_ul.h 4 files changed, 15 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/53/25053/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25053 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1c45e3296e565725bcbbca391d9518772fffa89d Gerrit-Change-Number: 25053 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 10:50:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 27 Jul 2021 10:50:54 +0000 Subject: Change in osmo-pcu[master]: Get rid of tbf_dl:abort() 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/+/25054 to look at the new patch set (#2). Change subject: Get rid of tbf_dl:abort() ...................................................................... Get rid of tbf_dl:abort() Having that code in a separate function is confusing and adds code complexity since it looks like an entry point to start feeing a TBF, but it simply some (not yet really useful) set of instructions to be called one 1 code path in tbf_free. Let's move it there, this way it becomes clear tbf_free() is THE place to be (if you want to get rid of a TBF). Change-Id: I30febf4d21a0bfab37524c07598bbb0dd32f7f65 --- M src/tbf.cpp M src/tbf_dl.cpp M src/tbf_dl.h 3 files changed, 15 insertions(+), 29 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/54/25054/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25054 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I30febf4d21a0bfab37524c07598bbb0dd32f7f65 Gerrit-Change-Number: 25054 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 10:51:04 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 27 Jul 2021 10:51:04 +0000 Subject: Change in osmo-pcu[master]: WIP: Replace ul_ass_state with osmocom FSM References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25056 ) Change subject: WIP: Replace ul_ass_state with osmocom FSM ...................................................................... WIP: Replace ul_ass_state with osmocom FSM Change-Id: Id414eafe9c04a9a8759c6fb1a483bf2ee093a4d2 --- M src/Makefile.am M src/gprs_rlcmac_sched.cpp M src/pdch.cpp M src/tbf.cpp M src/tbf.h A src/tbf_ul_ass_fsm.c A src/tbf_ul_ass_fsm.h 7 files changed, 308 insertions(+), 64 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/56/25056/1 diff --git a/src/Makefile.am b/src/Makefile.am index 8070fda..c36abed 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -60,6 +60,7 @@ tbf.cpp \ tbf_fsm.c \ tbf_ul.cpp \ + tbf_ul_ass_fsm.c \ tbf_dl.cpp \ bts.cpp \ pdch.cpp \ @@ -99,6 +100,7 @@ tbf.h \ tbf_fsm.h \ tbf_ul.h \ + tbf_ul_ass_fsm.h \ tbf_dl.h \ bts.h \ pdch.h \ diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index 2adf1f3..b65d5be 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -58,8 +58,7 @@ tbf_cand->ul_ack = ul_tbf; if (ul_tbf->dl_ass_state_is(GPRS_RLCMAC_DL_ASS_SEND_ASS)) tbf_cand->dl_ass = ul_tbf; - if (ul_tbf->ul_ass_state_is(GPRS_RLCMAC_UL_ASS_SEND_ASS) - || ul_tbf->ul_ass_state_is(GPRS_RLCMAC_UL_ASS_SEND_ASS_REJ)) + if (tbf_ul_ass_rts(ul_tbf)) tbf_cand->ul_ass = ul_tbf; /* NACC ready to send. TFI assigned is needed to send messages */ if (ul_tbf->is_tfi_assigned() && ms_nacc_rts(ul_tbf->ms())) @@ -75,8 +74,7 @@ continue; if (dl_tbf->dl_ass_state_is(GPRS_RLCMAC_DL_ASS_SEND_ASS)) tbf_cand->dl_ass = dl_tbf; - if (dl_tbf->ul_ass_state_is(GPRS_RLCMAC_UL_ASS_SEND_ASS) - || dl_tbf->ul_ass_state_is(GPRS_RLCMAC_UL_ASS_SEND_ASS_REJ)) + if (tbf_ul_ass_rts(dl_tbf)) tbf_cand->ul_ass = dl_tbf; /* NACC ready to send. TFI assigned is needed to send messages */ if (dl_tbf->is_tfi_assigned() && ms_nacc_rts(dl_tbf->ms())) @@ -169,7 +167,7 @@ * received, thus preventing the others from being processed. */ if (tbf == tbfs->ul_ass && tbf->ul_ass_state_is(GPRS_RLCMAC_UL_ASS_SEND_ASS_REJ)) - msg = tbfs->ul_ass->create_packet_access_reject(); + msg = tbf_ul_ass_create_rlcmac_msg(tbfs->ul_ass); else if (tbf == tbfs->ul_ass && tbf->direction == GPRS_RLCMAC_DL_TBF) msg = tbfs->ul_ass->create_ul_ass(fn, ts); else if (tbf == tbfs->dl_ass && tbf->direction == GPRS_RLCMAC_UL_TBF) diff --git a/src/pdch.cpp b/src/pdch.cpp index b5622b4..ce29fbb 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -124,10 +124,10 @@ /* schedule uplink assignment or reject */ if (ul_tbf) { LOGP(DRLCMAC, LOGL_DEBUG, "MS requests UL TBF in ack message, so we provide one:\n"); - TBF_SET_ASS_STATE_UL(tbf, GPRS_RLCMAC_UL_ASS_SEND_ASS); + osmo_fsm_inst_dispatch(tbf->ul_ass_fsm.fi, TBF_UL_ASS_EV_SCHED_ASS, NULL); } else { LOGP(DRLCMAC, LOGL_DEBUG, "MS requests UL TBF in ack message, so we packet access reject:\n"); - TBF_SET_ASS_STATE_UL(tbf, GPRS_RLCMAC_UL_ASS_SEND_ASS_REJ); + osmo_fsm_inst_dispatch(tbf->ul_ass_fsm.fi, TBF_UL_ASS_EV_SCHED_ASS_REJ, NULL); } } @@ -695,7 +695,7 @@ ul_tbf->control_ts = ts_no; /* schedule uplink assignment */ - TBF_SET_ASS_STATE_UL(ul_tbf, GPRS_RLCMAC_UL_ASS_SEND_ASS); + osmo_fsm_inst_dispatch(tbf->ul_ass_fsm.fi, TBF_UL_ASS_EV_SCHED_ASS, NULL); /* get measurements */ get_meas(meas, request); diff --git a/src/tbf.cpp b/src/tbf.cpp index 8f85d2e..fc42148 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -50,6 +50,7 @@ #include "gsm_rlcmac.h" #include "coding_scheme.h" #include "nacc_fsm.h" +#include "tbf_ul_ass_fsm.h" } #include @@ -133,7 +134,6 @@ m_ctrs(NULL), m_ms(ms), dl_ass_state(GPRS_RLCMAC_DL_ASS_NONE), - ul_ass_state(GPRS_RLCMAC_UL_ASS_NONE), ul_ack_state(GPRS_RLCMAC_UL_ACK_NONE), m_egprs_enabled(false) { @@ -153,6 +153,10 @@ state_fsm.tbf = this; state_fsm.fi = osmo_fsm_inst_alloc(&tbf_fsm, this, &state_fsm, LOGL_INFO, NULL); + memset(&ul_ass_fsm, 0, sizeof(ul_state_fsm)); + ul_ass_fsm.tbf = this; + ul_ass_fsm.fi = osmo_fsm_inst_alloc(&tbf_ul_ass_fsm, this, &ul_ass_fsm, LOGL_INFO, NULL); + m_rlc.init(); m_llc.init(); @@ -164,6 +168,10 @@ { osmo_fsm_inst_free(state_fsm.fi); state_fsm.fi = NULL; + + osmo_fsm_inst_free(ul_ass_fsm.fi); + ul_ass_fsm.fi = NULL; + rate_ctr_group_free(m_ctrs); } @@ -921,36 +929,6 @@ return NULL; } -struct msgb *gprs_rlcmac_tbf::create_packet_access_reject() -{ - struct msgb *msg; - - msg = msgb_alloc(GSM_MACBLOCK_LEN, "rlcmac_ul_ass_rej"); - - bitvec *packet_access_rej = bitvec_alloc(GSM_MACBLOCK_LEN, tall_pcu_ctx); - - bitvec_unhex(packet_access_rej, DUMMY_VEC); - - Encoding::write_packet_access_reject(packet_access_rej, tlli(), - osmo_tdef_get(bts->T_defs_bts, 3172, OSMO_TDEF_MS, -1)); - - bts_do_rate_ctr_inc(bts, CTR_PKT_ACCESS_REJ); - - bitvec_pack(packet_access_rej, msgb_put(msg, GSM_MACBLOCK_LEN)); - - bitvec_free(packet_access_rej); - ul_ass_state = GPRS_RLCMAC_UL_ASS_NONE; - - /* Start release only if it is UL TBF */ - if (direction == GPRS_RLCMAC_UL_TBF) { - /* tbf_free() called in gprs_rlcmac_tbf::handle_timeout */ - T_START(this, T0, -2000, "reject (PACCH)", true); - } - - return msg; - -} - struct msgb *gprs_rlcmac_tbf::create_ul_ass(uint32_t fn, uint8_t ts) { struct msgb *msg = NULL; diff --git a/src/tbf.h b/src/tbf.h index 6c33bc2..485f559 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -64,15 +64,6 @@ extern const struct value_string gprs_rlcmac_tbf_dl_ass_state_names[]; -enum gprs_rlcmac_tbf_ul_ass_state { - GPRS_RLCMAC_UL_ASS_NONE = 0, - GPRS_RLCMAC_UL_ASS_SEND_ASS, /* send uplink assignment on next RTS */ - GPRS_RLCMAC_UL_ASS_SEND_ASS_REJ, /* send assignment reject next RTS */ - GPRS_RLCMAC_UL_ASS_WAIT_ACK, /* wait for PACKET CONTROL ACK */ -}; - -extern const struct value_string gprs_rlcmac_tbf_ul_ass_state_names[]; - enum gprs_rlcmac_tbf_ul_ack_state { GPRS_RLCMAC_UL_ACK_NONE = 0, GPRS_RLCMAC_UL_ACK_SEND_ACK, /* send acknowledge on next RTS */ @@ -153,7 +144,6 @@ #define T_START(tbf, t, T, r, f) tbf->t_start(t, T, r, f, __FILE__, __LINE__) #define TBF_SET_ASS_STATE_DL(t, st) do { t->set_ass_state_dl(st, __FILE__, __LINE__); } while(0) -#define TBF_SET_ASS_STATE_UL(t, st) do { t->set_ass_state_ul(st, __FILE__, __LINE__); } while(0) #define TBF_SET_ACK_STATE(t, st) do { t->set_ack_state(st, __FILE__, __LINE__); } while(0) #ifdef __cplusplus @@ -196,10 +186,9 @@ bool state_is(enum tbf_fsm_states rhs) const; bool state_is_not(enum tbf_fsm_states rhs) const; bool dl_ass_state_is(enum gprs_rlcmac_tbf_dl_ass_state rhs) const; - bool ul_ass_state_is(enum gprs_rlcmac_tbf_ul_ass_state rhs) const; + bool ul_ass_state_is(enum tbf_ul_ass_fsm_event rhs) const; bool ul_ack_state_is(enum gprs_rlcmac_tbf_ul_ack_state rhs) const; void set_ass_state_dl(enum gprs_rlcmac_tbf_dl_ass_state new_state, const char *file, int line); - void set_ass_state_ul(enum gprs_rlcmac_tbf_ul_ass_state new_state, const char *file, int line); void set_ack_state(enum gprs_rlcmac_tbf_ul_ack_state new_state, const char *file, int line); void poll_sched_set(const char *file, int line); void poll_sched_unset(const char *file, int line); @@ -210,7 +199,6 @@ struct msgb *create_dl_ass(uint32_t fn, uint8_t ts); struct msgb *create_ul_ass(uint32_t fn, uint8_t ts); - struct msgb *create_packet_access_reject(); GprsMs *ms() const; void set_ms(GprsMs *ms); @@ -305,6 +293,8 @@ struct rate_ctr_group *m_ctrs; struct tbf_fsm_ctx state_fsm; + struct tbf_ul_ass_fsm_ctx ul_ass_fsm; + struct llist_item m_ms_list; struct llist_item m_trx_list; @@ -318,7 +308,6 @@ private: void enable_egprs(); enum gprs_rlcmac_tbf_dl_ass_state dl_ass_state; - enum gprs_rlcmac_tbf_ul_ass_state ul_ass_state; enum gprs_rlcmac_tbf_ul_ack_state ul_ack_state; bool m_egprs_enabled; struct osmo_timer_list Tarr[T_MAX]; @@ -336,9 +325,9 @@ return dl_ass_state == rhs; } -inline bool gprs_rlcmac_tbf::ul_ass_state_is(enum gprs_rlcmac_tbf_ul_ass_state rhs) const +inline bool gprs_rlcmac_tbf::ul_ass_state_is(enum tbf_ul_ass_fsm_event rhs) const { - return ul_ass_state == rhs; + return (enum tbf_fsm_states)tbf->ul_ass_fsm.fi->state == rhs; } inline bool gprs_rlcmac_tbf::ul_ack_state_is(enum gprs_rlcmac_tbf_ul_ack_state rhs) const @@ -366,15 +355,6 @@ dl_ass_state = new_state; } -inline void gprs_rlcmac_tbf::set_ass_state_ul(enum gprs_rlcmac_tbf_ul_ass_state new_state, const char *file, int line) -{ - LOGPSRC(DTBF, LOGL_DEBUG, file, line, "%s changes UL ASS state from %s to %s\n", - tbf_name(this), - get_value_string(gprs_rlcmac_tbf_ul_ass_state_names, ul_ass_state), - get_value_string(gprs_rlcmac_tbf_ul_ass_state_names, new_state)); - ul_ass_state = new_state; -} - inline void gprs_rlcmac_tbf::set_ack_state(enum gprs_rlcmac_tbf_ul_ack_state new_state, const char *file, int line) { LOGPSRC(DTBF, LOGL_DEBUG, file, line, "%s changes UL ACK state from %s to %s\n", diff --git a/src/tbf_ul_ass_fsm.c b/src/tbf_ul_ass_fsm.c new file mode 100644 index 0000000..e45482f --- /dev/null +++ b/src/tbf_ul_ass_fsm.c @@ -0,0 +1,221 @@ +/* tbf_ul_ass_fsm.c + * + * Copyright (C) 2021 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 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#include + +#include + +#include +#include +#include +#include +#include +#include + +#define X(s) (1 << (s)) + +const struct osmo_tdef_state_timeout tbf_ul_ass_fsm_timeouts[32] = { + [TBF_UL_ASS_NONE] = {}, + [TBF_UL_ASS_SEND_ASS] = {}, + [TBF_UL_ASS_SEND_ASS_REJ] = {}, + [TBF_UL_ASS_WAIT_ACK] = {}, +}; + +const struct value_string tbf_ul_ass_fsm_event_names[] = { + { TBF_UL_ASS_EV_SCHED_ASS, "SCHED_ASS" }, + { TBF_UL_ASS_EV_SCHED_ASS_REJ, "SCHED_ASS_REJ" }, + { TBF_UL_ASS_EV_CREATE_RLCMAC_MSG, "CREATE_RLCMAC_MSG" }, + { 0, NULL } +}; + + +static struct msgb *create_packet_access_reject(const struct tbf_ul_ass_fsm_ctx *ctx) +{ + struct msgb *msg; + + msg = msgb_alloc(GSM_MACBLOCK_LEN, "rlcmac_ul_ass_rej"); + + bitvec *packet_access_rej = bitvec_alloc(GSM_MACBLOCK_LEN, tall_pcu_ctx); + + bitvec_unhex(packet_access_rej, DUMMY_VEC); + + Encoding::write_packet_access_reject(packet_access_rej, tlli(), + osmo_tdef_get(bts->T_defs_bts, 3172, OSMO_TDEF_MS, -1)); + + bts_do_rate_ctr_inc(bts, CTR_PKT_ACCESS_REJ); + + bitvec_pack(packet_access_rej, msgb_put(msg, GSM_MACBLOCK_LEN)); + + bitvec_free(packet_access_rej); + ul_ass_state = GPRS_RLCMAC_UL_ASS_NONE; + + /* Start release only if it is UL TBF */ + if (direction == GPRS_RLCMAC_UL_TBF) { + /* tbf_free() called in gprs_rlcmac_tbf::handle_timeout */ + T_START(this, T0, -2000, "reject (PACCH)", true); + } + + return msg; + +} + + +static void st_none(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct tbf_ul_ass_fsm_ctx *ctx = (struct tbf_ul_ass_fsm_ctx *)fi->priv; + switch (event) { + case TBF_UL_ASS_EV_SCHED_ASS: + tbf_ul_ass_fsm_state_chg(fi, TBF_UL_ASS_SEND_ASS); + break; + case TBF_UL_ASS_EV_SCHED_ASS_REJ: + tbf_ul_ass_fsm_state_chg(fi, TBF_UL_ASS_SEND_ASS_REJ); + break; + default: + OSMO_ASSERT(0); + } +} + +static void st_send_ass(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct tbf_ul_ass_fsm_ctx *ctx = (struct tbf_ul_ass_fsm_ctx *)fi->priv; + switch (event) { + case TBF_UL_ASS_EV_CREATE_RLCMAC_MSG: + break; + default: + OSMO_ASSERT(0); + } +} + +static void st_send_ass_rej(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct tbf_ul_ass_fsm_ctx *ctx = (struct tbf_ul_ass_fsm_ctx *)fi->priv; + switch (event) { + case TBF_UL_ASS_EV_CREATE_RLCMAC_MSG: + data_ctx = (struct ms_anr_ev_create_rlcmac_msg_ctx *)data; + *data = create_packet_access_reject(ctx); + if (!*data) + return; + tbf_ul_ass_fsm_state_chg(fi, TBF_UL_ASS_NONE); + break; + default: + OSMO_ASSERT(0); + } +} + +static void st_wait_ack(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct tbf_ul_ass_fsm_ctx *ctx = (struct tbf_ul_ass_fsm_ctx *)fi->priv; + switch (event) { + default: + OSMO_ASSERT(0); + } +} + +static void tbf_ul_ass_fsm_cleanup(struct osmo_fsm_inst *fi, enum osmo_fsm_term_cause cause) +{ + /* TODO: needed ? + * struct tbf_ul_ass_fsm_ctx *ctx = (struct tbf_ul_ass_fsm_ctx *)fi->priv; + */ +} + +static int tbf_ul_ass_fsm_timer_cb(struct osmo_fsm_inst *fi) +{ + struct tbf_ul_ass_fsm_ctx *ctx = (struct tbf_ul_ass_fsm_ctx *)fi->priv; + switch (fi->T) { + default: + OSMO_ASSERT(0); + } + return 0; +} + +static struct osmo_fsm_state tbf_ul_ass_fsm_states[] = { + [TBF_UL_ASS_NONE] = { + .in_event_mask = + X(TBF_UL_ASS_EV_SCHED_ASS) | + X(TBF_UL_ASS_EV_SCHED_ASS_REJ), + .out_state_mask = + X(TBF_UL_ASS_SEND_ASS) | + X(TBF_UL_ASS_SEND_ASS_REJ), + .name = "NONE", + .action = st_none, + }, + [TBF_UL_ASS_SEND_ASS] = { + .in_event_mask = X(TBF_UL_ASS_EV_CREATE_RLCMAC_MSG), + .out_state_mask = X(TBF_UL_ASS_WAIT_ACK), + .name = "SEND_ASS", + //.onenter = st_assign_on_enter, + .action = st_send_ass, + }, + [TBF_UL_ASS_SEND_ASS_REJ] = { + .in_event_mask = X(TBF_UL_ASS_EV_CREATE_RLCMAC_MSG), + .out_state_mask = X(TBF_UL_ASS_NONE), + .name = "SEND_ASS_REJ", + //.onenter = st_flow_on_enter, + .action = st_send_ass_rej, + }, + [TBF_UL_ASS_WAIT_ACK] = { + .in_event_mask = 0, + .out_state_mask = X(TBF_UL_ASS_NONE), + .name = "WAIT_ACK", + //.onenter = st_finished_on_enter, + .action = st_wait_ack, + }, +}; + +/*void tbf_ul_ass_fsm_allstate_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct tbf_ul_ass_fsm_ctx *ctx = (struct tbf_ul_ass_fsm_ctx *)fi->priv; + switch (event) { + case TBF_EV_ASSIGN_DEL_CCCH: + mod_ass_type(ctx, GPRS_RLCMAC_FLAG_CCCH, false); + break; + default: + OSMO_ASSERT(0); + } +}*/ + +struct osmo_fsm tbf_ul_ass_fsm = { + .name = "UL_ASS_TBF", + .states = tbf_ul_ass_fsm_states, + .num_states = ARRAY_SIZE(tbf_ul_ass_fsm_states), + .timer_cb = tbf_ul_ass_fsm_timer_cb, + .cleanup = tbf_ul_ass_fsm_cleanup, + .log_subsys = DTBF, + .event_names = tbf_ul_ass_fsm_event_names, + //.allstate_action = tbf_ul_ass_fsm_allstate_action, + //.allstate_event_mask = 0, +}; + +static __attribute__((constructor)) void tbf_ul_ass_fsm_init(void) +{ + OSMO_ASSERT(osmo_fsm_register(&tbf_ul_ass_fsm) == 0); +} + + +struct msgb *tbf_ul_ass_create_rlcmac_msg(const struct gprs_rlcmac_tbf* tbf) +{ + int rc; + struct msgb *msg = NULL; + + rc = osmo_fsm_inst_dispatch(tbf->ul_ass_fsm.fi, TBF_UL_ASS_EV_CREATE_RLCMAC_MSG, &msg); + if (rc != 0 || !msg) + return NULL; + return msg; +} diff --git a/src/tbf_ul_ass_fsm.h b/src/tbf_ul_ass_fsm.h new file mode 100644 index 0000000..9aa84fc --- /dev/null +++ b/src/tbf_ul_ass_fsm.h @@ -0,0 +1,65 @@ +/* tbf_ul_ass_fsm.h + * + * Copyright (C) 2021 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 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ +#pragma once + +#include +#include + +#include + +struct gprs_rlcmac_ul_tbf; + +enum tbf_ul_ass_fsm_event { + TBF_UL_ASS_EV_SCHED_ASS, /* Tx Uplink Assignment is pending */ + TBF_UL_ASS_EV_SCHED_ASS_REJ, /* Tx Uplink Assignment is pending */ + TBF_UL_ASS_EV_CREATE_RLCMAC_MSG, /* SCheduler wants to schedule a rlcmac msg from us */ +}; + +enum tbf_ul_ass_fsm_states { + TBF_UL_ASS_NONE = 0, + TBF_UL_ASS_SEND_ASS, /* send uplink assignment on next RTS */ + TBF_UL_ASS_SEND_ASS_REJ, /* send assignment reject next RTS */ + TBF_UL_ASS_WAIT_ACK, /* wait for PACKET CONTROL ACK */ +}; + +struct tbf_ul_ass_fsm_ctx { + struct osmo_fsm_inst *fi; + struct gprs_rlcmac_tbf* tbf; /* back pointer */ +}; + +extern const struct osmo_tdef_state_timeout tbf_ul_ass_fsm_timeouts[32]; +/* Transition to a state, using the T timer defined in assignment_fsm_timeouts. + * The actual timeout value is in turn obtained from conn->T_defs. + * Assumes local variable fi exists. */ +#define tbf_ul_ass_fsm_state_chg(fi, NEXT_STATE) \ + osmo_tdef_fsm_inst_state_chg(fi, NEXT_STATE, \ + tbf_ul_ass_fsm_timeouts, \ + the_pcu->T_defs, \ + -1) + +extern struct osmo_fsm tbf_ul_ass_fsm; + + +struct msgb *tbf_ul_ass_create_rlcmac_msg_rej(const struct gprs_rlcmac_tbf* tbf); +static inline bool tbf_ul_ass_rts(const struct gprs_rlcmac_tbf* tbf) +{ + return tbf->ul_ass_fsm.fi->state == TBF_UL_ASS_SEND_ASS || + tbf->ul_ass_fsm.fi->state == TBF_UL_ASS_SEND_ASS_REJ; +} -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25056 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id414eafe9c04a9a8759c6fb1a483bf2ee093a4d2 Gerrit-Change-Number: 25056 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-CC: Jenkins Builder Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 10:51:31 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 27 Jul 2021 10:51:31 +0000 Subject: Change in libosmo-sccp[master]: m3ua: reject deregistration of static routing keys In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/25024 ) Change subject: m3ua: reject deregistration of static routing keys ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/25024 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ie5d84d06e7d5d32c8a22f770f71a5449f4a78484 Gerrit-Change-Number: 25024 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 27 Jul 2021 10:51: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 Jul 27 10:52:23 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 27 Jul 2021 10:52:23 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: upgrade expected behavior for TC_dlcx_wildcarded In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24821 ) Change subject: MGCP_Test: upgrade expected behavior for TC_dlcx_wildcarded ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24821 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I61e23e264bc85eb36d07431c7839fb445c110947 Gerrit-Change-Number: 24821 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 27 Jul 2021 10:52: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 Jul 27 11:09:13 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 27 Jul 2021 11:09:13 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: allow to reset endpoints on startup In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/25008 to look at the new patch set (#6). Change subject: mgcp_client: allow to reset endpoints on startup ...................................................................... mgcp_client: allow to reset endpoints on startup Depending on the usecase of osmo_mpcg_client it may be helpful to send a DLCX to certain endpoints. Usually this would be a wildcarded endpoint that resets the entire trunk to drop lingering RTP flows which may still present after a restart/crash, but it might be also a group of specific endpoints. The user may specify an arbitrary amount of endpoints where the mgcp client will send a DLCX to. It does not matter if the endpoints are wildcarded or not. Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Related: SYS#5535 --- M TODO-RELEASE M include/osmocom/mgcp_client/mgcp_client.h M src/libosmo-mgcp-client/mgcp_client.c M src/libosmo-mgcp-client/mgcp_client_vty.c 4 files changed, 141 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/08/25008/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25008 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Gerrit-Change-Number: 25008 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 12:38:17 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 27 Jul 2021 12:38:17 +0000 Subject: Change in libosmocore[master]: vty: clear screen with ^L In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25013 ) Change subject: vty: clear screen with ^L ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25013 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie2356cd92f39b4dc28b5c20bbe4557fb0d972747 Gerrit-Change-Number: 25013 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 27 Jul 2021 12:38: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 Jul 27 12:38:28 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 27 Jul 2021 12:38:28 +0000 Subject: Change in libosmocore[master]: vty: clear screen with ^L In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25013 ) Change subject: vty: clear screen with ^L ...................................................................... vty: clear screen with ^L Use ANSI escape characters to clear the screen with ^L, like it works in typical Linux shells. I always found it slightly inconvenient that this didn't work in the VTY. Change-Id: Ie2356cd92f39b4dc28b5c20bbe4557fb0d972747 --- M src/vty/vty.c 1 file changed, 17 insertions(+), 0 deletions(-) Approvals: dexter: 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/vty/vty.c b/src/vty/vty.c index 76c6ef5..a39f268 100644 --- a/src/vty/vty.c +++ b/src/vty/vty.c @@ -459,6 +459,7 @@ static const char telnet_backward_char = 0x08; static const char telnet_space_char = ' '; +static const char telnet_escape_char = 0x1B; /* Basic function to write buffer to vty. */ static void vty_write(struct vty *vty, const char *buf, size_t nbytes) @@ -858,6 +859,19 @@ vty->cp = 0; } +/* When '^L' is typed, clear all lines above the current one. */ +static void vty_clear_screen(struct vty *vty) +{ + vty_out(vty, "%c%s%c%s", + telnet_escape_char, + "[2J", /* Erase Screen */ + telnet_escape_char, + "[H" /* Cursor Home */ + ); + vty_prompt(vty); + vty_redraw_line(vty); +} + /* When '^Z' is received from vty, move down to the enable mode. */ static void vty_end_config(struct vty *vty) { @@ -1402,6 +1416,9 @@ case CONTROL('K'): vty_kill_line(vty); break; + case CONTROL('L'): + vty_clear_screen(vty); + break; case CONTROL('N'): vty_next_line(vty); break; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25013 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie2356cd92f39b4dc28b5c20bbe4557fb0d972747 Gerrit-Change-Number: 25013 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter 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 Jul 27 12:40:36 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 27 Jul 2021 12:40:36 +0000 Subject: Change in osmo-pcu[master]: Move NULL and ASSIGN tbf_state transition to tbf_fsm In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25011 ) Change subject: Move NULL and ASSIGN tbf_state transition to tbf_fsm ...................................................................... Patch Set 5: Code-Review+1 Makes sense. Thanks for doing all the refactoring, this makes it much easier to understand the code. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25011 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3c62e9e83965cb28065338733f182863e54d7474 Gerrit-Change-Number: 25011 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 27 Jul 2021 12:40: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 Jul 27 12:41:08 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 27 Jul 2021 12:41:08 +0000 Subject: Change in osmo-pcu[master]: Move FLOW tbf_state transition to tbf_fsm. In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25012 ) Change subject: Move FLOW tbf_state transition to tbf_fsm. ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25012 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia8c7de759c195d09263fb1f083fbf6cfa3087f8d Gerrit-Change-Number: 25012 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 27 Jul 2021 12:41:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 12:41:50 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 27 Jul 2021 12:41:50 +0000 Subject: Change in osmo-pcu[master]: tests: tbf: Fix dl_tbf polled for data without being in FLOW state In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25045 ) Change subject: tests: tbf: Fix dl_tbf polled for data without being in FLOW state ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25045 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If8029bee90adceee128ebb20c033756efd50e90e Gerrit-Change-Number: 25045 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 27 Jul 2021 12:41:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 12:42:22 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 27 Jul 2021 12:42:22 +0000 Subject: Change in osmo-pcu[master]: Move FINISHED tbf_state transition to tbf_fsm In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25034 ) Change subject: Move FINISHED tbf_state transition to tbf_fsm ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25034 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I81f507e3a2821254f03364a58ead02333e63099f Gerrit-Change-Number: 25034 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 27 Jul 2021 12:42: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 Jul 27 12:42:59 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 27 Jul 2021 12:42:59 +0000 Subject: Change in osmo-pcu[master]: Move WAIT_RELEASE tbf_state transition to tbf_fsm In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25046 ) Change subject: Move WAIT_RELEASE tbf_state transition to tbf_fsm ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25046 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iebd650c1036ef2d5132789778be7117ce3391c01 Gerrit-Change-Number: 25046 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 27 Jul 2021 12:42:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 12:45:43 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 27 Jul 2021 12:45:43 +0000 Subject: Change in osmo-pcu[master]: Move RELEASING tbf_state transition to tbf_fsm In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25047 ) Change subject: Move RELEASING tbf_state transition to tbf_fsm ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/25047/1/src/tbf_fsm.c File src/tbf_fsm.c: https://gerrit.osmocom.org/c/osmo-pcu/+/25047/1/src/tbf_fsm.c at 194 PS1, Line 194: //struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; > TBH I usually add them on purpose as a skeleton in order to speed up implementation since usually on [?] Okay, makes sense. Fine with me to keep it then (already removed here, but in future patches). -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25047 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I516b8d989a0d705e5664f8aeaf7d108e0105aa16 Gerrit-Change-Number: 25047 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 27 Jul 2021 12:45:43 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: osmith 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 Jul 27 12:46:00 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 27 Jul 2021 12:46:00 +0000 Subject: Change in osmo-pcu[master]: Move T3169 and T3195 to tbf_fsm In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25048 ) Change subject: Move T3169 and T3195 to tbf_fsm ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25048 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I599f4e7e82b0a8c0f5cf633c2d8b1975435f0b60 Gerrit-Change-Number: 25048 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 27 Jul 2021 12:46:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 12:48:24 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 27 Jul 2021 12:48:24 +0000 Subject: Change in osmo-pcu[master]: Move rate_ctr free to tbf subclass destructor In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25053 ) Change subject: Move rate_ctr free to tbf subclass destructor ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25053 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1c45e3296e565725bcbbca391d9518772fffa89d Gerrit-Change-Number: 25053 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 27 Jul 2021 12:48: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 Jul 27 12:49:10 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 27 Jul 2021 12:49:10 +0000 Subject: Change in osmo-pcu[master]: Get rid of tbf_dl:abort() In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25054 ) Change subject: Get rid of tbf_dl:abort() ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25054 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I30febf4d21a0bfab37524c07598bbb0dd32f7f65 Gerrit-Change-Number: 25054 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 27 Jul 2021 12: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 Tue Jul 27 12:50:59 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 27 Jul 2021 12:50:59 +0000 Subject: Change in libosmo-sccp[master]: m3ua: reject deregistration of static routing keys In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/25024 ) Change subject: m3ua: reject deregistration of static routing keys ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/25024 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ie5d84d06e7d5d32c8a22f770f71a5449f4a78484 Gerrit-Change-Number: 25024 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 27 Jul 2021 12:50:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 12:51:03 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 27 Jul 2021 12:51:03 +0000 Subject: Change in libosmo-sccp[master]: m3ua: reject deregistration of static routing keys In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/25024 ) Change subject: m3ua: reject deregistration of static routing keys ...................................................................... m3ua: reject deregistration of static routing keys Make STP_Tests_M3UA.TC_rkm_unreg_never_registered pass. Closes: OS#4239 Change-Id: Ie5d84d06e7d5d32c8a22f770f71a5449f4a78484 --- M src/xua_rkm.c 1 file changed, 6 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve dexter: Looks good to me, but someone else must approve osmith: Looks good to me, approved diff --git a/src/xua_rkm.c b/src/xua_rkm.c index 10335ea..6abd17d 100644 --- a/src/xua_rkm.c +++ b/src/xua_rkm.c @@ -350,6 +350,12 @@ return -1; } + /* Reject if not dynamically allocated (OS#4239) */ + if (!as->rkm_dyn_allocated) { + msgb_append_dereg_res(resp, M3UA_RKM_DEREG_ERR_NOT_REGD, 0); + return -1; + } + /* Reject if ASP is not even part of AS */ if (!osmo_ss7_as_has_asp(as, asp)) { msgb_append_dereg_res(resp, M3UA_RKM_DEREG_ERR_INVAL_RCTX, 0); -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/25024 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ie5d84d06e7d5d32c8a22f770f71a5449f4a78484 Gerrit-Change-Number: 25024 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter 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 Jul 27 13:00:27 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 27 Jul 2021 13:00:27 +0000 Subject: Change in osmo-pcu[master]: WIP: Replace ul_ass_state with osmocom FSM In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/25056 to look at the new patch set (#2). Change subject: WIP: Replace ul_ass_state with osmocom FSM ...................................................................... WIP: Replace ul_ass_state with osmocom FSM Change-Id: Id414eafe9c04a9a8759c6fb1a483bf2ee093a4d2 --- M src/Makefile.am M src/encoding.cpp M src/encoding.h M src/gprs_rlcmac_sched.cpp M src/pdch.cpp M src/tbf.cpp M src/tbf.h M src/tbf_ul.cpp M src/tbf_ul.h A src/tbf_ul_ass_fsm.c A src/tbf_ul_ass_fsm.h M tests/alloc/AllocTest.err M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err M tests/types/TypesTest.err 15 files changed, 100,543 insertions(+), 225 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/56/25056/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25056 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id414eafe9c04a9a8759c6fb1a483bf2ee093a4d2 Gerrit-Change-Number: 25056 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 13:56:12 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 27 Jul 2021 13:56:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_cm_reestablishment In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25021 ) Change subject: bsc: add TC_cm_reestablishment ...................................................................... Patch Set 3: but such enum has to be defined before definition of the COORD_PT in MSC_ConnectionHandler.ttcn. so for example the coord events needed by TC_cm_reestablishment would have to be defined in MSC_ConnectionHandler.ttcn. Each test that uses COORD will have distinct events to send to the other component. So we collect event names for various tests from various BSC_Tests* files, all in MSC_ConnectionHandler.ttcn, and it's likely to produce unused entries / cruft as time passes. Using a charstring does not need this "bloat" in distant source files. Spotting the wrong strings being sent is not hard, compared to the other pitfalls in ttcn. Using a const charstring definition gives the same level of compile-time check, if so desired. So I opt towards de-central flexibility here, rather define the events to be sent close to the actual test, no need to perfectly validate every COORD message (which an enum would also not do, since it would still be possible to send unrelated enum values at the wrong time...). Actually, what would be even nicer is allowing *any* type of messages being sent. Is that possible? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25021 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1e7d446644f46b8a0a94688e618ffb4f23a8900e Gerrit-Change-Number: 25021 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 27 Jul 2021 13:56: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 Jul 27 14:02:15 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 27 Jul 2021 14:02:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add Coord_PT to communicate between components In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25019 ) Change subject: bsc: add Coord_PT to communicate between components ...................................................................... Patch Set 3: > see my other comment on the use of charstring for the record, here: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25021 I answered there that i prefer a charstring over an enum, so that the events sent can be kept close to the test using them. There is no practical benefit from using an enum instead of const charstrings. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25019 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I093ca7f66a3106a75e409ad8ea03e7db3c3cb165 Gerrit-Change-Number: 25019 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 27 Jul 2021 14:02:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 14:03:37 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 27 Jul 2021 14:03:37 +0000 Subject: Change in osmo-pcu[master]: Replace ul_ass_state with osmocom FSM In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/25056 to look at the new patch set (#3). Change subject: Replace ul_ass_state with osmocom FSM ...................................................................... Replace ul_ass_state with osmocom FSM Related: OS#2709 Change-Id: Id414eafe9c04a9a8759c6fb1a483bf2ee093a4d2 --- M src/Makefile.am M src/encoding.cpp M src/encoding.h M src/gprs_rlcmac_sched.cpp M src/pdch.cpp M src/tbf.cpp M src/tbf.h M src/tbf_ul.cpp M src/tbf_ul.h A src/tbf_ul_ass_fsm.c A src/tbf_ul_ass_fsm.h M tests/alloc/AllocTest.err M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err M tests/types/TypesTest.err 15 files changed, 100,523 insertions(+), 205 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/56/25056/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25056 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id414eafe9c04a9a8759c6fb1a483bf2ee093a4d2 Gerrit-Change-Number: 25056 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 14:05:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 27 Jul 2021 14:05:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_cm_reestablishment In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25021 ) Change subject: bsc: add TC_cm_reestablishment ...................................................................... Patch Set 3: I'm personally fine with using strings here, I think it's a faster approach and lets more flexibility (like sending parameters, etc) in a quick way. In the end, it's test specific content, so no need to enforce a strict formatting. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25021 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1e7d446644f46b8a0a94688e618ffb4f23a8900e Gerrit-Change-Number: 25021 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 27 Jul 2021 14:05: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 Tue Jul 27 14:34:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 27 Jul 2021 14:34:08 +0000 Subject: Change in libosmocore[master]: utils: Fix c++ warn in OSMO_STRBUF_APPEND References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/25057 ) Change subject: utils: Fix c++ warn in OSMO_STRBUF_APPEND ...................................................................... utils: Fix c++ warn in OSMO_STRBUF_APPEND It's really a false positive since _sb_l is compared and granted to be psotivie by the time we compare, so we don't really care, but c++ is not happy about it. """ /osmocom/core/utils.h:227:40: error: comparison of integer expressions of different signedness: ?int? and ?size_t? {aka ?long unsigned int?} [-Werror=sign-compare] 227 | if (_sb_l < 0 || _sb_l > _sb_remain) \ | ~~~~~~^~~~~~~~~~~~ """ Change-Id: I90e7374aa959468670f1c0ea65a427398d423ddb --- M include/osmocom/core/utils.h 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/57/25057/1 diff --git a/include/osmocom/core/utils.h b/include/osmocom/core/utils.h index c9d5560..1c60390 100644 --- a/include/osmocom/core/utils.h +++ b/include/osmocom/core/utils.h @@ -224,7 +224,7 @@ (STRBUF).pos = (STRBUF).buf; \ size_t _sb_remain = (STRBUF).buf ? (STRBUF).len - ((STRBUF).pos - (STRBUF).buf) : 0; \ int _sb_l = func((STRBUF).pos, _sb_remain, ##args); \ - if (_sb_l < 0 || _sb_l > _sb_remain) \ + if (_sb_l < 0 || (size_t)_sb_l > _sb_remain) \ (STRBUF).pos = (STRBUF).buf + (STRBUF).len; \ else if ((STRBUF).pos) \ (STRBUF).pos += _sb_l; \ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25057 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I90e7374aa959468670f1c0ea65a427398d423ddb Gerrit-Change-Number: 25057 Gerrit-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 Jul 27 14:42:49 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 27 Jul 2021 14:42:49 +0000 Subject: Change in osmo-pcu[master]: tbf: Reimplement rlcmac_diag() and make it available from C References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25058 ) Change subject: tbf: Reimplement rlcmac_diag() and make it available from C ...................................................................... tbf: Reimplement rlcmac_diag() and make it available from C We never use the std:string anyway, we always call .c_str() to log using osmocom logging system. Furthermore, we'll need to use it from C code soon (next commit). Change-Id: I3ad66f9f3f4d55d11da3a3b8b38656ae2dd50603 --- M src/tbf.cpp M src/tbf.h 2 files changed, 28 insertions(+), 27 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/58/25058/1 diff --git a/src/tbf.cpp b/src/tbf.cpp index 9d4c334..e3b9fa8 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -446,7 +446,7 @@ { if (run_diag) { LOGPTBF(tbf, LOGL_NOTICE, "%s timeout expired, freeing TBF: %s\n", - get_value_string(tbf_timers_names, t), tbf->rlcmac_diag().c_str()); + get_value_string(tbf_timers_names, t), tbf_rlcmac_diag(tbf)); } else { LOGPTBF(tbf, LOGL_NOTICE, "%s timeout expired, freeing TBF\n", get_value_string(tbf_timers_names, t)); @@ -610,7 +610,7 @@ if (!ul_tbf->ctrl_ack_to_toggle()) { LOGPTBF(this, LOGL_NOTICE, "Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ACK: %s\n", - rlcmac_diag().c_str()); + tbf_rlcmac_diag(this)); } bts_do_rate_ctr_inc(bts, CTR_RLC_ACK_TIMEDOUT); bts_do_rate_ctr_inc(bts, CTR_PUAN_POLL_TIMEDOUT); @@ -628,7 +628,7 @@ if (!(state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_TO_UL_ASS))) { LOGPTBF(this, LOGL_NOTICE, "Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ASSIGNMENT: %s\n", - rlcmac_diag().c_str()); + tbf_rlcmac_diag(this)); state_fsm.state_flags |= (1 << GPRS_RLCMAC_FLAG_TO_UL_ASS); } bts_do_rate_ctr_inc(bts, CTR_RLC_ASS_TIMEDOUT); @@ -645,7 +645,7 @@ if (!(state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_TO_DL_ASS))) { LOGPTBF(this, LOGL_NOTICE, "Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: %s\n", - rlcmac_diag().c_str()); + tbf_rlcmac_diag(this)); state_fsm.state_flags |= (1 << GPRS_RLCMAC_FLAG_TO_DL_ASS); } dl_ass_state = GPRS_RLCMAC_DL_ASS_NONE; @@ -670,7 +670,7 @@ if (!(dl_tbf->state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_TO_DL_ACK))) { LOGPTBF(this, LOGL_NOTICE, "Timeout for polling PACKET DOWNLINK ACK: %s\n", - dl_tbf->rlcmac_diag().c_str()); + tbf_rlcmac_diag(dl_tbf)); dl_tbf->state_fsm.state_flags |= (1 << GPRS_RLCMAC_FLAG_TO_DL_ACK); } @@ -800,26 +800,6 @@ } } -std::string gprs_rlcmac_tbf::rlcmac_diag() -{ - std::ostringstream os; - os << "|"; - if ((state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_CCCH))) - os << "Assignment was on CCCH|"; - if ((state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_PACCH))) - os << "Assignment was on PACCH|"; - if ((state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_UL_DATA))) - os << "Uplink data was received|"; - else if (direction == GPRS_RLCMAC_UL_TBF) - os << "No uplink data received yet|"; - if ((state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_DL_ACK))) - os << "Downlink ACK was received|"; - else if (direction == GPRS_RLCMAC_DL_TBF) - os << "No downlink ACK received yet|"; - - return os.str(); -} - struct msgb *gprs_rlcmac_tbf::create_dl_ass(uint32_t fn, uint8_t ts) { struct msgb *msg; @@ -1106,3 +1086,25 @@ { tbf->poll_timeout(pdch, poll_fn, reason); } + +const char* tbf_rlcmac_diag(const struct gprs_rlcmac_tbf *tbf) +{ + static char buf[256]; + struct osmo_strbuf sb = { .buf = buf, .len = sizeof(buf) }; + + OSMO_STRBUF_PRINTF(sb, "|"); + if (tbf->state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_CCCH)) + OSMO_STRBUF_PRINTF(sb, "Assignment was on CCCH|"); + if (tbf->state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_PACCH)) + OSMO_STRBUF_PRINTF(sb, "Assignment was on PACCH|"); + if (tbf->state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_UL_DATA)) + OSMO_STRBUF_PRINTF(sb, "Uplink data was received|"); + else if (tbf->direction == GPRS_RLCMAC_UL_TBF) + OSMO_STRBUF_PRINTF(sb, "No uplink data received yet|"); + if (tbf->state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_DL_ACK)) + OSMO_STRBUF_PRINTF(sb, "Downlink ACK was received|"); + else if (tbf->direction == GPRS_RLCMAC_DL_TBF) + OSMO_STRBUF_PRINTF(sb, "No downlink ACK received yet|"); + + return buf; +} diff --git a/src/tbf.h b/src/tbf.h index 3313255..da683b6 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -173,6 +173,7 @@ void tbf_set_polling(struct gprs_rlcmac_tbf *tbf, uint32_t new_poll_fn, uint8_t ts, enum pdch_ulc_tbf_poll_reason t); void tbf_poll_timeout(struct gprs_rlcmac_tbf *tbf, struct gprs_rlcmac_pdch *pdch, uint32_t poll_fn, enum pdch_ulc_tbf_poll_reason reason); void tbf_update_state_fsm_name(struct gprs_rlcmac_tbf *tbf); +const char* tbf_rlcmac_diag(const struct gprs_rlcmac_tbf *tbf); #ifdef __cplusplus } #endif @@ -207,8 +208,6 @@ uint8_t tsc() const; - std::string rlcmac_diag(); - bool n_inc(enum tbf_counters n); void n_reset(enum tbf_counters n); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25058 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3ad66f9f3f4d55d11da3a3b8b38656ae2dd50603 Gerrit-Change-Number: 25058 Gerrit-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 Jul 27 14:42:49 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 27 Jul 2021 14:42:49 +0000 Subject: Change in osmo-pcu[master]: tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_TO_UL_ASS References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25059 ) Change subject: tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_TO_UL_ASS ...................................................................... tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_TO_UL_ASS The flag is only used to print some uninteresting stuff, let's drop it in order to simplify code. We can add later whatever we want in the new shiny FSM. Change-Id: I20aa7f83cc4f32de129e64c74a91745b983a7b16 --- M src/pdch.cpp M src/tbf.cpp M src/tbf.h M src/tbf_ul_ass_fsm.c M tests/tbf/TbfTest.err 5 files changed, 13 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/59/25059/1 diff --git a/src/pdch.cpp b/src/pdch.cpp index 9bbb16a..8c61293 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -394,8 +394,6 @@ tbf_free(tbf); osmo_fsm_inst_dispatch(new_tbf->state_fsm.fi, TBF_EV_ASSIGN_ACK_PACCH, NULL); - if (new_tbf->check_n_clear(GPRS_RLCMAC_FLAG_TO_UL_ASS)) - LOGPTBF(new_tbf, LOGL_NOTICE, "Recovered uplink assignment for UL\n"); tbf_assign_control_ts(new_tbf); /* there might be LLC packets waiting in the queue, but the DL diff --git a/src/tbf.cpp b/src/tbf.cpp index e3b9fa8..fa916db 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -625,12 +625,6 @@ } } else if (ul_ass_state_is(TBF_UL_ASS_WAIT_ACK)) { - if (!(state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_TO_UL_ASS))) { - LOGPTBF(this, LOGL_NOTICE, - "Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ASSIGNMENT: %s\n", - tbf_rlcmac_diag(this)); - state_fsm.state_flags |= (1 << GPRS_RLCMAC_FLAG_TO_UL_ASS); - } bts_do_rate_ctr_inc(bts, CTR_RLC_ASS_TIMEDOUT); bts_do_rate_ctr_inc(bts, CTR_PUA_POLL_TIMEDOUT); if (n_inc(N3105)) { diff --git a/src/tbf.h b/src/tbf.h index da683b6..45f3a4e 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -138,8 +138,7 @@ #define GPRS_RLCMAC_FLAG_DL_ACK 3 /* downlink acknowledge received */ #define GPRS_RLCMAC_FLAG_TO_UL_ACK 4 #define GPRS_RLCMAC_FLAG_TO_DL_ACK 5 -#define GPRS_RLCMAC_FLAG_TO_UL_ASS 6 -#define GPRS_RLCMAC_FLAG_TO_DL_ASS 7 +#define GPRS_RLCMAC_FLAG_TO_DL_ASS 6 #define GPRS_RLCMAC_FLAG_TO_MASK 0xf0 /* timeout bits */ #define T_START(tbf, t, T, r, f) tbf->t_start(t, T, r, f, __FILE__, __LINE__) diff --git a/src/tbf_ul_ass_fsm.c b/src/tbf_ul_ass_fsm.c index 39daf89..95574b4 100644 --- a/src/tbf_ul_ass_fsm.c +++ b/src/tbf_ul_ass_fsm.c @@ -211,11 +211,16 @@ static void st_wait_ack(struct osmo_fsm_inst *fi, uint32_t event, void *data) { + struct tbf_ul_ass_fsm_ctx *ctx = (struct tbf_ul_ass_fsm_ctx *)fi->priv; + switch (event) { case TBF_UL_ASS_EV_RX_ASS_CTRL_ACK: tbf_ul_ass_fsm_state_chg(fi, TBF_UL_ASS_NONE); break; case TBF_UL_ASS_EV_ASS_POLL_TIMEOUT: + LOGPTBF(ctx->tbf, LOGL_NOTICE, + "Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ASSIGNMENT: %s\n", + tbf_rlcmac_diag(ctx->tbf)); /* Reschedule Plt Ul Ass */ tbf_ul_ass_fsm_state_chg(fi, TBF_UL_ASS_SEND_ASS); break; diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 7a691ba..f9c8a4b 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -8422,9 +8422,9 @@ PDCH(bts=0,trx=0,ts=7) Expiring FN=56 but previous FN=2654231 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered POLL (FN=2654231): TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN EGPRS) poll timeout for FN=2654231, TS=7 (curr FN 56) -TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ASSIGNMENT: |Assignment was on PACCH|No uplink data received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN EGPRS) N3105 0 => 1 (< MAX 8) UL_ASS_TBF{WAIT_ACK}: Received Event ASS_POLL_TIMEOUT +TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ASSIGNMENT: |Assignment was on PACCH|No uplink data received yet| UL_ASS_TBF{WAIT_ACK}: state_chg to SEND_ASS UL_ASS_TBF{SEND_ASS}: Received Event CREATE_RLCMAC_MSG PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654218 + 13 = 2654231 @@ -8472,9 +8472,9 @@ PDCH(bts=0,trx=0,ts=7) Expiring FN=60 but previous FN=2654231 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered POLL (FN=2654231): TBF(TFI=1 TLLI=0xffeeddcd DIR=UL STATE=ASSIGN EGPRS) TBF(TFI=1 TLLI=0xffeeddcd DIR=UL STATE=ASSIGN EGPRS) poll timeout for FN=2654231, TS=7 (curr FN 60) -TBF(TFI=1 TLLI=0xffeeddcd DIR=UL STATE=ASSIGN EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ASSIGNMENT: |Assignment was on PACCH|No uplink data received yet| TBF(TFI=1 TLLI=0xffeeddcd DIR=UL STATE=ASSIGN EGPRS) N3105 0 => 1 (< MAX 8) UL_ASS_TBF{WAIT_ACK}: Received Event ASS_POLL_TIMEOUT +TBF(TFI=1 TLLI=0xffeeddcd DIR=UL STATE=ASSIGN EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ASSIGNMENT: |Assignment was on PACCH|No uplink data received yet| UL_ASS_TBF{WAIT_ACK}: state_chg to SEND_ASS UL_ASS_TBF{SEND_ASS}: Received Event CREATE_RLCMAC_MSG PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654218 + 13 = 2654231 @@ -8522,9 +8522,9 @@ PDCH(bts=0,trx=0,ts=7) Expiring FN=65 but previous FN=2654231 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered POLL (FN=2654231): TBF(TFI=2 TLLI=0xffeeddce DIR=UL STATE=ASSIGN EGPRS) TBF(TFI=2 TLLI=0xffeeddce DIR=UL STATE=ASSIGN EGPRS) poll timeout for FN=2654231, TS=7 (curr FN 65) -TBF(TFI=2 TLLI=0xffeeddce DIR=UL STATE=ASSIGN EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ASSIGNMENT: |Assignment was on PACCH|No uplink data received yet| TBF(TFI=2 TLLI=0xffeeddce DIR=UL STATE=ASSIGN EGPRS) N3105 0 => 1 (< MAX 8) UL_ASS_TBF{WAIT_ACK}: Received Event ASS_POLL_TIMEOUT +TBF(TFI=2 TLLI=0xffeeddce DIR=UL STATE=ASSIGN EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ASSIGNMENT: |Assignment was on PACCH|No uplink data received yet| UL_ASS_TBF{WAIT_ACK}: state_chg to SEND_ASS UL_ASS_TBF{SEND_ASS}: Received Event CREATE_RLCMAC_MSG PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654218 + 13 = 2654231 @@ -8572,9 +8572,9 @@ PDCH(bts=0,trx=0,ts=7) Expiring FN=69 but previous FN=2654231 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered POLL (FN=2654231): TBF(TFI=3 TLLI=0xffeeddcf DIR=UL STATE=ASSIGN EGPRS) TBF(TFI=3 TLLI=0xffeeddcf DIR=UL STATE=ASSIGN EGPRS) poll timeout for FN=2654231, TS=7 (curr FN 69) -TBF(TFI=3 TLLI=0xffeeddcf DIR=UL STATE=ASSIGN EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ASSIGNMENT: |Assignment was on PACCH|No uplink data received yet| TBF(TFI=3 TLLI=0xffeeddcf DIR=UL STATE=ASSIGN EGPRS) N3105 0 => 1 (< MAX 8) UL_ASS_TBF{WAIT_ACK}: Received Event ASS_POLL_TIMEOUT +TBF(TFI=3 TLLI=0xffeeddcf DIR=UL STATE=ASSIGN EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ASSIGNMENT: |Assignment was on PACCH|No uplink data received yet| UL_ASS_TBF{WAIT_ACK}: state_chg to SEND_ASS UL_ASS_TBF{SEND_ASS}: Received Event CREATE_RLCMAC_MSG PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654218 + 13 = 2654231 @@ -8622,9 +8622,9 @@ PDCH(bts=0,trx=0,ts=7) Expiring FN=73 but previous FN=2654231 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered POLL (FN=2654231): TBF(TFI=4 TLLI=0xffeeddd0 DIR=UL STATE=ASSIGN EGPRS) TBF(TFI=4 TLLI=0xffeeddd0 DIR=UL STATE=ASSIGN EGPRS) poll timeout for FN=2654231, TS=7 (curr FN 73) -TBF(TFI=4 TLLI=0xffeeddd0 DIR=UL STATE=ASSIGN EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ASSIGNMENT: |Assignment was on PACCH|No uplink data received yet| TBF(TFI=4 TLLI=0xffeeddd0 DIR=UL STATE=ASSIGN EGPRS) N3105 0 => 1 (< MAX 8) UL_ASS_TBF{WAIT_ACK}: Received Event ASS_POLL_TIMEOUT +TBF(TFI=4 TLLI=0xffeeddd0 DIR=UL STATE=ASSIGN EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ASSIGNMENT: |Assignment was on PACCH|No uplink data received yet| UL_ASS_TBF{WAIT_ACK}: state_chg to SEND_ASS UL_ASS_TBF{SEND_ASS}: Received Event CREATE_RLCMAC_MSG PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654218 + 13 = 2654231 @@ -8672,9 +8672,9 @@ PDCH(bts=0,trx=0,ts=7) Expiring FN=78 but previous FN=2654231 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered POLL (FN=2654231): TBF(TFI=5 TLLI=0xffeeddd1 DIR=UL STATE=ASSIGN EGPRS) TBF(TFI=5 TLLI=0xffeeddd1 DIR=UL STATE=ASSIGN EGPRS) poll timeout for FN=2654231, TS=7 (curr FN 78) -TBF(TFI=5 TLLI=0xffeeddd1 DIR=UL STATE=ASSIGN EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ASSIGNMENT: |Assignment was on PACCH|No uplink data received yet| TBF(TFI=5 TLLI=0xffeeddd1 DIR=UL STATE=ASSIGN EGPRS) N3105 0 => 1 (< MAX 8) UL_ASS_TBF{WAIT_ACK}: Received Event ASS_POLL_TIMEOUT +TBF(TFI=5 TLLI=0xffeeddd1 DIR=UL STATE=ASSIGN EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ASSIGNMENT: |Assignment was on PACCH|No uplink data received yet| UL_ASS_TBF{WAIT_ACK}: state_chg to SEND_ASS UL_ASS_TBF{SEND_ASS}: Received Event CREATE_RLCMAC_MSG PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654218 + 13 = 2654231 @@ -8722,9 +8722,9 @@ PDCH(bts=0,trx=0,ts=7) Expiring FN=82 but previous FN=2654231 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered POLL (FN=2654231): TBF(TFI=6 TLLI=0xffeeddd2 DIR=UL STATE=ASSIGN EGPRS) TBF(TFI=6 TLLI=0xffeeddd2 DIR=UL STATE=ASSIGN EGPRS) poll timeout for FN=2654231, TS=7 (curr FN 82) -TBF(TFI=6 TLLI=0xffeeddd2 DIR=UL STATE=ASSIGN EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ASSIGNMENT: |Assignment was on PACCH|No uplink data received yet| TBF(TFI=6 TLLI=0xffeeddd2 DIR=UL STATE=ASSIGN EGPRS) N3105 0 => 1 (< MAX 8) UL_ASS_TBF{WAIT_ACK}: Received Event ASS_POLL_TIMEOUT +TBF(TFI=6 TLLI=0xffeeddd2 DIR=UL STATE=ASSIGN EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ASSIGNMENT: |Assignment was on PACCH|No uplink data received yet| UL_ASS_TBF{WAIT_ACK}: state_chg to SEND_ASS UL_ASS_TBF{SEND_ASS}: Received Event CREATE_RLCMAC_MSG PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654218 + 13 = 2654231 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25059 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I20aa7f83cc4f32de129e64c74a91745b983a7b16 Gerrit-Change-Number: 25059 Gerrit-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 Jul 27 16:42:32 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 27 Jul 2021 16:42:32 +0000 Subject: Change in osmo-pcu[master]: Replace ul_ass_state with osmocom FSM In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/25056 to look at the new patch set (#4). Change subject: Replace ul_ass_state with osmocom FSM ...................................................................... Replace ul_ass_state with osmocom FSM Related: OS#2709 Change-Id: Id414eafe9c04a9a8759c6fb1a483bf2ee093a4d2 --- M src/Makefile.am M src/encoding.cpp M src/encoding.h M src/gprs_rlcmac_sched.cpp M src/pdch.cpp M src/tbf.cpp M src/tbf.h M src/tbf_ul.cpp M src/tbf_ul.h A src/tbf_ul_ass_fsm.c A src/tbf_ul_ass_fsm.h M tests/alloc/AllocTest.err M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err M tests/types/TypesTest.err 15 files changed, 100,531 insertions(+), 208 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/56/25056/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25056 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id414eafe9c04a9a8759c6fb1a483bf2ee093a4d2 Gerrit-Change-Number: 25056 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 16:42:32 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 27 Jul 2021 16:42:32 +0000 Subject: Change in osmo-pcu[master]: tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_TO_UL_ASS 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/+/25059 to look at the new patch set (#2). Change subject: tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_TO_UL_ASS ...................................................................... tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_TO_UL_ASS The flag is only used to print some uninteresting stuff, let's drop it in order to simplify code. We can add later whatever we want in the new shiny FSM. Change-Id: I20aa7f83cc4f32de129e64c74a91745b983a7b16 --- M src/pdch.cpp M src/tbf.cpp M src/tbf.h M src/tbf_ul_ass_fsm.c M tests/tbf/TbfTest.err 5 files changed, 13 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/59/25059/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25059 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I20aa7f83cc4f32de129e64c74a91745b983a7b16 Gerrit-Change-Number: 25059 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 16:42:46 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 27 Jul 2021 16:42:46 +0000 Subject: Change in osmo-pcu[master]: replace dl_ass_state with osmocom FSM References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25060 ) Change subject: replace dl_ass_state with osmocom FSM ...................................................................... replace dl_ass_state with osmocom FSM Related: OS#2709 Change-Id: Ia33418478e17986a316ffda48b091030f53fa371 --- M src/Makefile.am M src/encoding.cpp M src/encoding.h M src/gprs_rlcmac_sched.cpp M src/pdch.cpp M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp A src/tbf_dl_ass_fsm.c A src/tbf_dl_ass_fsm.h M src/tbf_ul.cpp M src/tbf_ul.h M tests/alloc/AllocTest.err M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err M tests/types/TypesTest.err 16 files changed, 100,488 insertions(+), 229 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/60/25060/1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25060 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia33418478e17986a316ffda48b091030f53fa371 Gerrit-Change-Number: 25060 Gerrit-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 Jul 27 16:42:46 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 27 Jul 2021 16:42:46 +0000 Subject: Change in osmo-pcu[master]: tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_TO_DL_ASS References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25061 ) Change subject: tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_TO_DL_ASS ...................................................................... tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_TO_DL_ASS The flag is only used to print some non interesting stuff, let's drop it in order to simplify code. We can add later whatever we want in the new shiny FSM. Change-Id: I13f92f058c219f230d57b3c00b8ae1d187603813 --- M src/pdch.cpp M src/tbf.cpp M src/tbf.h M src/tbf_dl_ass_fsm.c M tests/tbf/TbfTest.err 5 files changed, 14 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/61/25061/1 diff --git a/src/pdch.cpp b/src/pdch.cpp index 17a2d50..618dbf4 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -371,8 +371,6 @@ osmo_fsm_inst_dispatch(new_tbf->state_fsm.fi, TBF_EV_ASSIGN_ACK_PACCH, NULL); /* stop pending assignment timer */ new_tbf->t_stop(T0, "control acked (DL-TBF)"); - if (new_tbf->check_n_clear(GPRS_RLCMAC_FLAG_TO_DL_ASS)) - LOGPTBF(new_tbf, LOGL_NOTICE, "Recovered downlink assignment\n"); tbf_assign_control_ts(new_tbf); return; diff --git a/src/tbf.cpp b/src/tbf.cpp index 3c0c530..0154bab 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -630,12 +630,6 @@ /* Signal timeout to FSM to reschedule UL assignment */ osmo_fsm_inst_dispatch(this->ul_ass_fsm.fi, TBF_UL_ASS_EV_ASS_POLL_TIMEOUT, NULL); } else if (dl_ass_state_is(TBF_DL_ASS_WAIT_ACK)) { - if (!(state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_TO_DL_ASS))) { - LOGPTBF(this, LOGL_NOTICE, - "Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: %s\n", - tbf_rlcmac_diag(this)); - state_fsm.state_flags |= (1 << GPRS_RLCMAC_FLAG_TO_DL_ASS); - } bts_do_rate_ctr_inc(bts, CTR_RLC_ASS_TIMEDOUT); bts_do_rate_ctr_inc(bts, CTR_PDA_POLL_TIMEDOUT); if (n_inc(N3105)) { diff --git a/src/tbf.h b/src/tbf.h index 15b7de3..b8f1e18 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -131,7 +131,6 @@ #define GPRS_RLCMAC_FLAG_DL_ACK 3 /* downlink acknowledge received */ #define GPRS_RLCMAC_FLAG_TO_UL_ACK 4 #define GPRS_RLCMAC_FLAG_TO_DL_ACK 5 -#define GPRS_RLCMAC_FLAG_TO_DL_ASS 6 #define GPRS_RLCMAC_FLAG_TO_MASK 0xf0 /* timeout bits */ #define T_START(tbf, t, T, r, f) tbf->t_start(t, T, r, f, __FILE__, __LINE__) diff --git a/src/tbf_dl_ass_fsm.c b/src/tbf_dl_ass_fsm.c index c0d46e3..368789e 100644 --- a/src/tbf_dl_ass_fsm.c +++ b/src/tbf_dl_ass_fsm.c @@ -182,11 +182,16 @@ static void st_wait_ack(struct osmo_fsm_inst *fi, uint32_t event, void *data) { + struct tbf_dl_ass_fsm_ctx *ctx = (struct tbf_dl_ass_fsm_ctx *)fi->priv; + switch (event) { case TBF_DL_ASS_EV_RX_ASS_CTRL_ACK: tbf_dl_ass_fsm_state_chg(fi, TBF_DL_ASS_NONE); break; case TBF_DL_ASS_EV_ASS_POLL_TIMEOUT: + LOGPTBF(ctx->tbf, LOGL_NOTICE, + "Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: %s\n", + tbf_rlcmac_diag(ctx->tbf)); /* Reschedule Plt Ul Ass */ tbf_dl_ass_fsm_state_chg(fi, TBF_DL_ASS_SEND_ASS); break; diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index b6727f4..aed1bfd 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -4261,9 +4261,9 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=112 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 112) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: Received Event ASS_POLL_TIMEOUT +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: state_chg to SEND_ASS PDCH(bts=0,trx=0,ts=4) Expiring FN=112 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) @@ -4521,9 +4521,9 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=91 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 91) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: Received Event ASS_POLL_TIMEOUT +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: state_chg to SEND_ASS PDCH(bts=0,trx=0,ts=4) Expiring FN=91 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) @@ -4737,9 +4737,9 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=69 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 69) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: Received Event ASS_POLL_TIMEOUT +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: state_chg to SEND_ASS PDCH(bts=0,trx=0,ts=4) Expiring FN=69 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) @@ -4937,9 +4937,9 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=60 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 60) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: Received Event ASS_POLL_TIMEOUT +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: state_chg to SEND_ASS PDCH(bts=0,trx=0,ts=4) Expiring FN=60 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) @@ -5121,9 +5121,9 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=52 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 52) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: Received Event ASS_POLL_TIMEOUT +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: state_chg to SEND_ASS PDCH(bts=0,trx=0,ts=4) Expiring FN=52 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) @@ -5281,9 +5281,9 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=39 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 39) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: Received Event ASS_POLL_TIMEOUT +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: state_chg to SEND_ASS PDCH(bts=0,trx=0,ts=4) Expiring FN=39 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) @@ -5450,9 +5450,9 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=34 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 34) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: Received Event ASS_POLL_TIMEOUT +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: state_chg to SEND_ASS PDCH(bts=0,trx=0,ts=4) Expiring FN=34 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) @@ -5610,9 +5610,9 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=30 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 30) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: Received Event ASS_POLL_TIMEOUT +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: state_chg to SEND_ASS PDCH(bts=0,trx=0,ts=4) Expiring FN=30 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) @@ -5759,9 +5759,9 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=26 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 26) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: Received Event ASS_POLL_TIMEOUT +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: state_chg to SEND_ASS PDCH(bts=0,trx=0,ts=4) Expiring FN=26 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25061 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I13f92f058c219f230d57b3c00b8ae1d187603813 Gerrit-Change-Number: 25061 Gerrit-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 Jul 27 19:20:10 2021 From: gerrit-no-reply at lists.osmocom.org (roh) Date: Tue, 27 Jul 2021 19:20:10 +0000 Subject: Change in osmo-ccid-firmware[master]: add script to generate a inititial osmo-bankd slotconfig sorted by us... References: Message-ID: roh has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/25062 ) Change subject: add script to generate a inititial osmo-bankd slotconfig sorted by usb path ...................................................................... add script to generate a inititial osmo-bankd slotconfig sorted by usb path Change-Id: Ibb5e7db78c8a2129d2093b0dd5ecaa7c13ab9ee3 --- A contrib/gen_bankd_pcsc_slots-csv.sh 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/62/25062/1 diff --git a/contrib/gen_bankd_pcsc_slots-csv.sh b/contrib/gen_bankd_pcsc_slots-csv.sh new file mode 100755 index 0000000..3a27e84 --- /dev/null +++ b/contrib/gen_bankd_pcsc_slots-csv.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# this script is to scan for octsim boards, sort them by usb path and generate a bankd_pcsc_slots.csv on stdout + +dfu-util -l |grep "Found Runtime: \[1d50:6141\]" |cut -d ' ' -f 8,13|tr -d ','|cut -d \" -f 2,4|tr \" ' '|sort |cut -d ' ' -f 2 | awk 'BEGIN {count=0}{for (slot=0; slot<8; slot++) {print count, $0, 0slot; count++}}'|awk '{print "\"1\",\""$1"\",\"sysmocom sysmoOCTSIM \[CCID\] \("$2"\) [A-F0-9]{2} "$3"\""}' + -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/25062 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: Ibb5e7db78c8a2129d2093b0dd5ecaa7c13ab9ee3 Gerrit-Change-Number: 25062 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 Jul 27 21:25:48 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 27 Jul 2021 21:25:48 +0000 Subject: Change in osmo-ttcn3-hacks[master]: gitignore sms.db References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25063 ) Change subject: gitignore sms.db ...................................................................... gitignore sms.db When running osmo-msc in osmo-ttcn3-hacks/msc, it will leave behind an sms.db. Ignore it. Change-Id: Ib4c66a9861f92293520c4c38a50d4d51f3cf2a77 --- M .gitignore 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/63/25063/1 diff --git a/.gitignore b/.gitignore index b247c04..9d48551 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,4 @@ *.netcat.stderr *.d *.merged +sms.db -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25063 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib4c66a9861f92293520c4c38a50d4d51f3cf2a77 Gerrit-Change-Number: 25063 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 Jul 27 21:25:50 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 27 Jul 2021 21:25:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: fix conn id in 'MGCP OK' msg (as_mgcp_ack_all_mdcx) References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25064 ) Change subject: msc: fix conn id in 'MGCP OK' msg (as_mgcp_ack_all_mdcx) ...................................................................... msc: fix conn id in 'MGCP OK' msg (as_mgcp_ack_all_mdcx) The MDCX OK message should contain the same connection identifier as the MDCX contained. So far we were always sending the second conn id, regardless of which conn id was sent in the MDCX message. Related: SYS#5130 Change-Id: If6f7f135d95c04ee0240f3fa9ba0b18ffc6fa24a --- M msc/MSC_Tests.ttcn 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/64/25064/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 0d95c61..0e0d6b6 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -5700,6 +5700,8 @@ private altstep as_mgcp_ack_all_mdcx(CallParameters cpars) runs on BSC_ConnHdlr { var MgcpCommand mgcp_cmd; [] MGCP.receive(tr_MDCX) -> value mgcp_cmd { + var charstring conn_id; + f_mgcp_find_param_entry(mgcp_cmd.params, "I", conn_id); var SDP_Message sdp := valueof(ts_SDP(cpars.mgw_conn_2.mgw_rtp_ip, cpars.mgw_conn_2.mgw_rtp_ip, hex2str(cpars.mgcp_call_id), "42", cpars.mgw_conn_2.mgw_rtp_port, @@ -5707,7 +5709,7 @@ { valueof(ts_SDP_rtpmap(cpars.rtp_payload_type, cpars.rtp_sdp_format)), valueof(ts_SDP_ptime(20)) })); - MGCP.send(ts_MDCX_ACK(mgcp_cmd.line.trans_id, cpars.mgw_conn_2.mgcp_connection_id, sdp)); + MGCP.send(ts_MDCX_ACK(mgcp_cmd.line.trans_id, str2hex(conn_id), sdp)); repeat; } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25064 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If6f7f135d95c04ee0240f3fa9ba0b18ffc6fa24a Gerrit-Change-Number: 25064 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 Jul 27 21:25:50 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 27 Jul 2021 21:25:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: L3_Templates: add ts_ML3_MO_CC_DISC References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25065 ) Change subject: L3_Templates: add ts_ML3_MO_CC_DISC ...................................................................... L3_Templates: add ts_ML3_MO_CC_DISC To simulate an MS initiated call release at the MSC, a MO CC DISCONNECT is required. So far msc's f_call_hangup() has some really weird sequences of MNCC events. This is one preparation to fix that. Will be used by MSC_Tests.TC_call_re_establishment in Ifdff5573eeb3b3d41e8599b9b0228411d2576864 Related: SYS#5130 Change-Id: Ie152f8760c9bd6df04a20fdbb7ce9bbde9cb3d68 --- M library/L3_Templates.ttcn 1 file changed, 40 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/65/25065/1 diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn index c6ebeb4..997b433 100644 --- a/library/L3_Templates.ttcn +++ b/library/L3_Templates.ttcn @@ -62,6 +62,23 @@ diagnostics := omit } +template ML3_Cause_LV ts_ML3_Cause_LV(BIT7 cause, BIT4 loc := '0001'B, BIT2 std := '11'B) := { + lengthIndicator := 0, /* overwritten */ + oct3 := { + location := loc, + spare1_1 := '0'B, + codingStandard := std, + ext1 := '0'B, + recommendation := omit, + ext2 := omit + }, + oct4 := { + causeValue := cause, + ext3 := '1'B + }, + diagnostics := omit +} + /* 3GPP TS 24.008, section 10.5.1.4 "Mobile Identity" */ template (value) MobileIdentityTLV ts_MI_TLV(template (value) MobileIdentityV mi) := { @@ -1566,6 +1583,29 @@ } } +template PDU_ML3_MS_NW ts_ML3_MO_CC_DISC(integer tid, BIT1 tid_remote, BIT7 cause) := { + discriminator := '0011'B, + tiOrSkip := { + transactionId := { + tio := int2bit(tid, 3), + tiFlag := tid_remote, + tIExtension := omit + } + }, + msgs := { + cc := { + disconnect_MS_NW := { + messageType := '100101'B, + nsd := '00'B, + cause := ts_ML3_Cause_LV(cause), + facility := omit, + user_user := omit, + ss_VersionIndicator := omit + } + } + } +} + template PDU_ML3_NW_MS tr_ML3_MT_CC_RELEASE(integer tid) := { discriminator := '0011'B, tiOrSkip := { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25065 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie152f8760c9bd6df04a20fdbb7ce9bbde9cb3d68 Gerrit-Change-Number: 25065 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 Jul 27 21:25:50 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 27 Jul 2021 21:25:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Emulation: allow moving ep handling to another test component References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25066 ) Change subject: MGCP_Emulation: allow moving ep handling to another test component ...................................................................... MGCP_Emulation: allow moving ep handling to another test component Will be used by MSC_Tests.TC_call_re_establishment in Ifdff5573eeb3b3d41e8599b9b0228411d2576864, where a call from one vc_conn gets re-established in another vc_conn. Related: SYS#5130 Change-Id: Id46035e53c2870e1fdef1335dce42b2020f7cd54 --- M library/MGCP_Emulation.ttcn 1 file changed, 26 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/66/25066/1 diff --git a/library/MGCP_Emulation.ttcn b/library/MGCP_Emulation.ttcn index 8ccc085..777aff4 100644 --- a/library/MGCP_Emulation.ttcn +++ b/library/MGCP_Emulation.ttcn @@ -193,6 +193,19 @@ mtc.stop; } +private function f_ep_table_steal(MGCP_ConnHdlr comp_ref, MgcpEndpoint ep) +runs on MGCP_Emulation_CT { + var integer i; + for (i := 0; i < sizeof(MgcpEndpointTable); i := i+1) { + if (MgcpEndpointTable[i].endpoint == ep) { + MgcpEndpointTable[i].comp_ref := comp_ref; + log("MGCP_Emulation_CT: MgcpEndpointTable[", i, "] now sends to ", comp_ref); + return; + } + } + setverdict(fail, "MGCP Endpoint Table: Couldn't find entry to steal"); + mtc.stop; +} /* Check if the given transaction ID is a pending CRCX. If yes, return true + remove */ private function f_trans_id_was_pending(MgcpTransId trans_id) @@ -349,6 +362,10 @@ f_ep_table_del(vc_conn, ep); MGCP_PROC.reply(MGCPEM_delete_ep:{ep, vc_conn}) to vc_conn; } + [] MGCP_PROC.getcall(MGCPEM_steal_ep:{?,?}) -> param(ep, vc_conn) { + f_ep_table_steal(vc_conn, ep); + MGCP_PROC.reply(MGCPEM_steal_ep:{ep, vc_conn}) to vc_conn; + } } } @@ -370,9 +387,10 @@ signature MGCPEM_register(in ExpectCriteria cmd, in MGCP_ConnHdlr hdlr); signature MGCPEM_delete_ep(in MgcpEndpoint ep, in MGCP_ConnHdlr hdlr); +signature MGCPEM_steal_ep(in MgcpEndpoint ep, in MGCP_ConnHdlr hdlr); type port MGCPEM_PROC_PT procedure { - inout MGCPEM_register, MGCPEM_delete_ep; + inout MGCPEM_register, MGCPEM_delete_ep, MGCPEM_steal_ep; } with { extension "internal" }; function f_get_mgcp_by_crit(ExpectCriteria crit) @@ -462,6 +480,13 @@ } } +/* Move MGCP handling for a given MGW endpoint to a different MGCP_ConnHdlr component. */ +function f_create_mgcp_steal_ep(MgcpEndpoint ep) runs on MGCP_ConnHdlr { + MGCP_PROC.call(MGCPEM_steal_ep:{ep, self}) { + [] MGCP_PROC.getreply(MGCPEM_steal_ep:{?,?}) {}; + } +} + private function f_expect_table_init() runs on MGCP_Emulation_CT { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25066 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id46035e53c2870e1fdef1335dce42b2020f7cd54 Gerrit-Change-Number: 25066 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 Jul 27 21:25:50 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 27 Jul 2021 21:25:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MNCC_Emulation: allow moving call handling to another test component References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25067 ) Change subject: MNCC_Emulation: allow moving call handling to another test component ...................................................................... MNCC_Emulation: allow moving call handling to another test component Will be used by MSC_Tests.TC_call_re_establishment in Ifdff5573eeb3b3d41e8599b9b0228411d2576864 where a call from one vc_conn gets re-established in another vc_conn. Related: SYS#5130 Change-Id: If7e952e54ebd1bb88cce11ec5f0ff4826e02cb63 --- M library/MNCC_Emulation.ttcn 1 file changed, 15 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/67/25067/1 diff --git a/library/MNCC_Emulation.ttcn b/library/MNCC_Emulation.ttcn index 49b1249..5aa8525 100644 --- a/library/MNCC_Emulation.ttcn +++ b/library/MNCC_Emulation.ttcn @@ -287,6 +287,7 @@ var MNCC_PDU mncc; var MNCC_ConnHdlr vc_hdlr; var charstring dest_nr; + var uint32_t mncc_call_id; alt { /* MNCC -> Client: UNIT-DATA (connectionless SCCP) from a BSC */ @@ -360,6 +361,11 @@ MNCC_PROC.reply(MNCCEM_register:{dest_nr, vc_hdlr}) to vc_hdlr; } + [] MNCC_PROC.getcall(MNCCEM_steal_call:{?,?}) -> param(mncc_call_id, vc_hdlr) { + f_call_table_del(mncc_call_id); + f_call_table_add(vc_hdlr, mncc_call_id); + MNCC_PROC.reply(MNCCEM_steal_call:{mncc_call_id, vc_hdlr}) to vc_hdlr; + } } } } @@ -384,9 +390,10 @@ /* procedure based port to register for incoming calls */ signature MNCCEM_register(in charstring dest_nr, in MNCC_ConnHdlr hdlr); +signature MNCCEM_steal_call(in uint32_t mncc_call_id, in MNCC_ConnHdlr hdlr); type port MNCCEM_PROC_PT procedure { - inout MNCCEM_register; + inout MNCCEM_register, MNCCEM_steal_call; } with { extension "internal" }; /* CreateCallback that can be used as create_cb and will use the expectation table */ @@ -445,6 +452,13 @@ } } +/* Move MNCC handling for a given call id to another MNCC_ConnHdlr test component. */ +function f_create_mncc_steal_call(uint32_t mncc_call_id) runs on MNCC_ConnHdlr { + MNCC_PROC.call(MNCCEM_steal_call:{mncc_call_id, self}) { + [] MNCC_PROC.getreply(MNCCEM_steal_call:{?,?}) {}; + } +} + function DummyUnitdataCallback(MNCC_PDU mncc) runs on MNCC_Emulation_CT return template MNCC_PDU { log("Ignoring MNCC ", mncc); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25067 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If7e952e54ebd1bb88cce11ec5f0ff4826e02cb63 Gerrit-Change-Number: 25067 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 Jul 27 21:25:51 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 27 Jul 2021 21:25:51 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add as_mgcp_ack_all_dlcx References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25068 ) Change subject: msc: add as_mgcp_ack_all_dlcx ...................................................................... msc: add as_mgcp_ack_all_dlcx Will be used by MSC_Tests.TC_call_re_establishment in Ifdff5573eeb3b3d41e8599b9b0228411d2576864 Related: SYS#5130 Change-Id: Ic63fa41fa2e5d392d39f6b5f9edd3952aa6a9ee9 --- M msc/MSC_Tests.ttcn 1 file changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/68/25068/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 0e0d6b6..ecfe5f9 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -5714,6 +5714,14 @@ } } +private altstep as_mgcp_ack_all_dlcx(CallParameters cpars) runs on BSC_ConnHdlr { + var MgcpCommand mgcp_cmd; + [] MGCP.receive(tr_DLCX(?)) -> value mgcp_cmd { + MGCP.send(ts_DLCX_ACK2(mgcp_cmd.line.trans_id)); + repeat; + } +} + private function f_tc_ho_inter_bsc0(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { var CallParameters cpars; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25068 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic63fa41fa2e5d392d39f6b5f9edd3952aa6a9ee9 Gerrit-Change-Number: 25068 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 Jul 27 21:25:52 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 27 Jul 2021 21:25:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add a COORD port for inter-component coordination References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25069 ) Change subject: msc: add a COORD port for inter-component coordination ...................................................................... msc: add a COORD port for inter-component coordination Also provide a blank receive template for CallParameters which is needed to receive a CallParameters record via the COORD port. Will be used by MSC_Tests.TC_call_re_establishment in Ifdff5573eeb3b3d41e8599b9b0228411d2576864 Change-Id: Iba3a5304fa40159bc2c31cdc3a71ee56ed08bd12 --- M msc/BSC_ConnectionHandler.ttcn 1 file changed, 36 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/69/25069/1 diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn index cf4e846..2f270ca 100644 --- a/msc/BSC_ConnectionHandler.ttcn +++ b/msc/BSC_ConnectionHandler.ttcn @@ -63,11 +63,18 @@ import from TCCConversion_Functions { function f_strstr }; +type port BSC_ConnHdlr_Coord_PT message +{ + inout charstring, CallParameters; +} with { extension "internal" }; + + /* this component represents a single subscriber connection */ type component BSC_ConnHdlr extends RAN_ConnHdlr, MNCC_ConnHdlr, GSUP_ConnHdlr, MGCP_ConnHdlr, SMPP_ConnHdlr, CTRL_Adapter_CT, SGsAP_ConnHdlr { var BSC_ConnHdlrPars g_pars; timer g_Tguard := 60.0; port TELNETasp_PT MSCVTY; + port BSC_ConnHdlr_Coord_PT COORD; } type record BSC_ConnHdlrNetworkPars { @@ -959,6 +966,35 @@ got_osmux_count := 0 }; +template CallParameters tr_CallParams := { + called_party := ?, + transaction_id := ?, + mo_call := ?, + bearer_cap := ?, + emergency := ?, + mncc_callref := *, + mncc_bearer_cap := ?, + mncc_rtp_ip := ?, + mncc_rtp_port := ?, + bss_rtp_ip := ?, + bss_rtp_port := ?, + mss_rtp_ip := *, + mss_rtp_port := *, + got_crcx_count := ?, + mgw_conn_1 := ?, + mgw_conn_2 := ?, + rtp_payload_type := ?, + rtp_sdp_format := ?, + mgw_drop_dlcx := ?, + stop_after_cc_setup := ?, + ran_clear_when_alerting := ?, + expect_release := ?, + mgcp_call_id := *, + mgcp_ep := ?, + use_osmux := ?, + got_osmux_count := ? +}; + /* Allocate a call reference and send SETUP via MNCC to MSC */ function f_mt_call_initate(inout CallParameters cpars) runs on BSC_ConnHdlr { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25069 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iba3a5304fa40159bc2c31cdc3a71ee56ed08bd12 Gerrit-Change-Number: 25069 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 Jul 27 21:25:52 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 27 Jul 2021 21:25:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add MSC_Tests.TC_call_re_establishment References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25070 ) Change subject: msc: add MSC_Tests.TC_call_re_establishment ...................................................................... msc: add MSC_Tests.TC_call_re_establishment The osmo-msc patch that makes this test pass is I6fa37d6ca9fcb1637742b40e37b68d67664c9b60 Related: SYS#5130 Change-Id: Ifdff5573eeb3b3d41e8599b9b0228411d2576864 --- M msc/MSC_Tests.ttcn 1 file changed, 107 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/70/25070/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index ecfe5f9..428dae3 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -6626,6 +6626,111 @@ vc_conn.done; } +const charstring REEST_LOST_CONNECTION := "REEST_LOST_CONNECTION"; +const charstring REEST_CLEARED := "REEST_CLEARED"; + +friend function f_tc_call_re_establishment_1(charstring id, BSC_ConnHdlrPars pars) + runs on BSC_ConnHdlr { + f_init_handler(pars, t_guard := 30.0); + + f_perform_lu(); + + var CallParameters cpars := valueof(t_CallParams('12345'H, 0)); + f_mo_call_establish(cpars); + f_sleep(3.0); + COORD.send(REEST_LOST_CONNECTION); + COORD.send(cpars); + f_expect_clear(verify_vlr_cell_id := false); + COORD.send(REEST_CLEARED); +} + +friend function f_tc_call_re_establishment_2(charstring id, BSC_ConnHdlrPars pars) + runs on BSC_ConnHdlr { + f_init_handler(pars, t_guard := 30.0); + var CallParameters cpars; + + COORD.receive(REEST_LOST_CONNECTION); + COORD.receive(tr_CallParams) -> value cpars; + + /* The MS has lost the first channel and decides to show up on a new conn (on a nearby neighbor cell) to ask for + * CM Re-Establishment. Send a Complete Layer 3 to osmo-msc with a CM Re-Establishment Request. */ + var MobileIdentityLV mi := valueof(ts_MI_IMSI_LV(g_pars.imsi)); + var PDU_ML3_MS_NW l3_info := valueof(ts_CM_REESTABL_REQ(mi)); + f_cl3_or_initial_ue(l3_info); + + /* At this point the other test component should receive the Clear Command for the first A connection. */ + + /* This new connection continues with Authentication... */ + f_mm_common(); + + /* ...and with Assignment of a voice channel. */ + var template BSSMAP_IE_AoIP_TransportLayerAddress tla_ass := + f_tr_BSSMAP_IE_AoIP_TLA(cpars.mgw_conn_1.mgw_rtp_ip, ?); + BSSAP.receive(tr_BSSMAP_AssignmentReq(omit, tla_ass)); + /* By this Assignment Request, the CM Re-Establishment Request is implicitly accepted. */ + + /* Send Assignment Complete from BSC */ + var template BSSMAP_IE_AoIP_TransportLayerAddress tla; + tla := f_ts_BSSMAP_IE_AoIP_TLA(cpars.bss_rtp_ip, cpars.bss_rtp_port); + var BSSMAP_IE_SpeechCodec codec; + codec := valueof(ts_BSSMAP_IE_SpeechCodec({ts_CodecFR})); + + /* Make really sure the other component is done with its MGCP */ + COORD.receive(REEST_CLEARED); + + /* Transfer state for this call over to this test component so we can resolve MNCC and MGCP in this function. */ + f_create_mncc_steal_call(cpars.mncc_callref); + f_create_mgcp_steal_ep(cpars.mgcp_ep); + + /* osmo-msc may redirect the MGW endpoint to the newly allocated channel. + * Apparently osmo-msc currently also sends an MDCX to the CN side, just repeating the same configuration that + * is already in use. This test accepts any number of or even lack of MDCX. */ + var default ack_mdcx := activate(as_mgcp_ack_all_mdcx(cpars)); + + BSSAP.send(ts_BSSMAP_AssignmentComplete(omit, tla, codec)); + /* The call has been fully re-established. + * Let a bit of time pass before hanging up, for everything to settle. */ + f_sleep(3.0); + + deactivate(ack_mdcx); + + /* Hang up the call and clear the new, second A connection */ + var default ack_dlcx := activate(as_mgcp_ack_all_dlcx(cpars)); + + /* CC release. This is the proper MS initiated release sequence as shown by + * https://git.osmocom.org/osmo-msc/tree/doc/sequence_charts/voice_call_full.msc?id=e53ecde83e4fb2470209e818e9ad76a2d6a19190 + * f_call_hangup() seems a bit mixed up, so here a "proper" sequence. Fix of f_call_hangup() pending. */ + BSSAP.send(ts_PDU_DTAP_MO(ts_ML3_MO_CC_DISC(cpars.transaction_id, '0'B, '0000000'B))); + MNCC.receive(tr_MNCC_DISC_ind(cpars.mncc_callref)); + MNCC.send(ts_MNCC_REL_req(cpars.mncc_callref, valueof(ts_MNCC_cause(23)))); + BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_CC_RELEASE(cpars.transaction_id))); + BSSAP.send(ts_PDU_DTAP_MO(ts_ML3_MO_CC_REL_COMPL(cpars.transaction_id, '0'B))); + MNCC.receive(tr_MNCC_REL_cnf(cpars.mncc_callref, cause := *)); + + /* BSSAP clear */ + interleave { + [] BSSAP.receive(tr_BSSMAP_ClearCommand) { + BSSAP.send(ts_BSSMAP_ClearComplete); + } + [] BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_IND); + } + + f_sleep(1.0); + deactivate(ack_dlcx); +} + +testcase TC_call_re_establishment() runs on MTC_CT { + var BSC_ConnHdlr vc_conn1; + var BSC_ConnHdlr vc_conn2; + f_init(); + vc_conn1 := f_start_handler(refers(f_tc_call_re_establishment_1), 91, verify_cell_id := false); + vc_conn2 := f_start_handler(refers(f_tc_call_re_establishment_2), 91, verify_cell_id := false); + connect(vc_conn1:COORD, vc_conn2:COORD); + vc_conn1.done; + vc_conn2.done; +} + + control { execute( TC_cr_before_reset() ); execute( TC_lu_imsi_noauth_tmsi() ); @@ -6784,6 +6889,8 @@ execute( TC_lu_and_expire_while_paging() ); execute( TC_paging_response_imsi_unknown() ); execute( TC_paging_response_tmsi_unknown() ); + + execute( TC_call_re_establishment() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25070 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifdff5573eeb3b3d41e8599b9b0228411d2576864 Gerrit-Change-Number: 25070 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 Jul 27 21:26:55 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 27 Jul 2021 21:26:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: .gitignore sms.db In-Reply-To: References: Message-ID: neels has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25063 ) Change subject: .gitignore sms.db ...................................................................... .gitignore sms.db When running osmo-msc in osmo-ttcn3-hacks/msc, it will leave behind an sms.db. Ignore it. Change-Id: Ib4c66a9861f92293520c4c38a50d4d51f3cf2a77 --- M .gitignore 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/63/25063/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25063 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib4c66a9861f92293520c4c38a50d4d51f3cf2a77 Gerrit-Change-Number: 25063 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 21:26:55 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 27 Jul 2021 21:26:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: fix conn id in 'MGCP OK' msg (as_mgcp_ack_all_mdcx) In-Reply-To: References: Message-ID: neels has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25064 ) Change subject: msc: fix conn id in 'MGCP OK' msg (as_mgcp_ack_all_mdcx) ...................................................................... msc: fix conn id in 'MGCP OK' msg (as_mgcp_ack_all_mdcx) The MDCX OK message should contain the same connection identifier as the MDCX contained. So far we were always sending the second conn id, regardless of which conn id was sent in the MDCX message. Related: SYS#5130 Change-Id: If6f7f135d95c04ee0240f3fa9ba0b18ffc6fa24a --- M msc/MSC_Tests.ttcn 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/64/25064/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25064 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If6f7f135d95c04ee0240f3fa9ba0b18ffc6fa24a Gerrit-Change-Number: 25064 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 21:26:55 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 27 Jul 2021 21:26:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: L3_Templates: add ts_ML3_MO_CC_DISC In-Reply-To: References: Message-ID: neels has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25065 ) Change subject: L3_Templates: add ts_ML3_MO_CC_DISC ...................................................................... L3_Templates: add ts_ML3_MO_CC_DISC To simulate an MS initiated call release at the MSC, a MO CC DISCONNECT is required. So far msc's f_call_hangup() has some really weird sequences of MNCC events. This is one preparation to fix that. Will be used by MSC_Tests.TC_call_re_establishment in Ifdff5573eeb3b3d41e8599b9b0228411d2576864 Related: SYS#5130 Change-Id: Ie152f8760c9bd6df04a20fdbb7ce9bbde9cb3d68 --- M library/L3_Templates.ttcn 1 file changed, 40 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/65/25065/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25065 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie152f8760c9bd6df04a20fdbb7ce9bbde9cb3d68 Gerrit-Change-Number: 25065 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 21:26:55 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 27 Jul 2021 21:26:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Emulation: allow moving ep handling to another test component In-Reply-To: References: Message-ID: neels has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25066 ) Change subject: MGCP_Emulation: allow moving ep handling to another test component ...................................................................... MGCP_Emulation: allow moving ep handling to another test component Will be used by MSC_Tests.TC_call_re_establishment in Ifdff5573eeb3b3d41e8599b9b0228411d2576864, where a call from one vc_conn gets re-established in another vc_conn. Related: SYS#5130 Change-Id: Id46035e53c2870e1fdef1335dce42b2020f7cd54 --- M library/MGCP_Emulation.ttcn 1 file changed, 26 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/66/25066/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25066 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id46035e53c2870e1fdef1335dce42b2020f7cd54 Gerrit-Change-Number: 25066 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 21:26:55 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 27 Jul 2021 21:26:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MNCC_Emulation: allow moving call handling to another test component In-Reply-To: References: Message-ID: neels has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25067 ) Change subject: MNCC_Emulation: allow moving call handling to another test component ...................................................................... MNCC_Emulation: allow moving call handling to another test component Will be used by MSC_Tests.TC_call_re_establishment in Ifdff5573eeb3b3d41e8599b9b0228411d2576864 where a call from one vc_conn gets re-established in another vc_conn. Related: SYS#5130 Change-Id: If7e952e54ebd1bb88cce11ec5f0ff4826e02cb63 --- M library/MNCC_Emulation.ttcn 1 file changed, 15 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/67/25067/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25067 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If7e952e54ebd1bb88cce11ec5f0ff4826e02cb63 Gerrit-Change-Number: 25067 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 21:26:55 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 27 Jul 2021 21:26:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add as_mgcp_ack_all_dlcx In-Reply-To: References: Message-ID: neels has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25068 ) Change subject: msc: add as_mgcp_ack_all_dlcx ...................................................................... msc: add as_mgcp_ack_all_dlcx Will be used by MSC_Tests.TC_call_re_establishment in Ifdff5573eeb3b3d41e8599b9b0228411d2576864 Related: SYS#5130 Change-Id: Ic63fa41fa2e5d392d39f6b5f9edd3952aa6a9ee9 --- M msc/MSC_Tests.ttcn 1 file changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/68/25068/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25068 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic63fa41fa2e5d392d39f6b5f9edd3952aa6a9ee9 Gerrit-Change-Number: 25068 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 21:26:55 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 27 Jul 2021 21:26:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add a COORD port for inter-component coordination In-Reply-To: References: Message-ID: neels has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25069 ) Change subject: msc: add a COORD port for inter-component coordination ...................................................................... msc: add a COORD port for inter-component coordination Also provide a blank receive template for CallParameters which is needed to receive a CallParameters record via the COORD port. Will be used by MSC_Tests.TC_call_re_establishment in Ifdff5573eeb3b3d41e8599b9b0228411d2576864 Change-Id: Iba3a5304fa40159bc2c31cdc3a71ee56ed08bd12 --- M msc/BSC_ConnectionHandler.ttcn 1 file changed, 36 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/69/25069/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25069 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iba3a5304fa40159bc2c31cdc3a71ee56ed08bd12 Gerrit-Change-Number: 25069 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 21:26:55 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 27 Jul 2021 21:26:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add MSC_Tests.TC_call_re_establishment In-Reply-To: References: Message-ID: neels has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25070 ) Change subject: msc: add MSC_Tests.TC_call_re_establishment ...................................................................... msc: add MSC_Tests.TC_call_re_establishment The osmo-msc patch that makes this test pass is I6fa37d6ca9fcb1637742b40e37b68d67664c9b60 Related: SYS#5130 Change-Id: Ifdff5573eeb3b3d41e8599b9b0228411d2576864 --- M msc/MSC_Tests.ttcn 1 file changed, 107 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/70/25070/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25070 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifdff5573eeb3b3d41e8599b9b0228411d2576864 Gerrit-Change-Number: 25070 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Jul 27 23:07:53 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 27 Jul 2021 23:07:53 +0000 Subject: Change in osmo-ttcn3-hacks[master]: GSUP_Emulation: allow moving HLR handling to another test component References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25071 ) Change subject: GSUP_Emulation: allow moving HLR handling to another test component ...................................................................... GSUP_Emulation: allow moving HLR handling to another test component Will be used by MSC_Tests.TC_call_re_establishment_auth in I8110a6b432de734d53b111c7b69aabca12129691 where a call from one vc_conn gets re-established in another vc_conn. Related: SYS#5130 Change-Id: I235492185cda68f9f8e845085e3f6efe76a13501 --- M library/GSUP_Emulation.ttcn 1 file changed, 14 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/71/25071/1 diff --git a/library/GSUP_Emulation.ttcn b/library/GSUP_Emulation.ttcn index 51c158a..8c60803 100644 --- a/library/GSUP_Emulation.ttcn +++ b/library/GSUP_Emulation.ttcn @@ -222,6 +222,12 @@ GSUP_PROC.reply(GSUPEM_register:{imsi, vc_hdlr}) to vc_hdlr; } + [] GSUP_PROC.getcall(GSUPEM_imsi_steal:{?,?}) -> param(imsi, vc_hdlr) { + f_imsi_table_del(imsi); + f_imsi_table_add(vc_hdlr, imsi); + GSUP_PROC.reply(GSUPEM_imsi_steal:{imsi, vc_hdlr}) to vc_hdlr; + } + } } } @@ -240,9 +246,10 @@ /* procedure based port to register for incoming calls */ signature GSUPEM_register(in charstring imsi, in GSUP_ConnHdlr hdlr); +signature GSUPEM_imsi_steal(in charstring imsi, in GSUP_ConnHdlr hdlr); type port GSUPEM_PROC_PT procedure { - inout GSUPEM_register; + inout GSUPEM_register, GSUPEM_imsi_steal; } with { extension "internal" }; /* CreateCallback that can be used as create_cb and will use the expectation table */ @@ -302,4 +309,10 @@ } } +function f_gsup_imsi_steal(charstring imsi) runs on GSUP_ConnHdlr { + GSUP_PROC.call(GSUPEM_imsi_steal:{imsi, self}) { + [] GSUP_PROC.getreply(GSUPEM_imsi_steal:{?,?}) {}; + } +} + } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25071 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I235492185cda68f9f8e845085e3f6efe76a13501 Gerrit-Change-Number: 25071 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 Jul 27 23:07:53 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 27 Jul 2021 23:07:53 +0000 Subject: Change in osmo-ttcn3-hacks[master]: SMPP_Emulation: replace previous entries in f_create_smpp_expect() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25072 ) Change subject: SMPP_Emulation: replace previous entries in f_create_smpp_expect() ...................................................................... SMPP_Emulation: replace previous entries in f_create_smpp_expect() Will be used by MSC_Tests.TC_call_re_establishment_auth in I8110a6b432de734d53b111c7b69aabca12129691 to re-plug SMPP handling for an imsi to another vc_conn. Related: SYS#5130 Change-Id: I63856fc158f5db9ced9185c208035b26e7ed7a74 --- M library/SMPP_Emulation.ttcn 1 file changed, 11 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/72/25072/1 diff --git a/library/SMPP_Emulation.ttcn b/library/SMPP_Emulation.ttcn index fdeed4b..6c808eb 100644 --- a/library/SMPP_Emulation.ttcn +++ b/library/SMPP_Emulation.ttcn @@ -362,6 +362,17 @@ private function f_create_expect(charstring dest_number, SMPP_ConnHdlr hdlr) runs on SMPP_Emulation_CT { for (var integer i := 0; i < sizeof(ExpectTable); i := i+1) { + if (ExpectTable[i].dst_addr == dest_number) { + ExpectTable[i] := { + dst_ton := omit, + dst_npi := omit, + dst_addr := dest_number, + vc_conn := hdlr + } + return; + } + } + for (var integer i := 0; i < sizeof(ExpectTable); i := i+1) { if (ExpectTable[i].vc_conn == null) { ExpectTable[i] := { dst_ton := omit, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25072 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I63856fc158f5db9ced9185c208035b26e7ed7a74 Gerrit-Change-Number: 25072 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 Jul 27 23:07:54 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 27 Jul 2021 23:07:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add MSC_Tests.TC_call_re_establishment_auth References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25073 ) Change subject: msc: add MSC_Tests.TC_call_re_establishment_auth ...................................................................... msc: add MSC_Tests.TC_call_re_establishment_auth Invoke TC_call_re_establishment with authentication required. Related: SYS#5130 Change-Id: I8110a6b432de734d53b111c7b69aabca12129691 --- M msc/MSC_Tests.ttcn 1 file changed, 22 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/73/25073/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 428dae3..a46a25f 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -6652,6 +6652,9 @@ COORD.receive(REEST_LOST_CONNECTION); COORD.receive(tr_CallParams) -> value cpars; + f_gsup_imsi_steal(hex2str(g_pars.imsi)); + f_create_smpp_expect(hex2str(pars.msisdn)); + /* The MS has lost the first channel and decides to show up on a new conn (on a nearby neighbor cell) to ask for * CM Re-Establishment. Send a Complete Layer 3 to osmo-msc with a CM Re-Establishment Request. */ var MobileIdentityLV mi := valueof(ts_MI_IMSI_LV(g_pars.imsi)); @@ -6730,6 +6733,24 @@ vc_conn2.done; } +testcase TC_call_re_establishment_auth() runs on MTC_CT { + var BSC_ConnHdlr vc_conn1; + var BSC_ConnHdlr vc_conn2; + f_init(); + + f_vty_config(MSCVTY, "network", "authentication required"); + + var BSC_ConnHdlrPars pars1 := f_init_pars(92); + pars1.net.expect_auth := true; + var BSC_ConnHdlrPars pars2 := pars1; + + vc_conn1 := f_start_handler_with_pars(refers(f_tc_call_re_establishment_1), pars1); + vc_conn2 := f_start_handler_with_pars(refers(f_tc_call_re_establishment_2), pars2); + connect(vc_conn1:COORD, vc_conn2:COORD); + vc_conn1.done; + vc_conn2.done; +} + control { execute( TC_cr_before_reset() ); @@ -6891,6 +6912,7 @@ execute( TC_paging_response_tmsi_unknown() ); execute( TC_call_re_establishment() ); + execute( TC_call_re_establishment_auth() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25073 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8110a6b432de734d53b111c7b69aabca12129691 Gerrit-Change-Number: 25073 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 Jul 27 23:18:21 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 27 Jul 2021 23:18:21 +0000 Subject: Change in osmo-msc[master]: add sequence_charts/call_reestablishment.msc References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/25074 ) Change subject: add sequence_charts/call_reestablishment.msc ...................................................................... add sequence_charts/call_reestablishment.msc Change-Id: I6ebc3a0555ef82e1c027ca75b45f8147a3e07ee6 --- M doc/sequence_charts/Makefile.am A doc/sequence_charts/call_reestablishment.msc 2 files changed, 30 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/74/25074/1 diff --git a/doc/sequence_charts/Makefile.am b/doc/sequence_charts/Makefile.am index 6782f44..5efe855 100644 --- a/doc/sequence_charts/Makefile.am +++ b/doc/sequence_charts/Makefile.am @@ -7,6 +7,7 @@ inter_bsc_ho.msc \ inter_msc_ho.msc \ mncc_call_fsm.msc \ + call_reestablishment.msc \ $(NULL) CLEANFILES = \ @@ -21,6 +22,7 @@ $(builddir)/inter_bsc_ho.png \ $(builddir)/inter_msc_ho.png \ $(builddir)/voice_call_full.png \ + $(builddir)/call_reestablishment.png \ $(NULL) dot: \ diff --git a/doc/sequence_charts/call_reestablishment.msc b/doc/sequence_charts/call_reestablishment.msc new file mode 100644 index 0000000..3c9aea6 --- /dev/null +++ b/doc/sequence_charts/call_reestablishment.msc @@ -0,0 +1,28 @@ +msc { + hscale="2"; + ms[label="MS"],cell1[label="Cell 1 (BTS+BSC)"],cell0[label="Cell 0 (BTS+BSC)"],__msc[label="MSC"]; + + ms note __msc [label="MM is established\n(e.g. ongoing voice call)"]; + + ...; + + ms -x cell0 [label="radio link fails"]; + ms x- cell0; + + __msc abox __msc [label="Keep MM until timeout"]; + + ms => cell1 [label="Channel Required"]; + ms <= cell1 [label="Immediate Assignment"]; + ms => cell1 [label="Complete Layer3"]; + cell1 => __msc [label="Complete Layer3:\nCM Re-Establishment Request"]; + + cell0 <= __msc [label="Clear Command"]; + cell0 => __msc [label="Clear Complete"]; + + cell1 <= __msc [label="Cipher Mode Commad"]; + cell1 <= __msc [label="Cipher Mode Commad\n(with the encryption from CM Re-establishment request?)"]; + cell1 => __msc [label="Cipher Mode Complete"]; + + cell1 <= __msc [label="Assignment Request\nthis Assignment ACKs the CM Re-Establishment"]; + cell1 => __msc [label="Assignment Complete"]; +} -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25074 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I6ebc3a0555ef82e1c027ca75b45f8147a3e07ee6 Gerrit-Change-Number: 25074 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 Jul 27 23:18:22 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 27 Jul 2021 23:18:22 +0000 Subject: Change in osmo-msc[master]: add vlr_subscr_find_by_mi References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/25075 ) Change subject: add vlr_subscr_find_by_mi ...................................................................... add vlr_subscr_find_by_mi Will be used by I6fa37d6ca9fcb1637742b40e37b68d67664c9b60 "implement CM Re-Establish for voice calls" Related: SYS#5130 Change-Id: I5291d098a02268bd1c2e30195ae61e4a13e8709c --- M include/osmocom/msc/vlr.h M src/libvlr/vlr.c 2 files changed, 23 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/75/25075/1 diff --git a/include/osmocom/msc/vlr.h b/include/osmocom/msc/vlr.h index 6e65283..3273333 100644 --- a/include/osmocom/msc/vlr.h +++ b/include/osmocom/msc/vlr.h @@ -358,6 +358,9 @@ #define vlr_subscr_find_by_msisdn(vlr, msisdn, USE) \ _vlr_subscr_find_by_msisdn(vlr, msisdn, USE, __FILE__, __LINE__) +#define vlr_subscr_find_by_mi(vlr, mi, USE) \ + _vlr_subscr_find_by_mi(vlr, mi, USE, __FILE__, __LINE__) + struct vlr_subscr *_vlr_subscr_find_by_imsi(struct vlr_instance *vlr, const char *imsi, const char *use, @@ -385,6 +388,11 @@ const char *use, const char *file, int line); +struct vlr_subscr *_vlr_subscr_find_by_mi(struct vlr_instance *vlr, + const struct osmo_mobile_identity *mi, + const char *use, + const char *file, int line); + #define vlr_subscr_get(VSUB, USE) vlr_subscr_get_src(VSUB, USE, __FILE__, __LINE__) #define vlr_subscr_put(VSUB, USE) vlr_subscr_put_src(VSUB, USE, __FILE__, __LINE__) diff --git a/src/libvlr/vlr.c b/src/libvlr/vlr.c index 02aceef..23bd671 100644 --- a/src/libvlr/vlr.c +++ b/src/libvlr/vlr.c @@ -188,6 +188,21 @@ return NULL; } +struct vlr_subscr *_vlr_subscr_find_by_mi(struct vlr_instance *vlr, + const struct osmo_mobile_identity *mi, + const char *use, + const char *file, int line) +{ + switch (mi->type) { + case GSM_MI_TYPE_IMSI: + return _vlr_subscr_find_by_imsi(vlr, mi->imsi, use, file, line); + case GSM_MI_TYPE_TMSI: + return _vlr_subscr_find_by_tmsi(vlr, mi->tmsi, use, file, line); + default: + return NULL; + } +} + /* Transmit GSUP message for subscriber to HLR, using IMSI from subscriber */ static int vlr_subscr_tx_gsup_message(const struct vlr_subscr *vsub, struct osmo_gsup_message *gsup_msg) -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25075 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I5291d098a02268bd1c2e30195ae61e4a13e8709c Gerrit-Change-Number: 25075 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 Jul 27 23:18:22 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 27 Jul 2021 23:18:22 +0000 Subject: Change in osmo-msc[master]: implement CM Re-Establish for voice calls References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/25076 ) Change subject: implement CM Re-Establish for voice calls ...................................................................... implement CM Re-Establish for voice calls Related: SYS#5130 Change-Id: I6fa37d6ca9fcb1637742b40e37b68d67664c9b60 --- M include/osmocom/msc/gsm_data.h M include/osmocom/msc/msc_common.h M include/osmocom/msc/vlr.h M src/libmsc/gsm_04_08.c M src/libmsc/msc_a.c 5 files changed, 135 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/76/25076/1 diff --git a/include/osmocom/msc/gsm_data.h b/include/osmocom/msc/gsm_data.h index 1870804..b87afa0 100644 --- a/include/osmocom/msc/gsm_data.h +++ b/include/osmocom/msc/gsm_data.h @@ -44,6 +44,8 @@ MSC_CTR_CM_SERVICE_REQUEST_ACCEPTED, MSC_CTR_PAGING_RESP_REJECTED, MSC_CTR_PAGING_RESP_ACCEPTED, + MSC_CTR_CM_RE_ESTABLISH_REQ_ACCEPTED, + MSC_CTR_CM_RE_ESTABLISH_REQ_REJECTED, MSC_CTR_SMS_SUBMITTED, MSC_CTR_SMS_NO_RECEIVER, MSC_CTR_SMS_DELIVERED, @@ -76,6 +78,8 @@ [MSC_CTR_CM_SERVICE_REQUEST_ACCEPTED] = {"cm_service_request:accepted", "Accepted CM Service Requests."}, [MSC_CTR_PAGING_RESP_REJECTED] = {"paging_resp:rejected", "Rejected Paging Responses."}, [MSC_CTR_PAGING_RESP_ACCEPTED] = {"paging_resp:accepted", "Accepted Paging Responses."}, + [MSC_CTR_CM_RE_ESTABLISH_REQ_REJECTED] = {"cm_re_establish_request:rejected", "Rejected CM Re-Establishing Requests."}, + [MSC_CTR_CM_RE_ESTABLISH_REQ_ACCEPTED] = {"cm_re_establish_request:accepted", "Accepted CM Re-Establishing Requests."}, [MSC_CTR_SMS_SUBMITTED] = {"sms:submitted", "Total MO SMS received from the MS."}, [MSC_CTR_SMS_NO_RECEIVER] = {"sms:no_receiver", "Failed MO SMS delivery attempts (no receiver found)."}, [MSC_CTR_SMS_DELIVER_UNKNOWN_ERROR] = {"sms:deliver_unknown_error", "Failed MO SMS delivery attempts (other reason)."}, diff --git a/include/osmocom/msc/msc_common.h b/include/osmocom/msc/msc_common.h index e7ac559..f3fb0e0 100644 --- a/include/osmocom/msc/msc_common.h +++ b/include/osmocom/msc/msc_common.h @@ -41,6 +41,7 @@ COMPLETE_LAYER3_LU, COMPLETE_LAYER3_CM_SERVICE_REQ, COMPLETE_LAYER3_PAGING_RESP, + COMPLETE_LAYER3_CM_RE_ESTABLISH_REQ, }; extern const struct value_string complete_layer3_type_names[]; diff --git a/include/osmocom/msc/vlr.h b/include/osmocom/msc/vlr.h index 3273333..f12e906 100644 --- a/include/osmocom/msc/vlr.h +++ b/include/osmocom/msc/vlr.h @@ -444,6 +444,7 @@ VLR_PR_ARQ_T_INVALID = 0, /* to guard against unset vars */ VLR_PR_ARQ_T_CM_SERV_REQ, VLR_PR_ARQ_T_PAGING_RESP, + VLR_PR_ARQ_T_CM_RE_ESTABLISH_REQ, /* FIXME: differentiate between services of 24.008 10.5.3.3 */ }; diff --git a/src/libmsc/gsm_04_08.c b/src/libmsc/gsm_04_08.c index fb450e6..76d0bbc 100644 --- a/src/libmsc/gsm_04_08.c +++ b/src/libmsc/gsm_04_08.c @@ -48,11 +48,13 @@ #include #include #include +#include #include #include #include #include +#include #include @@ -824,17 +826,128 @@ /* Receive a CM Re-establish Request */ static int gsm48_rx_cm_reest_req(struct msc_a *msc_a, struct msgb *msg) { + struct gsm_network *net = msc_a_net(msc_a); + struct gsm48_hdr *gh; + struct gsm48_service_request *req; + struct gsm48_classmark2 *cm2; + uint8_t *cm2_buf, cm2_len; + bool is_utran; + struct vlr_subscr *vsub; struct osmo_mobile_identity mi; + struct msub *prev_msub; + struct msc_a *prev_msc_a; + int rc = osmo_mobile_identity_decode_from_l3(&mi, msg, false); if (rc) { LOGP(DMM, LOGL_ERROR, "CM RE-ESTABLISH REQUEST: cannot decode Mobile Identity\n"); return -EINVAL; } + msc_a->complete_layer3_type = COMPLETE_LAYER3_CM_RE_ESTABLISH_REQ; + msub_update_id_from_mi(msc_a->c.msub, &mi); + DEBUGP(DMM, "<- CM RE-ESTABLISH REQUEST %s\n", osmo_mobile_identity_to_str_c(OTC_SELECT, &mi)); - /* we don't support CM call re-establishment */ - return msc_gsm48_tx_mm_serv_rej(msc_a, GSM48_REJECT_SRV_OPT_NOT_SUPPORTED); + gh = (struct gsm48_hdr *) msgb_l3(msg); + req = (struct gsm48_service_request *) gh->data; + + /* Unfortunately in Phase1 the Classmark2 length is variable, so we cannot + * just use gsm48_service_request struct, and need to parse it manually. */ + cm2_len = gh->data[1]; + cm2_buf = gh->data + 2; + cm2 = (struct gsm48_classmark2 *) cm2_buf; + + /* Prevent buffer overrun: check the length of Classmark2 */ + if (cm2_buf + cm2_len > msg->tail) { + LOG_MSC_A(msc_a, LOGL_ERROR, "Rx CM SERVICE REQUEST: Classmark2 " + "length=%u is too big\n", cm2_len); + return msc_gsm48_tx_mm_serv_rej(msc_a, GSM48_REJECT_INCORRECT_MESSAGE); + } + + /* Look up the other, previously active connection for this subscriber */ + vsub = vlr_subscr_find_by_mi(net->vlr, &mi, __func__); + prev_msub = msub_for_vsub(vsub); + prev_msc_a = msub_msc_a(prev_msub); + if (!vsub || !prev_msub || !prev_msc_a) { + LOG_MSC_A(msc_a, LOGL_ERROR, "CM Re-Establish Request for unknown subscriber: %s\n", + osmo_mobile_identity_to_str_c(OTC_SELECT, &mi)); + if (vsub) + vlr_subscr_put(vsub, __func__); + return msc_gsm48_tx_mm_serv_rej(msc_a, GSM48_REJECT_IMSI_UNKNOWN_IN_VLR); + } + + LOG_MSC_A(msc_a, LOGL_NOTICE, "New conn requesting Re-Establishment\n"); + LOG_MSC_A(prev_msc_a, LOGL_NOTICE, "Old conn matching Re-Establishment request (%s)\n", + osmo_use_count_to_str_c(OTC_SELECT, &prev_msc_a->use_count)); + + if (!prev_msc_a->cc.call_leg || !prev_msc_a->cc.active_trans) { + LOG_MSC_A(msc_a, LOGL_ERROR, "CM Re-Establish Request only supported for voice calls\n"); + if (vsub) + vlr_subscr_put(vsub, __func__); + return msc_gsm48_tx_mm_serv_rej(msc_a, GSM48_REJECT_NETWORK_FAILURE); + } + + msc_a_get(prev_msc_a, __func__); + + /* Move the call_leg and active CC trans over to the new msc_a */ + call_leg_reparent(prev_msc_a->cc.call_leg, + msc_a->c.fi, + MSC_EV_CALL_LEG_TERM, + MSC_EV_CALL_LEG_RTP_LOCAL_ADDR_AVAILABLE, + MSC_EV_CALL_LEG_RTP_COMPLETE); + msc_a->cc.call_leg = prev_msc_a->cc.call_leg; + prev_msc_a->cc.call_leg = NULL; + + msc_a->cc.active_trans = prev_msc_a->cc.active_trans; + msc_a->cc.active_trans->msc_a = msc_a; + msc_a_get(msc_a, MSC_A_USE_CC); + prev_msc_a->cc.active_trans = NULL; + msc_a_put(prev_msc_a, MSC_A_USE_CC); + + /* Dis-associate the VLR subscriber from the previous msc_a, so that we can start a new Process Access Request + * on the new msc_a. */ + if (vsub->proc_arq_fsm) { + osmo_fsm_inst_term(vsub->proc_arq_fsm, OSMO_FSM_TERM_REGULAR, NULL); + vsub->proc_arq_fsm = NULL; + } + if (prev_msub->vsub) { + vlr_subscr_put(prev_msub->vsub, VSUB_USE_MSUB); + prev_msub->vsub = NULL; + } + + /* Clear the previous conn. + * FIXME: we are clearing the previous conn before having authenticated the new conn. That means anyone can send + * CM Re-Establishing requests with arbitrary mobile identities without having to authenticate, and can freely + * Clear any connections at will. */ + msc_a_release_cn(prev_msc_a); + msc_a_put(prev_msc_a, __func__); + prev_msc_a = NULL; + + /* Kick off Authentication and Ciphering for the new conn. */ + is_utran = (msc_a->c.ran->type == OSMO_RAT_UTRAN_IU); + vlr_proc_acc_req(msc_a->c.fi, + MSC_A_EV_AUTHENTICATED, MSC_A_EV_CN_CLOSE, NULL, + net->vlr, msc_a, + VLR_PR_ARQ_T_CM_RE_ESTABLISH_REQ, 0, + &mi, &msc_a->via_cell.lai, + is_utran || net->authentication_required, + is_utran ? net->uea_encryption : net->a5_encryption_mask > 0x01, + req->cipher_key_seq, + osmo_gsm48_classmark2_is_r99(cm2, cm2_len), + is_utran); + vlr_subscr_put(vsub, __func__); + + /* From vlr_proc_acc_req() we expect an implicit dispatch of PR_ARQ_E_START, and we expect + * msc_vlr_subscr_assoc() to already have been called and completed. Has an error occurred? */ + vsub = msc_a_vsub(msc_a); + if (!vsub) { + LOG_MSC_A(msc_a, LOGL_ERROR, "subscriber not allowed to do a CM Service Request\n"); + return -EIO; + } + + vsub->classmark.classmark2 = *cm2; + vsub->classmark.classmark2_len = cm2_len; + return 0; } static int gsm48_rx_mm_imsi_detach_ind(struct msc_a *msc_a, struct msgb *msg) diff --git a/src/libmsc/msc_a.c b/src/libmsc/msc_a.c index 0bc7b26..7a1ace0 100644 --- a/src/libmsc/msc_a.c +++ b/src/libmsc/msc_a.c @@ -120,6 +120,10 @@ case COMPLETE_LAYER3_PAGING_RESP: rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, conn_accepted ? MSC_CTR_PAGING_RESP_ACCEPTED : MSC_CTR_PAGING_RESP_REJECTED)); break; + case COMPLETE_LAYER3_CM_RE_ESTABLISH_REQ: + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, conn_accepted + ? MSC_CTR_CM_RE_ESTABLISH_REQ_ACCEPTED : MSC_CTR_CM_RE_ESTABLISH_REQ_REJECTED)); + break; default: break; } @@ -151,6 +155,15 @@ if (msc_a->complete_layer3_type == COMPLETE_LAYER3_LU) msc_a_put(msc_a, MSC_A_USE_LOCATION_UPDATING); + + if (msc_a->complete_layer3_type == COMPLETE_LAYER3_CM_RE_ESTABLISH_REQ) { + /* Trigger new Assignment to recommence the voice call. A little dance here because normally we verify + * that no CC trans is already active. */ + struct gsm_trans *cc_trans = msc_a->cc.active_trans; + msc_a->cc.active_trans = NULL; + osmo_fsm_inst_dispatch(msc_a->c.fi, MSC_A_EV_TRANSACTION_ACCEPTED, cc_trans); + msc_a_try_call_assignment(cc_trans); + } } bool msc_a_is_accepted(const struct msc_a *msc_a) @@ -1092,6 +1105,7 @@ { COMPLETE_LAYER3_LU, "LU" }, { COMPLETE_LAYER3_CM_SERVICE_REQ, "CM_SERVICE_REQ" }, { COMPLETE_LAYER3_PAGING_RESP, "PAGING_RESP" }, + { COMPLETE_LAYER3_CM_RE_ESTABLISH_REQ, "CM_RE_ESTABLISH_REQ" }, { 0, NULL } }; -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25076 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I6fa37d6ca9fcb1637742b40e37b68d67664c9b60 Gerrit-Change-Number: 25076 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 Jul 28 08:11:54 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 28 Jul 2021 08:11:54 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: allow to reset endpoints on startup In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/25008 to look at the new patch set (#7). Change subject: mgcp_client: allow to reset endpoints on startup ...................................................................... mgcp_client: allow to reset endpoints on startup Depending on the usecase of osmo_mpcg_client it may be helpful to send a DLCX to certain endpoints. Usually this would be a wildcarded endpoint that resets the entire trunk to drop lingering RTP flows which may still present after a restart/crash, but it might be also a group of specific endpoints. The user may specify an arbitrary amount of endpoints where the mgcp client will send a DLCX to. It does not matter if the endpoints are wildcarded or not. Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Related: SYS#5535 --- M TODO-RELEASE M include/osmocom/mgcp_client/mgcp_client.h M src/libosmo-mgcp-client/mgcp_client.c M src/libosmo-mgcp-client/mgcp_client_vty.c 4 files changed, 142 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/08/25008/7 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25008 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Gerrit-Change-Number: 25008 Gerrit-PatchSet: 7 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 28 09:00:37 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 28 Jul 2021 09:00:37 +0000 Subject: Change in libosmocore[master]: utils: Fix c++ warn in OSMO_STRBUF_APPEND In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25057 ) Change subject: utils: Fix c++ warn in OSMO_STRBUF_APPEND ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25057 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I90e7374aa959468670f1c0ea65a427398d423ddb Gerrit-Change-Number: 25057 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 28 Jul 2021 09:00: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 Jul 28 09:23:07 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 28 Jul 2021 09:23:07 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: allow to reset endpoints on startup In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25008 ) Change subject: mgcp_client: allow to reset endpoints on startup ...................................................................... Patch Set 7: (5 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/25008/7/src/libosmo-mgcp-client/mgcp_client.c File src/libosmo-mgcp-client/mgcp_client.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25008/7/src/libosmo-mgcp-client/mgcp_client.c at a912 PS7, Line 912: } moving this function seems like an unrelated change, maybe put it in a separate commit? https://gerrit.osmocom.org/c/osmo-mgw/+/25008/7/src/libosmo-mgcp-client/mgcp_client.c at 856 PS7, Line 856: Fromat Format https://gerrit.osmocom.org/c/osmo-mgw/+/25008/7/src/libosmo-mgcp-client/mgcp_client_vty.c File src/libosmo-mgcp-client/mgcp_client_vty.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25008/7/src/libosmo-mgcp-client/mgcp_client_vty.c at 178 PS7, Line 178: for (i = 0; i < strlen(argv[0]); i++) { How about, instead of the for and if: if (strchr(argv[0], '@')) { https://gerrit.osmocom.org/c/osmo-mgw/+/25008/7/src/libosmo-mgcp-client/mgcp_client_vty.c at 193 PS7, Line 193: return CMD_WARNING; reset_ep is not deallocated in this code path https://gerrit.osmocom.org/c/osmo-mgw/+/25008/7/src/libosmo-mgcp-client/mgcp_client_vty.c at 204 PS7, Line 204: MGW_STR "emove an endpoint name from the reset-endpoint list, e.g. 'rtpbridge/*'\n" "emove -> "remove -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25008 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Gerrit-Change-Number: 25008 Gerrit-PatchSet: 7 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-CC: osmith Gerrit-Comment-Date: Wed, 28 Jul 2021 09:23: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 Wed Jul 28 09:41:53 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 28 Jul 2021 09:41:53 +0000 Subject: Change in osmo-ccid-firmware[master]: add script to generate a inititial osmo-bankd slotconfig sorted by us... In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/25062 ) Change subject: add script to generate a inititial osmo-bankd slotconfig sorted by usb path ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/25062/1/contrib/gen_bankd_pcsc_slots-csv.sh File contrib/gen_bankd_pcsc_slots-csv.sh: https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/25062/1/contrib/gen_bankd_pcsc_slots-csv.sh at 5 PS1, Line 5: dfu-util -l |grep "Found Runtime: \[1d50:6141\]" |cut -d ' ' -f 8,13|tr -d ','|cut -d \" -f 2,4|tr \" ' '|sort |cut -d ' ' -f 2 | awk 'BEGIN {count=0}{for (slot=0; slot<8; slot++) {print count, $0, 0slot; count++}}'|awk '{print "\"1\",\""$1"\",\"sysmocom sysmoOCTSIM \[CCID\] \("$2"\) [A-F0-9]{2} "$3"\""}' having each command on a separate line would make this much more readable: dfu-util -l \ | grep "Found Runtime ..." \ | cut -d ... \ | ... -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/25062 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: Ibb5e7db78c8a2129d2093b0dd5ecaa7c13ab9ee3 Gerrit-Change-Number: 25062 Gerrit-PatchSet: 1 Gerrit-Owner: roh Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-Comment-Date: Wed, 28 Jul 2021 09:41:53 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 28 09:46:44 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 28 Jul 2021 09:46:44 +0000 Subject: Change in docker-playground[master]: debian-stretch-titan: Wait for interface to be _up_ not just its exis... In-Reply-To: References: Message-ID: daniel has uploaded a new patch set (#5) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/docker-playground/+/22674 ) Change subject: debian-stretch-titan: Wait for interface to be _up_ not just its existance ...................................................................... debian-stretch-titan: Wait for interface to be _up_ not just its existance I've seen at least one instance where -EIFDOWN was returned when the test suite was coming up. This is a race condition, as we first have to move the netdev into the namespace and only then can configure it. "pipework wait" only waits for its existence, not until it is up. We cannot revert the order, as the netdev looses its state when it is moved to a different netns. Change-Id: I1bfb6eb925bca4e4e1901e06eed831152cddbbe2 --- M debian-stretch-titan/ttcn3-docker-run.sh 1 file changed, 13 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/74/22674/5 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/22674 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I1bfb6eb925bca4e4e1901e06eed831152cddbbe2 Gerrit-Change-Number: 22674 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Assignee: daniel Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 28 09:47:12 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 28 Jul 2021 09:47:12 +0000 Subject: Change in docker-playground[master]: debian-stretch-titan: Wait for interface to be _up_ not just its exis... In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/22674 ) Change subject: debian-stretch-titan: Wait for interface to be _up_ not just its existance ...................................................................... Patch Set 5: Verified+1 Runs on my setup -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/22674 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I1bfb6eb925bca4e4e1901e06eed831152cddbbe2 Gerrit-Change-Number: 22674 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Assignee: daniel Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 28 Jul 2021 09:47: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 Jul 28 09:50:16 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 28 Jul 2021 09:50:16 +0000 Subject: Change in docker-playground[master]: debian-stretch-titan: Wait for interface to be _up_ not just its exis... In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/22674 ) Change subject: debian-stretch-titan: Wait for interface to be _up_ not just its existance ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/22674 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I1bfb6eb925bca4e4e1901e06eed831152cddbbe2 Gerrit-Change-Number: 22674 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Assignee: daniel Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 28 Jul 2021 09: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 Wed Jul 28 11:04:49 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 28 Jul 2021 11:04:49 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy: Route BSSGP STATUS with PDU_IN_ERROR containing a TLLI References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/25077 ) Change subject: gbproxy: Route BSSGP STATUS with PDU_IN_ERROR containing a TLLI ...................................................................... gbproxy: Route BSSGP STATUS with PDU_IN_ERROR containing a TLLI Fixes TC_status_sig_ul_tlli Related: OS#4892 Change-Id: I9d2ec73520ee46ceedda3f7e63035e6a51a65ac2 --- M src/gb_proxy.c 1 file changed, 49 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gbproxy refs/changes/77/25077/1 diff --git a/src/gb_proxy.c b/src/gb_proxy.c index 94ac4a3..f473c39 100644 --- a/src/gb_proxy.c +++ b/src/gb_proxy.c @@ -988,6 +988,28 @@ return gbprox_relay2nse(msg, sgsn->nse, 0); } +static int gbproxy_tlli_from_status_pdu(struct msgb *msg, struct tlv_parsed *tp, uint32_t *tlli) +{ + int rc; + int pdu_len = TLVP_LEN(tp, BSSGP_IE_PDU_IN_ERROR); + const uint8_t *pdu_data = TLVP_VAL(tp, BSSGP_IE_PDU_IN_ERROR); + struct bssgp_normal_hdr *bgph = (struct bssgp_normal_hdr *)pdu_data; + struct tlv_parsed tp_inner[2]; + + rc = osmo_tlv_prot_parse(&osmo_pdef_bssgp, tp, ARRAY_SIZE(tp_inner), bgph->pdu_type, bgph->data, pdu_len - sizeof(*bgph), 0, 0, DGPRS, "FOO"); + + if (rc < 0) + return rc; + + if (TLVP_PRESENT(tp, BSSGP_IE_TLLI)) { + *tlli = osmo_load32be(TLVP_VAL(tp, BSSGP_IE_TLLI)); + } else { + return -ENOENT; + } + + return 0; +} + /* Receive an incoming signalling message from a BSS-side NS-VC */ static int gbprox_rx_sig_from_bss(struct gbproxy_nse *nse, struct msgb *msg, uint16_t ns_bvci) { @@ -1078,9 +1100,36 @@ break; } case BSSGP_PDUT_STATUS: + { + /* Check if the status needs to be terminated locally */ + uint8_t cause = *TLVP_VAL(&tp[0], BSSGP_IE_CAUSE); + if (cause == BSSGP_CAUSE_UNKNOWN_BVCI || cause == BSSGP_CAUSE_BVCI_BLOCKED) { + /* Log and handle locally */ + ptp_bvci = ntohs(tlvp_val16_unal(&tp[0], BSSGP_IE_BVCI)); + LOGP(DGPRS, LOGL_ERROR, "%s Rx STATUS with cause %s for PtP-BVC %05u\n", log_pfx, + bssgp_cause_str (cause), ptp_bvci); + /* FIXME: Remove/block our BVC if present? */ + break; + } + + LOGP(DGPRS, LOGL_INFO, "Forwarding STATUS with cause %s\n", bssgp_cause_str(cause)); + struct gbproxy_sgsn *sgsn; + if (gbproxy_tlli_from_status_pdu(msg, tp, &tlli) == 0) { + sgsn = gbproxy_select_sgsn(nse->cfg, &tlli); + } else { + sgsn = gbproxy_select_sgsn(nse->cfg, NULL); + } + if (!sgsn) { + + rc = -EINVAL; + break; + } + + rc = gbprox_relay2nse(msg, sgsn->nse, 0); /* FIXME: inspect the erroneous PDU IE (if any) and check * if we can extract a TLLI/RNI to route it to the correct SGSN */ break; + } case BSSGP_PDUT_RAN_INFO: case BSSGP_PDUT_RAN_INFO_REQ: case BSSGP_PDUT_RAN_INFO_ACK: -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/25077 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I9d2ec73520ee46ceedda3f7e63035e6a51a65ac2 Gerrit-Change-Number: 25077 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 28 11:04:51 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 28 Jul 2021 11:04:51 +0000 Subject: Change in osmo-gbproxy[master]: gpproxy: Route BSSGP STATUS with PDU_IN_ERROR containing a TMSI References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/25078 ) Change subject: gpproxy: Route BSSGP STATUS with PDU_IN_ERROR containing a TMSI ...................................................................... gpproxy: Route BSSGP STATUS with PDU_IN_ERROR containing a TMSI Derive a foreign TLLI from a TMSI and route the message according to it Related: OS#4892 Change-Id: Iebda9e9fd433cd28c0f657adc4d475d4e6e247ba --- M src/gb_proxy.c 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gbproxy refs/changes/78/25078/1 diff --git a/src/gb_proxy.c b/src/gb_proxy.c index f473c39..0815041 100644 --- a/src/gb_proxy.c +++ b/src/gb_proxy.c @@ -1003,6 +1003,11 @@ if (TLVP_PRESENT(tp, BSSGP_IE_TLLI)) { *tlli = osmo_load32be(TLVP_VAL(tp, BSSGP_IE_TLLI)); + } else if (TLVP_PRESENT(tp, BSSGP_IE_TMSI)) { + /* we treat the TMSI like a TLLI and extract the NRI from it */ + *tlli = osmo_load32be(TLVP_VAL(tp, BSSGP_IE_TMSI)); + /* Convert the TMSI into a FOREIGN TLLI so it is routed appropriately */ + *tlli = gprs_tmsi2tlli(*tlli, TLLI_FOREIGN); } else { return -ENOENT; } -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/25078 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: Iebda9e9fd433cd28c0f657adc4d475d4e6e247ba Gerrit-Change-Number: 25078 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 28 11:04:51 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 28 Jul 2021 11:04:51 +0000 Subject: Change in osmo-gbproxy[master]: WIP STATUS handling References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/25079 ) Change subject: WIP STATUS handling ...................................................................... WIP STATUS handling Related: OS#4892 Change-Id: I29adb77a94ab759f5d557dada60b4b7df9616f17 --- M src/gb_proxy.c 1 file changed, 35 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gbproxy refs/changes/79/25079/1 diff --git a/src/gb_proxy.c b/src/gb_proxy.c index 0815041..3826b0c 100644 --- a/src/gb_proxy.c +++ b/src/gb_proxy.c @@ -996,6 +996,7 @@ struct bssgp_normal_hdr *bgph = (struct bssgp_normal_hdr *)pdu_data; struct tlv_parsed tp_inner[2]; + /* TODO: Parse partial messages as well */ rc = osmo_tlv_prot_parse(&osmo_pdef_bssgp, tp, ARRAY_SIZE(tp_inner), bgph->pdu_type, bgph->data, pdu_len - sizeof(*bgph), 0, 0, DGPRS, "FOO"); if (rc < 0) @@ -1108,16 +1109,19 @@ { /* Check if the status needs to be terminated locally */ uint8_t cause = *TLVP_VAL(&tp[0], BSSGP_IE_CAUSE); + if (cause == BSSGP_CAUSE_UNKNOWN_BVCI || cause == BSSGP_CAUSE_BVCI_BLOCKED) { /* Log and handle locally */ ptp_bvci = ntohs(tlvp_val16_unal(&tp[0], BSSGP_IE_BVCI)); - LOGP(DGPRS, LOGL_ERROR, "%s Rx STATUS with cause %s for PtP-BVC %05u\n", log_pfx, - bssgp_cause_str (cause), ptp_bvci); + LOGPNSE(nse, LOGL_ERROR, "Rx STATUS cause=0x%02x(%s) for PtP-BVC %05u\n", cause, + bssgp_cause_str(cause), ptp_bvci); /* FIXME: Remove/block our BVC if present? */ break; } - LOGP(DGPRS, LOGL_INFO, "Forwarding STATUS with cause %s\n", bssgp_cause_str(cause)); + LOGPNSE(nse, LOGL_NOTICE, "Rx STATUS cause=0x%02x(%s) ", cause, + bssgp_cause_str(cause)); + struct gbproxy_sgsn *sgsn; if (gbproxy_tlli_from_status_pdu(msg, tp, &tlli) == 0) { sgsn = gbproxy_select_sgsn(nse->cfg, &tlli); @@ -1131,8 +1135,6 @@ } rc = gbprox_relay2nse(msg, sgsn->nse, 0); - /* FIXME: inspect the erroneous PDU IE (if any) and check - * if we can extract a TLLI/RNI to route it to the correct SGSN */ break; } case BSSGP_PDUT_RAN_INFO: @@ -1468,20 +1470,36 @@ rc = gbprox_rx_paging(nse, msg, pdut_name, &tp[0], ns_bvci, paging_bc); break; case BSSGP_PDUT_STATUS: - /* Some exception has occurred */ - cause = *TLVP_VAL(&tp[0], BSSGP_IE_CAUSE); - LOGPNSE(nse, LOGL_NOTICE, "Rx STATUS cause=0x%02x(%s) ", cause, + { + struct gbproxy_nse *nse_peer; + uint32_t tlli; + + /* Check if the status needs to be terminated locally */ + uint8_t cause = *TLVP_VAL(&tp[0], BSSGP_IE_CAUSE); + + if (cause == BSSGP_CAUSE_UNKNOWN_BVCI || cause == BSSGP_CAUSE_BVCI_BLOCKED) { + /* Log and handle locally */ + uint16_t ptp_bvci = ntohs(tlvp_val16_unal(&tp[0], BSSGP_IE_BVCI)); + LOGPNSE(nse, LOGL_ERROR, "Rx STATUS cause=0x%02x(%s) for PtP-BVC %05u\n", cause, + bssgp_cause_str(cause), ptp_bvci); + /* FIXME: Remove/block our BVC if present? */ + break; + } + + LOGPNSE(nse, LOGL_NOTICE, "Rx STATUS cause=0x%02x(%s)\n", cause, bssgp_cause_str(cause)); - if (TLVP_PRES_LEN(&tp[0], BSSGP_IE_BVCI, 2)) { - bvci = ntohs(tlvp_val16_unal(&tp[0], BSSGP_IE_BVCI)); - LOGPC(DGPRS, LOGL_NOTICE, "BVCI=%05u\n", bvci); - sgsn_bvc = gbproxy_bvc_by_bvci(nse, bvci); - /* don't send STATUS in response to STATUS if !bvc */ - if (sgsn_bvc && sgsn_bvc->cell && sgsn_bvc->cell->bss_bvc) - rc = gbprox_relay2peer(msg, sgsn_bvc->cell->bss_bvc, ns_bvci); - } else - LOGPC(DGPRS, LOGL_NOTICE, "\n"); + + if (gbproxy_tlli_from_status_pdu(msg, tp, &tlli) == 0) { + nse_peer = gbproxy_nse_by_tlli(cfg, tlli); + if (nse_peer) + return gbprox_relay2nse(msg, nse_peer, 0); + } + + LOGPNSE(nse, LOGL_ERROR, "Unable to handle STATUS cause=0x%02x(%s)\n", cause, + bssgp_cause_str(cause)); + break; + } /* those only exist in the SGSN -> BSS direction */ case BSSGP_PDUT_SUSPEND_ACK: case BSSGP_PDUT_SUSPEND_NACK: -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/25079 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I29adb77a94ab759f5d557dada60b4b7df9616f17 Gerrit-Change-Number: 25079 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 28 11:19:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 28 Jul 2021 11:19:38 +0000 Subject: Change in docker-playground[master]: debian-stretch-titan: Wait for interface to be _up_ not just its exis... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/22674 ) Change subject: debian-stretch-titan: Wait for interface to be _up_ not just its existance ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/22674 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I1bfb6eb925bca4e4e1901e06eed831152cddbbe2 Gerrit-Change-Number: 22674 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Assignee: daniel Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 28 Jul 2021 11:19:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 28 11:21:25 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 28 Jul 2021 11:21:25 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: fix conn id in 'MGCP OK' msg (as_mgcp_ack_all_mdcx) In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25064 ) Change subject: msc: fix conn id in 'MGCP OK' msg (as_mgcp_ack_all_mdcx) ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25064 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If6f7f135d95c04ee0240f3fa9ba0b18ffc6fa24a Gerrit-Change-Number: 25064 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 28 Jul 2021 11: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 Wed Jul 28 11:22:16 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 28 Jul 2021 11:22:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: L3_Templates: add ts_ML3_MO_CC_DISC In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25065 ) Change subject: L3_Templates: add ts_ML3_MO_CC_DISC ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25065 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie152f8760c9bd6df04a20fdbb7ce9bbde9cb3d68 Gerrit-Change-Number: 25065 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 28 Jul 2021 11:22: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 Jul 28 11:24:07 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 28 Jul 2021 11:24:07 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Emulation: allow moving ep handling to another test component In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25066 ) Change subject: MGCP_Emulation: allow moving ep handling to another test component ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25066/2/library/MGCP_Emulation.ttcn File library/MGCP_Emulation.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25066/2/library/MGCP_Emulation.ttcn at 196 PS2, Line 196: private function f_ep_table_steal(MGCP_ConnHdlr comp_ref, MgcpEndpoint ep) Steal here is not really informative. Rather document it or change it something like f_ep_table_chg_ConnHdlr() -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25066 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id46035e53c2870e1fdef1335dce42b2020f7cd54 Gerrit-Change-Number: 25066 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 28 Jul 2021 11:24: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 Wed Jul 28 12:04:01 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 28 Jul 2021 12:04:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MNCC_Emulation: allow moving call handling to another test component In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25067 ) Change subject: MNCC_Emulation: allow moving call handling to another test component ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25067 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If7e952e54ebd1bb88cce11ec5f0ff4826e02cb63 Gerrit-Change-Number: 25067 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 28 Jul 2021 12:04: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 Jul 28 12:04:21 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 28 Jul 2021 12:04:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add as_mgcp_ack_all_dlcx In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25068 ) Change subject: msc: add as_mgcp_ack_all_dlcx ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25068 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic63fa41fa2e5d392d39f6b5f9edd3952aa6a9ee9 Gerrit-Change-Number: 25068 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 28 Jul 2021 12:04: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 Jul 28 12:05:12 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 28 Jul 2021 12:05:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add a COORD port for inter-component coordination In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25069 ) Change subject: msc: add a COORD port for inter-component coordination ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25069 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iba3a5304fa40159bc2c31cdc3a71ee56ed08bd12 Gerrit-Change-Number: 25069 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 28 Jul 2021 12:05: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 Jul 28 12:05:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 28 Jul 2021 12:05:47 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add MSC_Tests.TC_call_re_establishment In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25070 ) Change subject: msc: add MSC_Tests.TC_call_re_establishment ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25070 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifdff5573eeb3b3d41e8599b9b0228411d2576864 Gerrit-Change-Number: 25070 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 28 Jul 2021 12:05: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 Jul 28 12:06:01 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 28 Jul 2021 12:06:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: .gitignore sms.db In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25063 ) Change subject: .gitignore sms.db ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25063 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib4c66a9861f92293520c4c38a50d4d51f3cf2a77 Gerrit-Change-Number: 25063 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 28 Jul 2021 12:06:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 28 12:08:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 28 Jul 2021 12:08:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: SMPP_Emulation: replace previous entries in f_create_smpp_expect() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25072 ) Change subject: SMPP_Emulation: replace previous entries in f_create_smpp_expect() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25072 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I63856fc158f5db9ced9185c208035b26e7ed7a74 Gerrit-Change-Number: 25072 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 28 Jul 2021 12:08: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 Jul 28 12:09:24 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 28 Jul 2021 12:09:24 +0000 Subject: Change in osmo-ttcn3-hacks[master]: GSUP_Emulation: allow moving HLR handling to another test component In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25071 ) Change subject: GSUP_Emulation: allow moving HLR handling to another test component ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25071 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I235492185cda68f9f8e845085e3f6efe76a13501 Gerrit-Change-Number: 25071 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 28 Jul 2021 12:09:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 28 12:10:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 28 Jul 2021 12:10:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add MSC_Tests.TC_call_re_establishment_auth In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25073 ) Change subject: msc: add MSC_Tests.TC_call_re_establishment_auth ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25073/1/msc/MSC_Tests.ttcn File msc/MSC_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25073/1/msc/MSC_Tests.ttcn at 6749 PS1, Line 6749: connect(vc_conn1:COORD, vc_conn2:COORD); Can't you have a race condition here since you start vc_conn1 and vc_conn2 previously? It may be that one of them tries to use COORD and it's not yet connected? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25073 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8110a6b432de734d53b111c7b69aabca12129691 Gerrit-Change-Number: 25073 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 28 Jul 2021 12:10:33 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 28 12:11:05 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 28 Jul 2021 12:11:05 +0000 Subject: Change in osmo-msc[master]: add vlr_subscr_find_by_mi In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/25075 ) Change subject: add vlr_subscr_find_by_mi ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25075 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I5291d098a02268bd1c2e30195ae61e4a13e8709c Gerrit-Change-Number: 25075 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 28 Jul 2021 12:11: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 Jul 28 12:21:57 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 28 Jul 2021 12:21:57 +0000 Subject: Change in osmo-msc[master]: implement CM Re-Establish for voice calls In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/25076 ) Change subject: implement CM Re-Establish for voice calls ...................................................................... Patch Set 1: (3 comments) https://gerrit.osmocom.org/c/osmo-msc/+/25076/1/include/osmocom/msc/gsm_data.h File include/osmocom/msc/gsm_data.h: https://gerrit.osmocom.org/c/osmo-msc/+/25076/1/include/osmocom/msc/gsm_data.h at 47 PS1, Line 47: MSC_CTR_CM_RE_ESTABLISH_REQ_ACCEPTED, Swap these 2. In all the other endums above, REJECTED comes prior to ACCEPTED, as well as in rate_ctr_desc below (you ar ehence swapping the order below). https://gerrit.osmocom.org/c/osmo-msc/+/25076/1/src/libmsc/gsm_04_08.c File src/libmsc/gsm_04_08.c: https://gerrit.osmocom.org/c/osmo-msc/+/25076/1/src/libmsc/gsm_04_08.c at 928 PS1, Line 928: vlr_proc_acc_req(msc_a->c.fi, looks like we may want to create a new req struct to pass to this function at some point ;) https://gerrit.osmocom.org/c/osmo-msc/+/25076/1/src/libmsc/msc_a.c File src/libmsc/msc_a.c: https://gerrit.osmocom.org/c/osmo-msc/+/25076/1/src/libmsc/msc_a.c at 125 PS1, Line 125: ? MSC_CTR_CM_RE_ESTABLISH_REQ_ACCEPTED : MSC_CTR_CM_RE_ESTABLISH_REQ_REJECTED)); Not blocking, but I'd keep it in one line like the other ones above. Furthermore I find having the "?" in a new line really strange, and looking at previous line it looks like simply "conn_accepted" is being passed. -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25076 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I6fa37d6ca9fcb1637742b40e37b68d67664c9b60 Gerrit-Change-Number: 25076 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 28 Jul 2021 12:21: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 Wed Jul 28 12:51:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 28 Jul 2021 12:51:06 +0000 Subject: Change in osmo-bsc[master]: Introduce support for ACC ramping during whole BTS life cycle In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19376 ) Change subject: Introduce support for ACC ramping during whole BTS life cycle ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/19376/5//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bsc/+/19376/5//COMMIT_MSG at 22 PS5, Line 22: "access-control-class-ramping-step-size"), but the "dynamic" option This was meant to mean "access-control-class-ramping-step-interval" -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19376 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id17f947c92cdfc0eb9541a9bf066338169caaeb5 Gerrit-Change-Number: 19376 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 28 Jul 2021 12:51:06 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 28 13:44:21 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 28 Jul 2021 13:44:21 +0000 Subject: Change in docker-playground[master]: debian-stretch-titan: Wait for interface to be _up_ not just its exis... In-Reply-To: References: Message-ID: daniel has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/22674 ) Change subject: debian-stretch-titan: Wait for interface to be _up_ not just its existance ...................................................................... debian-stretch-titan: Wait for interface to be _up_ not just its existance I've seen at least one instance where -EIFDOWN was returned when the test suite was coming up. This is a race condition, as we first have to move the netdev into the namespace and only then can configure it. "pipework wait" only waits for its existence, not until it is up. We cannot revert the order, as the netdev looses its state when it is moved to a different netns. Change-Id: I1bfb6eb925bca4e4e1901e06eed831152cddbbe2 --- M debian-stretch-titan/ttcn3-docker-run.sh 1 file changed, 13 insertions(+), 0 deletions(-) Approvals: daniel: Verified osmith: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/debian-stretch-titan/ttcn3-docker-run.sh b/debian-stretch-titan/ttcn3-docker-run.sh index da3d314..c868220 100755 --- a/debian-stretch-titan/ttcn3-docker-run.sh +++ b/debian-stretch-titan/ttcn3-docker-run.sh @@ -14,7 +14,20 @@ SUITE=$2 if [ -n "$WAIT_FOR_NETDEV" ]; then + echo "Waiting for ${WAIT_FOR_NETDEV} to appear" pipework --wait -i "$WAIT_FOR_NETDEV" + + while true; do + if [ ! -f /sys/class/net/${WAIT_FOR_NETDEV}/operstate ]; then + exit 23 + fi + OPSTATE=$(cat /sys/class/net/${WAIT_FOR_NETDEV}/operstate) + if [ "$OPSTATE" = "up" ]; then + break + fi + echo "Waiting for ${WAIT_FOR_NETDEV} to become operational" + sleep 1 + done fi cd /data -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/22674 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I1bfb6eb925bca4e4e1901e06eed831152cddbbe2 Gerrit-Change-Number: 22674 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Assignee: daniel Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 28 13:46:46 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 28 Jul 2021 13:46:46 +0000 Subject: Change in simtrace2[master]: WIP: introduce support for new ngff_cardem board In-Reply-To: References: Message-ID: Hoernchen has uploaded a new patch set (#2) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/simtrace2/+/24879 ) Change subject: WIP: introduce support for new ngff_cardem board ...................................................................... WIP: introduce support for new ngff_cardem board This adds support for the new ngff_cardem board, a board that basically combines a ngff breakout board with a built-in SIMtrace2. The firmware support added by this ptach is currently untested, and serves as a basis for testing the ngff_cardem prototypes. Change-Id: I9649c853271c22d5403cdf3a7ec9029c9cecfa32 --- M contrib/flash.py M contrib/simtrace.lua A firmware/libboard/ngff_cardem/include/board.h A firmware/libboard/ngff_cardem/include/card_pres.h A firmware/libboard/ngff_cardem/include/wwan_led.h A firmware/libboard/ngff_cardem/include/wwan_perst.h A firmware/libboard/ngff_cardem/product_string.txt A firmware/libboard/ngff_cardem/source/board_ngff_cardem.c A firmware/libboard/ngff_cardem/source/card_pres.c A firmware/libboard/ngff_cardem/source/sim_switch.c A firmware/libboard/ngff_cardem/source/wwan_led.c A firmware/libboard/ngff_cardem/source/wwan_perst.c M firmware/libcommon/include/simtrace_usb.h M host/contrib/99-simtrace2.rules M host/lib/usb_util.c 15 files changed, 716 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/79/24879/2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24879 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I9649c853271c22d5403cdf3a7ec9029c9cecfa32 Gerrit-Change-Number: 24879 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 28 13:46:47 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 28 Jul 2021 13:46:47 +0000 Subject: Change in simtrace2[master]: firmware: data sections References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/25080 ) Change subject: firmware: data sections ...................................................................... firmware: data sections Might or might not be compiler default, but why guess? Change-Id: Id3da816611afea0858466949dcc47db5e5d5493a --- M firmware/Makefile 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/80/25080/1 diff --git a/firmware/Makefile b/firmware/Makefile index 684f223..76a58e1 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -174,7 +174,7 @@ #CFLAGS += -Wa,-a,-ad CFLAGS += -D__ARM -fno-builtin CFLAGS += --param max-inline-insns-single=500 -mcpu=cortex-m3 -mthumb # -mfix-cortex-m3-ldrd -CFLAGS += -ffunction-sections -g $(OPTIMIZATION) $(INCLUDES) -D$(CHIP) -DTRACE_LEVEL=$(TRACE_LEVEL) -DALLOW_PEER_ERASE=$(ALLOW_PEER_ERASE) +CFLAGS += -fdata-sections -ffunction-sections -g $(OPTIMIZATION) $(INCLUDES) -D$(CHIP) -DTRACE_LEVEL=$(TRACE_LEVEL) -DALLOW_PEER_ERASE=$(ALLOW_PEER_ERASE) CFLAGS += -DGIT_VERSION=\"$(GIT_VERSION)\" CFLAGS += -DBOARD=\"$(BOARD)\" -DBOARD_$(BOARD) CFLAGS += -DAPPLICATION=\"$(APP)\" -DAPPLICATION_$(APP) -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25080 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Id3da816611afea0858466949dcc47db5e5d5493a Gerrit-Change-Number: 25080 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 28 13:46:47 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 28 Jul 2021 13:46:47 +0000 Subject: Change in simtrace2[master]: firmware: proper makefile deps References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/25081 ) Change subject: firmware: proper makefile deps ...................................................................... firmware: proper makefile deps Single threaded evaluation is (assumed to be!) left to right, depth first - but with concurrent make using -j this breaks, because the actual usb string header is generated after the attempt to concurrently compile the code that needs it, since there is no explicit order among the all: dependencies. This is fixed by properly adding a dependency on that header. Change-Id: I0bdf915deabeda861f6398e654764918e58a64c2 --- M firmware/Makefile 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/81/25081/1 diff --git a/firmware/Makefile b/firmware/Makefile index 76a58e1..2a14025 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -197,7 +197,7 @@ # Rules #------------------------------------------------------------------------------- -all: apps/$(APP)/usb_strings_generated.h $(BIN) $(OBJ) $(MEMORIES) +all: $(BIN) $(OBJ) $(MEMORIES) combined: $(OUTPUT)-combined.bin @@ -208,7 +208,7 @@ $(OUTPUT)-combined.bin: $(BIN)/$(BOARD)-dfu-flash-padded.bin $(OUTPUT)-dfu.bin cat $^ > $@ -$(BIN) $(OBJ): +$(BIN) $(OBJ): apps/$(APP)/usb_strings_generated.h mkdir -p $@ usbstring/usbstring: usbstring/usbstring.c -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25081 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I0bdf915deabeda861f6398e654764918e58a64c2 Gerrit-Change-Number: 25081 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 28 13:46:48 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 28 Jul 2021 13:46:48 +0000 Subject: Change in simtrace2[master]: firmware: cardem for ngff References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/25082 ) Change subject: firmware: cardem for ngff ...................................................................... firmware: cardem for ngff Change-Id: Ia96124fbe8a752c98e7fd4096d542a3b2b9bc255 --- M firmware/apps/cardem/main.c M firmware/libboard/ngff_cardem/include/board.h M firmware/libboard/ngff_cardem/source/board_ngff_cardem.c M firmware/libboard/ngff_cardem/source/card_pres.c M firmware/libboard/ngff_cardem/source/sim_switch.c M firmware/libcommon/source/mode_cardemu.c 6 files changed, 86 insertions(+), 41 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/82/25082/1 diff --git a/firmware/apps/cardem/main.c b/firmware/apps/cardem/main.c index a30a211..95967ba 100644 --- a/firmware/apps/cardem/main.c +++ b/firmware/apps/cardem/main.c @@ -71,8 +71,13 @@ .init = mode_cardemu_init, .exit = mode_cardemu_exit, .run = mode_cardemu_run, +#if defined (ngff_cardem) + .usart0_irq = mode_cardemu_usart1_irq, + .usart1_irq = mode_cardemu_usart0_irq, +#else .usart0_irq = mode_cardemu_usart0_irq, .usart1_irq = mode_cardemu_usart1_irq, +#endif }, #endif #ifdef HAVE_MITM diff --git a/firmware/libboard/ngff_cardem/include/board.h b/firmware/libboard/ngff_cardem/include/board.h index 8520d6b..bdedcf3 100644 --- a/firmware/libboard/ngff_cardem/include/board.h +++ b/firmware/libboard/ngff_cardem/include/board.h @@ -68,7 +68,7 @@ #define PINS_TC_USIM1 PIN_USIM1_IO_TC, PIN_USIM1_CLK_TC #define PIN_USIM1_nRST {PIO_PA24, PIOA, ID_PIOA, PIO_INPUT, PIO_DEFAULT} -#define PIN_USIM1_VCC {PIO_PB2, PIOB, ID_PIOB, PIO_INPUT, PIO_DEFAULT} +#define PIN_USIM1_VCC {PIO_PB3, PIOB, ID_PIOB, PIO_INPUT, PIO_DEFAULT} #define PIN_USIM2_nRST {PIO_PA7, PIOA, ID_PIOA, PIO_INPUT, PIO_DEFAULT} //#define PIN_USIM2_VCC {PIO_PB2, PIOB, ID_PIOB, PIO_INPUT, PIO_DEFAULT} @@ -77,14 +77,17 @@ #define PINS_USIM2 PINS_TC_USIM2, PINS_ISO7816_USIM2, PIN_USIM2_nRST /* from v3 and onwards only (!) */ -#define PIN_DET_USIM1_PRES {PIO_PA8, PIOA, ID_PIOA, PIO_INPUT, PIO_PULLUP | PIO_DEGLITCH | PIO_IT_EDGE} +#define PIN_DET_USIM1_PRES {PIO_PA8, PIOA, ID_PIOA, PIO_INPUT, PIO_DEGLITCH | PIO_IT_EDGE} /* inputs reading the WWAN LED level */ #define PIN_WWAN1 {PIO_PA15, PIOA, ID_PIOA, PIO_INPUT, PIO_PULLUP | PIO_DEGLITCH | PIO_IT_EDGE} #define PINS_WWAN_IN { PIN_WWAN1 } +#define PIN_MODEM_EN {PIO_PA11, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +#define PIN_N_MODEM_PWR_ON {PIO_PA26, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} + /* outputs controlling RESET input of modems */ -#define PIN_PERST1 {PIO_PA25, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_PULLUP} +#define PIN_PERST1 {PIO_PA25, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} #define PINS_PERST { PIN_PERST1 } #define PIN_VERSION_DET {PIO_PA19, PIOA, ID_PIOA, PIO_PERIPH_D, PIO_DEFAULT} @@ -102,6 +105,9 @@ #define DETECT_VCC_BY_ADC #define VCC_UV_THRESH_1V8 1500000 -#define VCC_UV_THRESH_3V 2500000 +#define VCC_UV_THRESH_3V VCC_UV_THRESH_1V8 #define HAVE_CARDEM +#define HAVE_BOARD_CARDINSERT +struct cardem_inst; +void board_set_card_insert(struct cardem_inst *ci, bool card_insert); \ No newline at end of file diff --git a/firmware/libboard/ngff_cardem/source/board_ngff_cardem.c b/firmware/libboard/ngff_cardem/source/board_ngff_cardem.c index 742ec55..6bfe997 100644 --- a/firmware/libboard/ngff_cardem/source/board_ngff_cardem.c +++ b/firmware/libboard/ngff_cardem/source/board_ngff_cardem.c @@ -101,6 +101,7 @@ /* Initialize checking for card insert/remove events */ card_present_init(); #endif + wwan_perst_set(0, 0); } static int uart_has_loopback_jumper(void) @@ -150,3 +151,11 @@ return 0; } + + static const Pin deton = {PIO_PA13, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT}; + static const Pin detoff = {PIO_PA13, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT}; + +void board_set_card_insert(struct cardem_inst *ci, bool card_insert) +{ + PIO_Configure(card_insert ? &deton : &detoff, 1); +} \ No newline at end of file diff --git a/firmware/libboard/ngff_cardem/source/card_pres.c b/firmware/libboard/ngff_cardem/source/card_pres.c index 198318f..7d6c483 100644 --- a/firmware/libboard/ngff_cardem/source/card_pres.c +++ b/firmware/libboard/ngff_cardem/source/card_pres.c @@ -39,9 +39,9 @@ return -1; pin = &pin_cardpres[port]; - /* Card present signals are low-active, as we have a switch - * against GND and an internal-pull-up in the SAM3 */ - present = PIO_Get(pin) ? 0 : 1; + + /* high active here */ + present = PIO_Get(pin); return present; } diff --git a/firmware/libboard/ngff_cardem/source/sim_switch.c b/firmware/libboard/ngff_cardem/source/sim_switch.c index 59513ad..3961747 100644 --- a/firmware/libboard/ngff_cardem/source/sim_switch.c +++ b/firmware/libboard/ngff_cardem/source/sim_switch.c @@ -21,18 +21,41 @@ #include "led.h" #include "sim_switch.h" -#ifdef PIN_SIM_SWITCH1 -static const Pin pin_conn_usim1 = {PIO_PA20, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT}; -#endif -#ifdef PIN_SIM_SWITCH2 -static const Pin pin_conn_usim2 = {PIO_PA28, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT}; -#endif +//uart12bus 2-20e pa20 +//uart22bus 1-20e pa28 +//usim2bus 1-10e pa0 pivot +//sim det 2-10e pa13 + + +//default state: NO uart connected, modem connected to physical sim, NO sim presence override, modem powers sim slot +#define pin_conn_usim1_default {PIO_PA20, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +#define pin_conn_usim2_default {PIO_PA28, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +#define pin_conn_mdm_sim_default {PIO_PA0, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} +#define pin_conn_set_sim_det_default {PIO_PA13, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +#define pin_en_st_sim_vdd_default {PIO_PB2, PIOB, ID_PIOB, PIO_OUTPUT_0, PIO_DEFAULT} +#define pin_en_mdm_sim_vdd_default {PIO_PA16, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} + +//default state: uart2 (!) connected, NO modem connected to physical sim, sim presence override, NOTHING powers sim slot +#define pin_conn_usim1_cem {PIO_PA20, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +#define pin_conn_usim2_cem {PIO_PA28, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} +#define pin_conn_mdm_sim_cem {PIO_PA0, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +#define pin_en_st_sim_vdd_cem {PIO_PB2, PIOB, ID_PIOB, PIO_OUTPUT_0, PIO_DEFAULT} +#define pin_en_mdm_sim_vdd_cem {PIO_PA16, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} + +//#define pin_conn_set_sim_det_cem {PIO_PA13, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} + + +#define INIT_SIM_DEFAULT pin_conn_usim1_default, pin_conn_usim2_default, pin_conn_mdm_sim_default, pin_conn_set_sim_det_default, PIN_N_MODEM_PWR_ON, PIN_MODEM_EN, pin_en_st_sim_vdd_default, pin_en_mdm_sim_vdd_default +#define INIT_SIM_CEM pin_conn_usim1_cem, pin_conn_usim2_cem, pin_conn_mdm_sim_cem, pin_en_mdm_sim_vdd_cem, pin_en_st_sim_vdd_cem// , pin_conn_set_sim_det_cem + +static const Pin pins_default[] = {INIT_SIM_DEFAULT}; +static const Pin pins_cem[] = {INIT_SIM_CEM}; static int initialized = 0; int sim_switch_use_physical(unsigned int nr, int physical) { - const Pin *pin; + const Pin pin = PIN_MODEM_EN;// PIN_N_MODEM_PWR_ON; enum led led; if (!initialized) { @@ -44,18 +67,10 @@ physical ? "physical" : "virtual"); switch (nr) { -#ifdef PIN_SIM_SWITCH1 case 0: - pin = &pin_conn_usim1; led = LED_USIM1; break; -#endif -#ifdef PIN_SIM_SWITCH2 - case 1: - pin = &pin_conn_usim2; - led = LED_USIM2; - break; -#endif + default: TRACE_ERROR("Invalid SIM%u\n\r", nr); return -1; @@ -63,28 +78,26 @@ if (physical) { TRACE_INFO("%u: Use local/physical SIM\r\n", nr); - PIO_Clear(pin); + PIO_Configure(pins_default, PIO_LISTSIZE(pins_default)); led_blink(led, BLINK_ALWAYS_ON); } else { TRACE_INFO("%u: Use remote/emulated SIM\r\n", nr); - PIO_Set(pin); + PIO_Configure(pins_cem, PIO_LISTSIZE(pins_cem)); led_blink(led, BLINK_ALWAYS_OFF); } + /* just power cycle the modem because this circumvents weird issues with unreliable signals */ + PIO_Clear(&pin); + mdelay(200); + PIO_Set(&pin); + + return 0; } int sim_switch_init(void) { - int num_switch = 0; -#ifdef PIN_SIM_SWITCH1 - PIO_Configure(&pin_conn_usim1, 1); - num_switch++; -#endif -#ifdef PIN_SIM_SWITCH2 - PIO_Configure(&pin_conn_usim2, 1); - num_switch++; -#endif + PIO_Configure(pins_default, PIO_LISTSIZE(pins_default)); initialized = 1; - return num_switch; + return 1; } diff --git a/firmware/libcommon/source/mode_cardemu.c b/firmware/libcommon/source/mode_cardemu.c index 2440ec5..4a0b862 100644 --- a/firmware/libcommon/source/mode_cardemu.c +++ b/firmware/libcommon/source/mode_cardemu.c @@ -39,9 +39,21 @@ #endif /* UART pins */ +#if defined(ngff_cardem) +static const Pin pins_usim1[] = {PINS_USIM2}; +static const Pin pin_usim1_rst = PIN_USIM2_nRST; +#define FIRST_USART_BASE USART0 +#define FIRST_USART_ID ID_USART0 +#define FIRST_USART_IRQ USART0_IRQn +#else static const Pin pins_usim1[] = {PINS_USIM1}; static const Pin pin_usim1_rst = PIN_USIM1_nRST; +#define FIRST_USART_BASE USART1 +#define FIRST_USART_ID ID_USART1 +#define FIRST_USART_IRQ USART1_IRQn +#endif static const Pin pin_usim1_vcc = PIN_USIM1_VCC; + #ifdef PIN_USIM1_IO_DIR static const Pin pin_io_dir = PIN_USIM1_IO_DIR; #endif @@ -85,8 +97,8 @@ { .num = 0, .usart_info = { - .base = USART1, - .id = ID_USART1, + .base = FIRST_USART_BASE, + .id = FIRST_USART_ID, .state = USART_RCV }, .ep_out = SIMTRACE_CARDEM_USB_EP_USIM1_DATAOUT, @@ -569,7 +581,7 @@ /* configure USART as ISO-7816 slave (e.g. card) */ ISO7816_Init(&cardem_inst[0].usart_info, CLK_SLAVE); - NVIC_EnableIRQ(USART1_IRQn); + NVIC_EnableIRQ(FIRST_USART_IRQ); PIO_ConfigureIt(&pin_usim1_rst, usim1_rst_irqhandler); PIO_EnableIt(&pin_usim1_rst); @@ -627,9 +639,9 @@ PIO_DisableIt(&pin_usim1_rst); PIO_DisableIt(&pin_usim1_vcc); - NVIC_DisableIRQ(USART1_IRQn); - USART_SetTransmitterEnabled(USART1, 0); - USART_SetReceiverEnabled(USART1, 0); + NVIC_DisableIRQ(FIRST_USART_IRQ); + USART_SetTransmitterEnabled(FIRST_USART_BASE, 0); + USART_SetReceiverEnabled(FIRST_USART_BASE, 0); #ifdef CARDEMU_SECOND_UART PIO_DisableIt(&pin_usim2_rst); -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25082 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ia96124fbe8a752c98e7fd4096d542a3b2b9bc255 Gerrit-Change-Number: 25082 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 28 13:46:49 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 28 Jul 2021 13:46:49 +0000 Subject: Change in simtrace2[master]: firmware: make the ngff beakout blink References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/25083 ) Change subject: firmware: make the ngff beakout blink ...................................................................... firmware: make the ngff beakout blink Change-Id: I65f1fbeb06690a143ef4c792728c9cb917a4ffde --- M firmware/libboard/common/include/led.h M firmware/libboard/common/source/led.c M firmware/libboard/ngff_cardem/source/sim_switch.c 3 files changed, 11 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/83/25083/1 diff --git a/firmware/libboard/common/include/led.h b/firmware/libboard/common/include/led.h index 339702d..9283989 100644 --- a/firmware/libboard/common/include/led.h +++ b/firmware/libboard/common/include/led.h @@ -31,7 +31,8 @@ BLINK_200O_F = 7, BLINK_600O_F = 8, BLINK_CUSTOM = 9, - BLINK_2F_O, + BLINK_2F_O = 10, + BLINK_5O_5F, _NUM_LED_BLINK }; diff --git a/firmware/libboard/common/source/led.c b/firmware/libboard/common/source/led.c index 6772007..4822a6d 100644 --- a/firmware/libboard/common/source/led.c +++ b/firmware/libboard/common/source/led.c @@ -58,6 +58,10 @@ { 0, 1 } }; +static const struct blink_state bs_5on_5off[] = { + { 500, 1 }, { 500, 0 } +}; + static const struct blink_state bs_3on_5off[] = { { 300, 1 }, { 500, 0 } }; @@ -107,6 +111,10 @@ .states = bs_on, .size = ARRAY_SIZE(bs_on), }, + [BLINK_5O_5F] = { + .states = bs_5on_5off, + .size = ARRAY_SIZE(bs_5on_5off), + }, [BLINK_3O_5F] = { .states = bs_3on_5off, .size = ARRAY_SIZE(bs_3on_5off), diff --git a/firmware/libboard/ngff_cardem/source/sim_switch.c b/firmware/libboard/ngff_cardem/source/sim_switch.c index 3961747..b841e25 100644 --- a/firmware/libboard/ngff_cardem/source/sim_switch.c +++ b/firmware/libboard/ngff_cardem/source/sim_switch.c @@ -83,7 +83,7 @@ } else { TRACE_INFO("%u: Use remote/emulated SIM\r\n", nr); PIO_Configure(pins_cem, PIO_LISTSIZE(pins_cem)); - led_blink(led, BLINK_ALWAYS_OFF); + led_blink(led, BLINK_5O_5F); } /* just power cycle the modem because this circumvents weird issues with unreliable signals */ -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25083 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I65f1fbeb06690a143ef4c792728c9cb917a4ffde Gerrit-Change-Number: 25083 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 28 13:46:49 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 28 Jul 2021 13:46:49 +0000 Subject: Change in simtrace2[master]: simtrace2-cardem: use local sim on exit References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/25084 ) Change subject: simtrace2-cardem: use local sim on exit ...................................................................... simtrace2-cardem: use local sim on exit There is no obvious reason why the st should be stuck in cardem mode without a working running util on the host side since there is no state that is being kept, so switch back to using the local sim upon reset. Change-Id: Ib622af0027d40b4e8afbb0fa0d3689f0dbfcac92 --- M host/src/simtrace2-cardem-pcsc.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/84/25084/1 diff --git a/host/src/simtrace2-cardem-pcsc.c b/host/src/simtrace2-cardem-pcsc.c index d43e7f2..8e143ba 100644 --- a/host/src/simtrace2-cardem-pcsc.c +++ b/host/src/simtrace2-cardem-pcsc.c @@ -420,6 +420,7 @@ switch (signal) { case SIGINT: osmo_st2_cardem_request_card_insert(ci, false); + osmo_st2_modem_sim_select_local(ci->slot); exit(0); break; default: -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25084 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ib622af0027d40b4e8afbb0fa0d3689f0dbfcac92 Gerrit-Change-Number: 25084 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 28 13:46:50 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 28 Jul 2021 13:46:50 +0000 Subject: Change in simtrace2[master]: firmware: trace for ngff References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/25085 ) Change subject: firmware: trace for ngff ...................................................................... firmware: trace for ngff Change-Id: Iee1eedd93d72c02880fd59fb8588abe14d05e77b --- M firmware/libboard/ngff_cardem/include/board.h M firmware/libboard/ngff_cardem/source/sim_switch.c M host/src/simtrace2-sniff.c 3 files changed, 57 insertions(+), 25 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/85/25085/1 diff --git a/firmware/libboard/ngff_cardem/include/board.h b/firmware/libboard/ngff_cardem/include/board.h index bdedcf3..d201814 100644 --- a/firmware/libboard/ngff_cardem/include/board.h +++ b/firmware/libboard/ngff_cardem/include/board.h @@ -107,7 +107,60 @@ #define VCC_UV_THRESH_1V8 1500000 #define VCC_UV_THRESH_3V VCC_UV_THRESH_1V8 +#ifdef APPLICATION_cardem #define HAVE_CARDEM #define HAVE_BOARD_CARDINSERT struct cardem_inst; -void board_set_card_insert(struct cardem_inst *ci, bool card_insert); \ No newline at end of file +void board_set_card_insert(struct cardem_inst *ci, bool card_insert); +#endif + +#ifdef APPLICATION_trace +#define HAVE_SNIFFER +#endif + +/* Card I/O data signal input/output (I/O_SIM in schematic) */ +#define PIN_SIM_IO {PIO_PA6A_TXD0, PIOA, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT} +/* Card CLK clock input (CLK_SIM in schematic) */ +#define PIN_SIM_CLK {PIO_PA2B_SCK0, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT} +/* Card RST reset signal input (use as input since the phone will drive it) */ +#define PIN_SIM_RST_SNIFF {PIO_PA7, PIOA, ID_PIOA, PIO_INPUT, PIO_DEGLITCH | PIO_IT_EDGE} +/* Pins used to sniff phone-card communication */ +#define PINS_SIM_SNIFF PIN_SIM_IO, PIN_SIM_CLK, PIN_SIM_RST_SNIFF + +/* Pin to measure card I/O timing (to start measuring the ETU on I/O activity; connected I/O_SIM in schematic) */ +#define PIN_SIM_IO_INPUT {PIO_PA1B_TIOB0, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT} +/* Pin used as clock input (to measure the ETU duration; connected to CLK_SIM in schematic) */ +#define PIN_SIM_CLK_INPUT {PIO_PA4B_TCLK0, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT} +/* Pins used to measure ETU timing (using timer counter) */ +#define PINS_TC PIN_SIM_IO_INPUT, PIN_SIM_CLK_INPUT + +//default state: NO uart connected, modem connected to physical sim, NO sim presence override, modem powers sim slot +#define pin_conn_usim1_default {PIO_PA20, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +#define pin_conn_usim2_default {PIO_PA28, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +#define pin_conn_mdm_sim_default {PIO_PA0, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} +#define pin_conn_set_sim_det_default {PIO_PA13, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +#define pin_en_st_sim_vdd_default {PIO_PB2, PIOB, ID_PIOB, PIO_OUTPUT_0, PIO_DEFAULT} +#define pin_en_mdm_sim_vdd_default {PIO_PA16, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} + +//default state: uart2 (!) connected, NO modem connected to physical sim, sim presence override, NOTHING powers sim slot +#define pin_conn_usim1_cem {PIO_PA20, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +#define pin_conn_usim2_cem {PIO_PA28, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} +#define pin_conn_mdm_sim_cem {PIO_PA0, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +#define pin_en_st_sim_vdd_cem {PIO_PB2, PIOB, ID_PIOB, PIO_OUTPUT_0, PIO_DEFAULT} +#define pin_en_mdm_sim_vdd_cem {PIO_PA16, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} + +//trace state: uart2 (!) connected, modem connected to physical sim, st powers sim slot +#define pin_conn_usim1_trace {PIO_PA20, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +#define pin_conn_usim2_trace {PIO_PA28, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} +#define pin_conn_mdm_sim_trace {PIO_PA0, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} +#define pin_conn_set_sim_det_trace {PIO_PA13, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +#define pin_en_st_sim_vdd_trace {PIO_PB2, PIOB, ID_PIOB, PIO_OUTPUT_1, PIO_DEFAULT} +#define pin_en_mdm_sim_vdd_trace {PIO_PA16, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} + +#define PIN_MODEM_EN_off {PIO_PA11, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} + +#define PINS_SIM_DEFAULT pin_conn_usim1_default, pin_conn_usim2_default, pin_conn_mdm_sim_default, pin_conn_set_sim_det_default, PIN_N_MODEM_PWR_ON, PIN_MODEM_EN, pin_en_st_sim_vdd_default, pin_en_mdm_sim_vdd_default +#define PINS_SIM_CARDEM pin_conn_usim1_cem, pin_conn_usim2_cem, pin_conn_mdm_sim_cem, pin_en_mdm_sim_vdd_cem, pin_en_st_sim_vdd_cem// , pin_conn_set_sim_det_cem + +#define PINS_BUS_SNIFF pin_conn_usim1_trace, pin_conn_usim2_trace, pin_conn_mdm_sim_trace, pin_conn_set_sim_det_trace,PIN_MODEM_EN_off +#define PINS_PWR_SNIFF PIN_N_MODEM_PWR_ON, PIN_MODEM_EN, pin_en_st_sim_vdd_trace, pin_en_mdm_sim_vdd_trace diff --git a/firmware/libboard/ngff_cardem/source/sim_switch.c b/firmware/libboard/ngff_cardem/source/sim_switch.c index b841e25..cc4860a 100644 --- a/firmware/libboard/ngff_cardem/source/sim_switch.c +++ b/firmware/libboard/ngff_cardem/source/sim_switch.c @@ -26,30 +26,8 @@ //usim2bus 1-10e pa0 pivot //sim det 2-10e pa13 - -//default state: NO uart connected, modem connected to physical sim, NO sim presence override, modem powers sim slot -#define pin_conn_usim1_default {PIO_PA20, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} -#define pin_conn_usim2_default {PIO_PA28, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} -#define pin_conn_mdm_sim_default {PIO_PA0, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} -#define pin_conn_set_sim_det_default {PIO_PA13, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} -#define pin_en_st_sim_vdd_default {PIO_PB2, PIOB, ID_PIOB, PIO_OUTPUT_0, PIO_DEFAULT} -#define pin_en_mdm_sim_vdd_default {PIO_PA16, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} - -//default state: uart2 (!) connected, NO modem connected to physical sim, sim presence override, NOTHING powers sim slot -#define pin_conn_usim1_cem {PIO_PA20, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} -#define pin_conn_usim2_cem {PIO_PA28, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} -#define pin_conn_mdm_sim_cem {PIO_PA0, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} -#define pin_en_st_sim_vdd_cem {PIO_PB2, PIOB, ID_PIOB, PIO_OUTPUT_0, PIO_DEFAULT} -#define pin_en_mdm_sim_vdd_cem {PIO_PA16, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} - -//#define pin_conn_set_sim_det_cem {PIO_PA13, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} - - -#define INIT_SIM_DEFAULT pin_conn_usim1_default, pin_conn_usim2_default, pin_conn_mdm_sim_default, pin_conn_set_sim_det_default, PIN_N_MODEM_PWR_ON, PIN_MODEM_EN, pin_en_st_sim_vdd_default, pin_en_mdm_sim_vdd_default -#define INIT_SIM_CEM pin_conn_usim1_cem, pin_conn_usim2_cem, pin_conn_mdm_sim_cem, pin_en_mdm_sim_vdd_cem, pin_en_st_sim_vdd_cem// , pin_conn_set_sim_det_cem - -static const Pin pins_default[] = {INIT_SIM_DEFAULT}; -static const Pin pins_cem[] = {INIT_SIM_CEM}; +static const Pin pins_default[] = {PINS_SIM_DEFAULT}; +static const Pin pins_cem[] = {PINS_SIM_CARDEM}; static int initialized = 0; diff --git a/host/src/simtrace2-sniff.c b/host/src/simtrace2-sniff.c index 47d9e77..c44029a 100644 --- a/host/src/simtrace2-sniff.c +++ b/host/src/simtrace2-sniff.c @@ -315,6 +315,7 @@ /* Known USB device with SIMtrace firmware supporting sniffer */ static const struct dev_id compatible_dev_ids[] = { { USB_VENDOR_OPENMOKO, USB_PRODUCT_SIMTRACE2 }, + { USB_VENDOR_OPENMOKO, USB_PRODUCT_NGFF_CARDEM }, { 0, 0 } }; -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25085 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Iee1eedd93d72c02880fd59fb8588abe14d05e77b Gerrit-Change-Number: 25085 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 28 13:46:50 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 28 Jul 2021 13:46:50 +0000 Subject: Change in simtrace2[master]: contrib: more cardem dissection References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/25086 ) Change subject: contrib: more cardem dissection ...................................................................... contrib: more cardem dissection Change-Id: Ia74d3674f854b390c9745a1cb8d5756bd5d39540 --- M contrib/simtrace.lua 1 file changed, 27 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/86/25086/1 diff --git a/contrib/simtrace.lua b/contrib/simtrace.lua index 8298265..c21870e 100644 --- a/contrib/simtrace.lua +++ b/contrib/simtrace.lua @@ -36,9 +36,29 @@ local payloadlen = ProtoField.uint16("usb_simtrace.length", "length", base.HEX_DEC) local payload = ProtoField.bytes("usb_simtrace.payload", "Data") +local pb_and_rx = ProtoField.uint32("usb_simtrace.pb_and_rx", "pb_and_rx", base.HEX_DEC, NULL, 0x8) +local pb_and_tx = ProtoField.uint32("usb_simtrace.pb_and_tx", "pb_and_tx", base.HEX_DEC, NULL, 04) +local final = ProtoField.uint32("usb_simtrace.final", "final", base.HEX_DEC, NULL, 0x2) +local tpdu_hdr = ProtoField.uint32("usb_simtrace.tpdu_hdr", "tpdu_hdr", base.HEX_DEC, NULL, 0x1) +local rxtxdatalen = ProtoField.uint16("usb_simtrace.rxtxdatalen", "rx/tx data length", base.HEX_DEC) +local rxtxdata = ProtoField.bytes("usb_simtrace.rxtxdata", "rx/tx Data") usb_simtrace_protocol.fields = { - msgtype, seqnr, slotnr, reserved, payloadlen, payload + msgtype, seqnr, slotnr, reserved, payloadlen, payload, pb_and_rx, pb_and_tx, final, tpdu_hdr, rxtxdatalen, rxtxdata } +function dissect_rxtx(payload_data,pinfo,tree) + + local headerSubtree = tree:add(usb_simtrace_protocol, payload_data, "rx/tx data") + local len = payload_data(8+4,2):le_uint(); + local cmd32 = payload_data(8+0,4):le_uint(); + + headerSubtree:add(pb_and_rx, cmd32) + headerSubtree:add(pb_and_tx, cmd32) + headerSubtree:add(final, cmd32) + headerSubtree:add(tpdu_hdr, cmd32) + + headerSubtree:add(rxtxdatalen, len) + headerSubtree:add_le(rxtxdata, payload_data(8+6,len)) +end function usb_simtrace_protocol.dissector(buffer, pinfo, tree) length = buffer:len() @@ -54,7 +74,12 @@ subtree:add(slotnr, buffer(3,1)) subtree:add_le(payloadlen, buffer(6,2)) pinfo.cols.info = string.format("Cmd 0x%04X : %s", command, control_commands[command]) - subtree:add(payload, buffer(8,length-8)) + local payload_data = buffer(8,length-8) + if(command == 0x0101 or command == 0x0106) then + return dissect_rxtx(buffer(),pinfo,subtree) + else + subtree:add(payload, payload_data) + end end -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25086 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ia74d3674f854b390c9745a1cb8d5756bd5d39540 Gerrit-Change-Number: 25086 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 28 14:09:37 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 28 Jul 2021 14:09:37 +0000 Subject: Change in osmo-bsc[master]: doc: Improve ACC ramp documentation References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25087 ) Change subject: doc: Improve ACC ramp documentation ...................................................................... doc: Improve ACC ramp documentation Commit below added support for ACC ramping based on channel load, but documentation was not updated with it. Fixes: 1e5e7004dc7987b23f5791366efdf374675e346b Change-Id: I8701386b35ccdebfc843fd00535091648e52f739 --- M doc/manuals/chapters/bts.adoc 1 file changed, 24 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/87/25087/1 diff --git a/doc/manuals/chapters/bts.adoc b/doc/manuals/chapters/bts.adoc index 1a693f9..ab4e493 100644 --- a/doc/manuals/chapters/bts.adoc +++ b/doc/manuals/chapters/bts.adoc @@ -470,23 +470,35 @@ <2> Rotate the generated permanent list subsets every 20 seconds in a fair fashion Furthermore, cells with large number of subscribers and limited overlapping -coverage may become overwhelmed with traffic after the cell starts brodacasting. +coverage may become overwhelmed with traffic after the cell starts broadcasting. This is especially true in areas with little to no reception from other networks. To manage the load, OsmoBSC has an option to further restrict the rotating ACC subset during startup and slowly increment it over time and taking -current load into account. +current channel load into account. +The channel load will actually be checked always, even after start up procedure, +at an interval specified by `access-control-class-ramping-step-interval` VTY +command, and will either keep, increase or decrease the size of the current +rotating ACC subset based on certain thresholds configured by +`access-control-class-ramping-chan-load` VTY command. +As a result, if ACC ramping is enabled (`access-control-class-ramping`), the +number of concurrent allowed ACCs will start with *1* and will fluctuate over +time based on channel load in the interval *[1, `access-control-rotate`]*. This +means at any time there will be at least *1* allowed ACC which, together with +ACC rotation, will prevent from subscriber being unable to use the network. .Example: Ramp up access to the BTS after startup ---- network bts 0 access-control-class-ramping <1> - access-control-class-ramping-step-interval 30 <2> - access-control-class-ramping-step-size 1 <3> + access-control-class-ramping-step-size 1 <2> + access-control-class-ramping-step-interval 30 <3> + access-control-class-ramping-chan-load 71 89 <7> ---- <1> Turn on access-control-class ramping -<2> Enable more ACCs every 30 seconds -<3> At each step enable one more ACC +<2> At each step enable one more ACC +<3> Check whether to allow more/less ACCs every 30 seconds +<4> The rotate subset size is increased if channel load is < 71%, and decreased if channel load is > 89%. Here a full example of all the mechanisms combined can be found: @@ -503,14 +515,16 @@ access-control-class-rotate-quantum 20 <3> access-control-class-ramping <4> access-control-class-ramping-step-size 1 <5> - access-control-class-ramping-step-interval dynamic <6> + access-control-class-ramping-step-interval 30 <6> + access-control-class-ramping-chan-load 71 89 <7> ---- <1> ACCs 5-9 are administratively barred, ie they will never be used until somebody manually enables them in VTY config <2> Allow access through temporary subsets of len=3 from ACC set 0-4: (0,1,2) -> (1,2,3) -> (2,3,4) -> (3,4,0), etc. <3> Each subset iteration will happen every 20 seconds -<4> During startup since ramping is enabled, it will further restrict the rotate subset size parameter (len=3) -<5> The rotate subset size parameter will be increased one ACC slot at a time: len=0 -> len=1 -> len=2 -> len=3 -<6> The time until the subset size is further increased will be calculated based on current channel load +<4> Ramping is enabled: during startup it will further restrict the rotate subset size parameter (start at len=1, end at len=3) +<5> The rotate subset size parameter will be increased or decreased one ACC slot at a time: len=1 -> len=2 -> len=3 +<6> The time until the subset size is further increased or decreased based on current channel load check (in seconds) +<7> The rotate subset size is increased if channel load is < 71%, and decreased if channel load is > 89%. === Configuring FACCH/SACCH repetition -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25087 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8701386b35ccdebfc843fd00535091648e52f739 Gerrit-Change-Number: 25087 Gerrit-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 Jul 28 15:34:18 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 28 Jul 2021 15:34:18 +0000 Subject: Change in osmo-bsc[master]: doc: Improve ACC ramp documentation 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/+/25087 to look at the new patch set (#2). Change subject: doc: Improve ACC ramp documentation ...................................................................... doc: Improve ACC ramp documentation Commit below added support for ACC ramping based on channel load, but documentation was not updated with it. Fixes: 1e5e7004dc7987b23f5791366efdf374675e346b Change-Id: I8701386b35ccdebfc843fd00535091648e52f739 --- M doc/manuals/chapters/bts.adoc 1 file changed, 24 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/87/25087/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25087 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8701386b35ccdebfc843fd00535091648e52f739 Gerrit-Change-Number: 25087 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 Jul 28 16:22:38 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 28 Jul 2021 16:22:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: fix conn id in 'MGCP OK' msg (as_mgcp_ack_all_mdcx) In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25064 to look at the new patch set (#3). Change subject: msc: fix conn id in 'MGCP OK' msg (as_mgcp_ack_all_mdcx) ...................................................................... msc: fix conn id in 'MGCP OK' msg (as_mgcp_ack_all_mdcx) The MDCX OK message should contain the same connection identifier as the MDCX contained. So far we were always sending the second conn id, regardless of which conn id was sent in the MDCX message. Related: SYS#5130 Change-Id: If6f7f135d95c04ee0240f3fa9ba0b18ffc6fa24a --- M msc/MSC_Tests.ttcn 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/64/25064/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25064 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If6f7f135d95c04ee0240f3fa9ba0b18ffc6fa24a Gerrit-Change-Number: 25064 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 Wed Jul 28 16:22:38 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 28 Jul 2021 16:22:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Emulation: allow moving ep handling to another test component 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/+/25066 to look at the new patch set (#3). Change subject: MGCP_Emulation: allow moving ep handling to another test component ...................................................................... MGCP_Emulation: allow moving ep handling to another test component Will be used by MSC_Tests.TC_call_re_establishment in Ifdff5573eeb3b3d41e8599b9b0228411d2576864, where a call from one vc_conn gets re-established in another vc_conn. Related: SYS#5130 Change-Id: Id46035e53c2870e1fdef1335dce42b2020f7cd54 --- M library/MGCP_Emulation.ttcn 1 file changed, 26 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/66/25066/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25066 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id46035e53c2870e1fdef1335dce42b2020f7cd54 Gerrit-Change-Number: 25066 Gerrit-PatchSet: 3 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 Wed Jul 28 16:22:38 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 28 Jul 2021 16:22:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MNCC_Emulation: allow moving call handling to another test component In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25067 to look at the new patch set (#3). Change subject: MNCC_Emulation: allow moving call handling to another test component ...................................................................... MNCC_Emulation: allow moving call handling to another test component Will be used by MSC_Tests.TC_call_re_establishment in Ifdff5573eeb3b3d41e8599b9b0228411d2576864 where a call from one vc_conn gets re-established in another vc_conn. Related: SYS#5130 Change-Id: If7e952e54ebd1bb88cce11ec5f0ff4826e02cb63 --- M library/MNCC_Emulation.ttcn 1 file changed, 15 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/67/25067/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25067 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If7e952e54ebd1bb88cce11ec5f0ff4826e02cb63 Gerrit-Change-Number: 25067 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 Wed Jul 28 16:22:38 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 28 Jul 2021 16:22:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: GSUP_Emulation: allow moving HLR handling to another test component In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25071 to look at the new patch set (#2). Change subject: GSUP_Emulation: allow moving HLR handling to another test component ...................................................................... GSUP_Emulation: allow moving HLR handling to another test component Will be used by MSC_Tests.TC_call_re_establishment_auth in I8110a6b432de734d53b111c7b69aabca12129691 where a call from one vc_conn gets re-established in another vc_conn. Related: SYS#5130 Change-Id: I235492185cda68f9f8e845085e3f6efe76a13501 --- M library/GSUP_Emulation.ttcn 1 file changed, 14 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/71/25071/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25071 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I235492185cda68f9f8e845085e3f6efe76a13501 Gerrit-Change-Number: 25071 Gerrit-PatchSet: 2 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 Wed Jul 28 16:22:38 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 28 Jul 2021 16:22:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add MSC_Tests.TC_call_re_establishment In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25070 to look at the new patch set (#3). Change subject: msc: add MSC_Tests.TC_call_re_establishment ...................................................................... msc: add MSC_Tests.TC_call_re_establishment The osmo-msc patch that makes this test pass is I6fa37d6ca9fcb1637742b40e37b68d67664c9b60 Related: SYS#5130 Change-Id: Ifdff5573eeb3b3d41e8599b9b0228411d2576864 --- M msc/MSC_Tests.ttcn 1 file changed, 115 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/70/25070/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25070 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifdff5573eeb3b3d41e8599b9b0228411d2576864 Gerrit-Change-Number: 25070 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 Wed Jul 28 16:22:38 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 28 Jul 2021 16:22:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add MSC_Tests.TC_call_re_establishment_auth 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/+/25073 to look at the new patch set (#2). Change subject: msc: add MSC_Tests.TC_call_re_establishment_auth ...................................................................... msc: add MSC_Tests.TC_call_re_establishment_auth Invoke TC_call_re_establishment with authentication required. Related: SYS#5130 Change-Id: I8110a6b432de734d53b111c7b69aabca12129691 --- M msc/MSC_Tests.ttcn 1 file changed, 21 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/73/25073/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25073 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8110a6b432de734d53b111c7b69aabca12129691 Gerrit-Change-Number: 25073 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 Wed Jul 28 16:22:40 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 28 Jul 2021 16:22:40 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: eliminate bssap_idx References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25088 ) Change subject: msc: eliminate bssap_idx ...................................................................... msc: eliminate bssap_idx There is a pars.ran_idx, no need for an explicit bssap_idx argument. There is only one occurence passing a nonzero bssap_idx, use pars.ran_idx instead. Preparation for patch "msc: split f_start_handler_with_pars()" Ic7e9dbb8c9db5948fe35fc3051bb988d65622782 Related: SYS#5130 Change-Id: Ib5c5585f098ff269920cf9d5781c4366234854c5 --- M msc/MSC_Tests.ttcn 1 file changed, 11 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/88/25088/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 0e0d6b6..740d396 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -412,14 +412,15 @@ return pars; } -function f_start_handler_with_pars(void_fn fn, BSC_ConnHdlrPars pars, integer bssap_idx := 0) runs on MTC_CT return BSC_ConnHdlr { +function f_start_handler_with_pars(void_fn fn, BSC_ConnHdlrPars pars) runs on MTC_CT return BSC_ConnHdlr { var BSC_ConnHdlr vc_conn; - var charstring id := testcasename() & int2str(bssap_idx); + var charstring id := testcasename() & int2str(pars.ran_idx); vc_conn := BSC_ConnHdlr.create(id); + /* BSSMAP part / A interface */ - connect(vc_conn:BSSAP, g_bssap[pars.ran_idx + bssap_idx].vc_RAN:CLIENT); - connect(vc_conn:BSSAP_PROC, g_bssap[pars.ran_idx + bssap_idx].vc_RAN:PROC); + connect(vc_conn:BSSAP, g_bssap[pars.ran_idx].vc_RAN:CLIENT); + connect(vc_conn:BSSAP_PROC, g_bssap[pars.ran_idx].vc_RAN:PROC); /* MNCC part */ connect(vc_conn:MNCC, vc_MNCC:MNCC_CLIENT); connect(vc_conn:MNCC_PROC, vc_MNCC:MNCC_PROC); @@ -5912,6 +5913,7 @@ pars0.use_umts_aka := true; pars0.vec := f_gen_auth_vec_3g(); pars0.vec_keep := true; + pars0.ran_idx := 0; var BSC_ConnHdlrPars pars1 := f_init_pars(53); pars1.use_ipv6 := use_ipv6; @@ -5926,14 +5928,15 @@ * components and then not overwriting it in BSC_ConnectionHandler. */ pars1.vec := pars0.vec; pars1.vec_keep := true; + pars1.ran_idx := 1; if (a5_n > 0) { f_vty_config(MSCVTY, "network", "authentication required"); } f_vty_config(MSCVTY, "network", "encryption a5 " & int2str(a5_n)); - vc_conn0 := f_start_handler_with_pars(refers(f_tc_ho_inter_bsc0), pars0, 0); - vc_conn1 := f_start_handler_with_pars(refers(f_tc_ho_inter_bsc1), pars1, 1); + vc_conn0 := f_start_handler_with_pars(refers(f_tc_ho_inter_bsc0), pars0); + vc_conn1 := f_start_handler_with_pars(refers(f_tc_ho_inter_bsc1), pars1); vc_conn0.done; vc_conn1.done; } @@ -6252,7 +6255,7 @@ } f_vty_config(MSCVTY, "network", "encryption a5 " & int2str(a5_n)); - vc_conn := f_start_handler_with_pars(refers(f_tc_ho_inter_msc_out), pars, 0); + vc_conn := f_start_handler_with_pars(refers(f_tc_ho_inter_msc_out), pars); vc_conn.done; } testcase TC_ho_inter_msc_out() runs on MTC_CT { @@ -6274,7 +6277,7 @@ var BSC_ConnHdlrPars pars := f_init_pars(54); pars.use_ipv6 := true; - vc_conn := f_start_handler_with_pars(refers(f_tc_ho_inter_msc_out), pars, 0); + vc_conn := f_start_handler_with_pars(refers(f_tc_ho_inter_msc_out), pars); vc_conn.done; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25088 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib5c5585f098ff269920cf9d5781c4366234854c5 Gerrit-Change-Number: 25088 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 Jul 28 16:22:40 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 28 Jul 2021 16:22:40 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: split f_start_handler_with_pars() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25089 ) Change subject: msc: split f_start_handler_with_pars() ...................................................................... msc: split f_start_handler_with_pars() To allow running connect() on the COORD ports of test components before starting the test component but after creating it, split f_start_handler_with_pars() into f_start_handler_create() and _run(). Will be used by MSC_Tests.TC_call_re_establishment in Ifdff5573eeb3b3d41e8599b9b0228411d2576864 Related: SYS#5130 Change-Id: Ic7e9dbb8c9db5948fe35fc3051bb988d65622782 --- M msc/MSC_Tests.ttcn 1 file changed, 11 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/89/25089/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 84ba6dd..3b3336b 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -412,7 +412,7 @@ return pars; } -function f_start_handler_with_pars(void_fn fn, BSC_ConnHdlrPars pars) runs on MTC_CT return BSC_ConnHdlr { +function f_start_handler_create(BSC_ConnHdlrPars pars) runs on MTC_CT return BSC_ConnHdlr { var BSC_ConnHdlr vc_conn; var charstring id := testcasename() & int2str(pars.ran_idx); @@ -440,10 +440,20 @@ connect(vc_conn:SGsAP, vc_SGsAP:SGsAP_CLIENT); connect(vc_conn:SGsAP_PROC, vc_SGsAP:SGsAP_PROC); } + return vc_conn; +} +function f_start_handler_run(BSC_ConnHdlr vc_conn, void_fn fn, BSC_ConnHdlrPars pars) runs on MTC_CT { + var charstring id := testcasename() & int2str(pars.ran_idx); /* We cannot use vc_conn.start(f_init_handler(fn, id, pars)); as we cannot have * a stand-alone 'derefers()' call, see https://www.eclipse.org/forums/index.php/t/1091364/ */ vc_conn.start(derefers(fn)(id, pars)); +} + +function f_start_handler_with_pars(void_fn fn, BSC_ConnHdlrPars pars) runs on MTC_CT return BSC_ConnHdlr { + var BSC_ConnHdlr vc_conn; + vc_conn := f_start_handler_create(pars); + f_start_handler_run(vc_conn, fn, pars); return vc_conn; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25089 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic7e9dbb8c9db5948fe35fc3051bb988d65622782 Gerrit-Change-Number: 25089 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 Jul 28 16:23:04 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 28 Jul 2021 16:23:04 +0000 Subject: Change in osmo-pcu[master]: tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_UL_DATA References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25090 ) Change subject: tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_UL_DATA ...................................................................... tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_UL_DATA Same information is available under ul_tbf->m_rx_counter. Change-Id: I1d993117c7daa2609b132c2d0fd748e0338ef559 --- M src/tbf.cpp M src/tbf.h M src/tbf_ul.cpp 3 files changed, 15 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/90/25090/1 diff --git a/src/tbf.cpp b/src/tbf.cpp index 0154bab..2407fc2 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -997,14 +997,18 @@ OSMO_STRBUF_PRINTF(sb, "Assignment was on CCCH|"); if (tbf->state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_PACCH)) OSMO_STRBUF_PRINTF(sb, "Assignment was on PACCH|"); - if (tbf->state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_UL_DATA)) - OSMO_STRBUF_PRINTF(sb, "Uplink data was received|"); - else if (tbf->direction == GPRS_RLCMAC_UL_TBF) - OSMO_STRBUF_PRINTF(sb, "No uplink data received yet|"); - if (tbf->state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_DL_ACK)) - OSMO_STRBUF_PRINTF(sb, "Downlink ACK was received|"); - else if (tbf->direction == GPRS_RLCMAC_DL_TBF) - OSMO_STRBUF_PRINTF(sb, "No downlink ACK received yet|"); + if (tbf->direction == GPRS_RLCMAC_UL_TBF) { + const struct gprs_rlcmac_ul_tbf *ul_tbf = static_cast(tbf); + if (ul_tbf->m_rx_counter) + OSMO_STRBUF_PRINTF(sb, "No uplink data received yet|"); + else + OSMO_STRBUF_PRINTF(sb, "No uplink data received yet|"); + } else { + if (tbf->state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_DL_ACK)) + OSMO_STRBUF_PRINTF(sb, "Downlink ACK was received|"); + else + OSMO_STRBUF_PRINTF(sb, "No downlink ACK received yet|"); + } return buf; } diff --git a/src/tbf.h b/src/tbf.h index b8f1e18..96a5788 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -127,10 +127,9 @@ #define GPRS_RLCMAC_FLAG_CCCH 0 /* assignment on CCCH */ #define GPRS_RLCMAC_FLAG_PACCH 1 /* assignment on PACCH */ -#define GPRS_RLCMAC_FLAG_UL_DATA 2 /* uplink data received */ -#define GPRS_RLCMAC_FLAG_DL_ACK 3 /* downlink acknowledge received */ -#define GPRS_RLCMAC_FLAG_TO_UL_ACK 4 -#define GPRS_RLCMAC_FLAG_TO_DL_ACK 5 +#define GPRS_RLCMAC_FLAG_DL_ACK 2 /* downlink acknowledge received */ +#define GPRS_RLCMAC_FLAG_TO_UL_ACK 3 +#define GPRS_RLCMAC_FLAG_TO_DL_ACK 4 #define GPRS_RLCMAC_FLAG_TO_MASK 0xf0 /* timeout bits */ #define T_START(tbf, t, T, r, f) tbf->t_start(t, T, r, f, __FILE__, __LINE__) diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 01a9620..dc7d33d 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -403,8 +403,6 @@ const uint16_t ws = m_window.ws(); - this->state_fsm.state_flags |= (1 << GPRS_RLCMAC_FLAG_UL_DATA); - LOGPTBFUL(this, LOGL_DEBUG, "UL DATA TFI=%d received (V(Q)=%d .. " "V(R)=%d)\n", rlc->tfi, this->m_window.v_q(), this->m_window.v_r()); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25090 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1d993117c7daa2609b132c2d0fd748e0338ef559 Gerrit-Change-Number: 25090 Gerrit-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 Jul 28 16:23:53 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 28 Jul 2021 16:23:53 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Emulation: allow moving ep handling to another test component In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25066 ) Change subject: MGCP_Emulation: allow moving ep handling to another test component ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25066 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id46035e53c2870e1fdef1335dce42b2020f7cd54 Gerrit-Change-Number: 25066 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 28 Jul 2021 16: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 Wed Jul 28 16:24:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 28 Jul 2021 16:24:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MNCC_Emulation: allow moving call handling to another test component In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25067 ) Change subject: MNCC_Emulation: allow moving call handling to another test component ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25067 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If7e952e54ebd1bb88cce11ec5f0ff4826e02cb63 Gerrit-Change-Number: 25067 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 28 Jul 2021 16:24: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 Jul 28 16:25:03 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 28 Jul 2021 16:25:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add MSC_Tests.TC_call_re_establishment In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25070 ) Change subject: msc: add MSC_Tests.TC_call_re_establishment ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25070 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifdff5573eeb3b3d41e8599b9b0228411d2576864 Gerrit-Change-Number: 25070 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 28 Jul 2021 16:25:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 28 16:25:21 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 28 Jul 2021 16:25:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add MSC_Tests.TC_call_re_establishment_auth In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25073 ) Change subject: msc: add MSC_Tests.TC_call_re_establishment_auth ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25073 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8110a6b432de734d53b111c7b69aabca12129691 Gerrit-Change-Number: 25073 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 28 Jul 2021 16:25: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 Jul 28 16:25:36 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 28 Jul 2021 16:25:36 +0000 Subject: Change in osmo-ttcn3-hacks[master]: GSUP_Emulation: allow moving HLR handling to another test component In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25071 ) Change subject: GSUP_Emulation: allow moving HLR handling to another test component ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25071 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I235492185cda68f9f8e845085e3f6efe76a13501 Gerrit-Change-Number: 25071 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 28 Jul 2021 16:25: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 Jul 28 16:26:01 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 28 Jul 2021 16:26:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: eliminate bssap_idx In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25088 ) Change subject: msc: eliminate bssap_idx ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25088 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib5c5585f098ff269920cf9d5781c4366234854c5 Gerrit-Change-Number: 25088 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 28 Jul 2021 16: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 Wed Jul 28 16:26:45 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 28 Jul 2021 16:26:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: split f_start_handler_with_pars() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25089 ) Change subject: msc: split f_start_handler_with_pars() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25089 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic7e9dbb8c9db5948fe35fc3051bb988d65622782 Gerrit-Change-Number: 25089 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 28 Jul 2021 16:26: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 Jul 28 16:36:14 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 28 Jul 2021 16:36:14 +0000 Subject: Change in osmo-msc[master]: add sequence_charts/call_reestablishment.msc In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/25074 ) Change subject: add sequence_charts/call_reestablishment.msc ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25074 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I6ebc3a0555ef82e1c027ca75b45f8147a3e07ee6 Gerrit-Change-Number: 25074 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Wed, 28 Jul 2021 16:36:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 28 16:38:47 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 28 Jul 2021 16:38:47 +0000 Subject: Change in osmo-msc[master]: add sequence_charts/call_reestablishment.msc 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/+/25074 to look at the new patch set (#3). Change subject: add sequence_charts/call_reestablishment.msc ...................................................................... add sequence_charts/call_reestablishment.msc Change-Id: I6ebc3a0555ef82e1c027ca75b45f8147a3e07ee6 --- M doc/sequence_charts/Makefile.am A doc/sequence_charts/call_reestablishment.msc 2 files changed, 35 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/74/25074/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25074 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I6ebc3a0555ef82e1c027ca75b45f8147a3e07ee6 Gerrit-Change-Number: 25074 Gerrit-PatchSet: 3 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 Jul 28 16:40:47 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 28 Jul 2021 16:40:47 +0000 Subject: Change in osmo-bsc[master]: doc: Improve ACC ramp documentation In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25087 ) Change subject: doc: Improve ACC ramp documentation ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/25087/2/doc/manuals/chapters/bts.adoc File doc/manuals/chapters/bts.adoc: https://gerrit.osmocom.org/c/osmo-bsc/+/25087/2/doc/manuals/chapters/bts.adoc at 482 PS2, Line 482: `access-control-class-ramping-chan-load` VTY command. * "will actually be checked always" sounds a bit strange to me, how about "will always be checked" * "the" missing before "start up procedure", before `access-control-class-ramping-step-interval` and before `access-control-class-ramping-chan-load` * This sentence is very long and therefore hard to read. How about: ... VTY command. It will either keep, ... instead of ... VTY command, and will either keep, ... https://gerrit.osmocom.org/c/osmo-bsc/+/25087/2/doc/manuals/chapters/bts.adoc at 526 PS2, Line 526: <6> The time until the subset size is further increased or decreased based on current channel load check (in seconds) In the other lines, the exact config value is mentioned instead of a generic description. So here I would put the 30s, e.g. <6> 30 seconds until the subset size is further increased or decreased based on the current channel load check -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25087 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8701386b35ccdebfc843fd00535091648e52f739 Gerrit-Change-Number: 25087 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 28 Jul 2021 16:40:47 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 28 16:45:44 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 28 Jul 2021 16:45:44 +0000 Subject: Change in osmo-msc[master]: implement CM Re-Establish for voice calls 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/+/25076 to look at the new patch set (#4). Change subject: implement CM Re-Establish for voice calls ...................................................................... implement CM Re-Establish for voice calls Related: SYS#5130 Change-Id: I6fa37d6ca9fcb1637742b40e37b68d67664c9b60 --- M include/osmocom/msc/gsm_data.h M include/osmocom/msc/msc_common.h M include/osmocom/msc/vlr.h M src/libmsc/gsm_04_08.c M src/libmsc/msc_a.c 5 files changed, 136 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/76/25076/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25076 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I6fa37d6ca9fcb1637742b40e37b68d67664c9b60 Gerrit-Change-Number: 25076 Gerrit-PatchSet: 4 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 Wed Jul 28 16:45:59 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 28 Jul 2021 16:45:59 +0000 Subject: Change in osmo-msc[master]: implement CM Re-Establish for voice calls In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/25076 ) Change subject: implement CM Re-Establish for voice calls ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-msc/+/25076/1/src/libmsc/msc_a.c File src/libmsc/msc_a.c: https://gerrit.osmocom.org/c/osmo-msc/+/25076/1/src/libmsc/msc_a.c at 125 PS1, Line 125: ? MSC_CTR_CM_RE_ESTABLISH_REQ_ACCEPTED : MSC_CTR_CM_RE_ESTABLISH_REQ_REJECTED)); > Not blocking, but I'd keep it in one line like the other ones above. [?] I fear the linter will give me CR -1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25076 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I6fa37d6ca9fcb1637742b40e37b68d67664c9b60 Gerrit-Change-Number: 25076 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 28 Jul 2021 16:45:59 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 28 16:47:14 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 28 Jul 2021 16:47:14 +0000 Subject: Change in osmo-msc[master]: add sequence_charts/call_reestablishment.msc In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/25074 ) Change subject: add sequence_charts/call_reestablishment.msc ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25074 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I6ebc3a0555ef82e1c027ca75b45f8147a3e07ee6 Gerrit-Change-Number: 25074 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 28 Jul 2021 16:47: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 Jul 28 16:47:53 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 28 Jul 2021 16:47:53 +0000 Subject: Change in osmo-msc[master]: implement CM Re-Establish for voice calls In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/25076 ) Change subject: implement CM Re-Establish for voice calls ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-msc/+/25076/1/src/libmsc/msc_a.c File src/libmsc/msc_a.c: https://gerrit.osmocom.org/c/osmo-msc/+/25076/1/src/libmsc/msc_a.c at 125 PS1, Line 125: ? MSC_CTR_CM_RE_ESTABLISH_REQ_ACCEPTED : MSC_CTR_CM_RE_ESTABLISH_REQ_REJECTED)); > I fear the linter will give me CR -1 You can still merge it with linter CR-1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25076 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I6fa37d6ca9fcb1637742b40e37b68d67664c9b60 Gerrit-Change-Number: 25076 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 28 Jul 2021 16:47:53 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: neels 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 Jul 28 16:52:57 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 28 Jul 2021 16:52:57 +0000 Subject: Change in osmo-bsc[master]: doc: Improve ACC ramp documentation 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-bsc/+/25087 to look at the new patch set (#3). Change subject: doc: Improve ACC ramp documentation ...................................................................... doc: Improve ACC ramp documentation Commit below added support for ACC ramping based on channel load, but documentation was not updated with it. Fixes: 1e5e7004dc7987b23f5791366efdf374675e346b Change-Id: I8701386b35ccdebfc843fd00535091648e52f739 --- M doc/manuals/chapters/bts.adoc 1 file changed, 24 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/87/25087/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25087 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8701386b35ccdebfc843fd00535091648e52f739 Gerrit-Change-Number: 25087 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 28 16:57:10 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 28 Jul 2021 16:57:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add MSC_Tests.TC_call_re_establishment_ciph References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25091 ) Change subject: msc: add MSC_Tests.TC_call_re_establishment_ciph ...................................................................... msc: add MSC_Tests.TC_call_re_establishment_ciph Invoke TC_call_re_establishment with ciphering required. Related: SYS#5130 Change-Id: I8bbe53fc9fced3e455aa30c571ef7684890adb99 --- M msc/MSC_Tests.ttcn 1 file changed, 24 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/91/25091/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 10b3990..10ba5fa 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -6772,6 +6772,29 @@ vc_conn2.done; } +testcase TC_call_re_establishment_ciph() runs on MTC_CT { + var BSC_ConnHdlr vc_conn1; + var BSC_ConnHdlr vc_conn2; + f_init(); + + f_vty_config(MSCVTY, "network", "authentication required"); + f_vty_config(MSCVTY, "network", "encryption a5 3"); + + var BSC_ConnHdlrPars pars1 := f_init_pars(92); + pars1.net.expect_auth := true; + pars1.net.expect_ciph := true; + pars1.net.kc_support := '08'O; /* A5/3 only */ + var BSC_ConnHdlrPars pars2 := pars1; + + vc_conn1 := f_start_handler_create(pars1); + vc_conn2 := f_start_handler_create(pars2); + connect(vc_conn1:COORD, vc_conn2:COORD); + f_start_handler_run(vc_conn1, refers(f_tc_call_re_establishment_1), pars1); + f_start_handler_run(vc_conn2, refers(f_tc_call_re_establishment_2), pars2); + vc_conn1.done; + vc_conn2.done; +} + control { execute( TC_cr_before_reset() ); execute( TC_lu_imsi_noauth_tmsi() ); @@ -6933,6 +6956,7 @@ execute( TC_call_re_establishment() ); execute( TC_call_re_establishment_auth() ); + execute( TC_call_re_establishment_ciph() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25091 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8bbe53fc9fced3e455aa30c571ef7684890adb99 Gerrit-Change-Number: 25091 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 Jul 28 17:01:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 28 Jul 2021 17:01:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add MSC_Tests.TC_call_re_establishment_ciph In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25091 ) Change subject: msc: add MSC_Tests.TC_call_re_establishment_ciph ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25091 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8bbe53fc9fced3e455aa30c571ef7684890adb99 Gerrit-Change-Number: 25091 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 28 Jul 2021 17:01: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 Jul 28 17:17:19 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 28 Jul 2021 17:17:19 +0000 Subject: Change in osmo-bsc[master]: doc: Improve ACC ramp documentation In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25087 ) Change subject: doc: Improve ACC ramp documentation ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25087 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8701386b35ccdebfc843fd00535091648e52f739 Gerrit-Change-Number: 25087 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 28 Jul 2021 17:17: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 Jul 28 17:19:49 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 28 Jul 2021 17:19:49 +0000 Subject: Change in osmo-ttcn3-hacks[master]: .gitignore sms.db In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25063 ) Change subject: .gitignore sms.db ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25063 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib4c66a9861f92293520c4c38a50d4d51f3cf2a77 Gerrit-Change-Number: 25063 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 28 Jul 2021 17: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 Wed Jul 28 17:43:51 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 28 Jul 2021 17:43:51 +0000 Subject: Change in osmo-pcu[master]: Move timer X2001 to tbf_fsm References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25092 ) Change subject: Move timer X2001 to tbf_fsm ...................................................................... Move timer X2001 to tbf_fsm The side effect is that the timer is enabled for other scenarios where a PACCH assignment happens, like an Assignment Reject or Ul Assignment (that's why there's more lines showing up now in TbfTest.err). Change-Id: Ib8ab2f7397ad05c6fcd5dd74af55a1e2c56e1463 --- M src/tbf.cpp M src/tbf_dl.cpp M src/tbf_fsm.c M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err 5 files changed, 68 insertions(+), 37 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/92/25092/1 diff --git a/src/tbf.cpp b/src/tbf.cpp index 2407fc2..b9c62fb 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -741,16 +741,6 @@ LOGPTBF(this, LOGL_DEBUG, "timer 0 expired. cur_fn=%d\n", current_fn); - /* PACCH assignment timeout (see timer X2001) */ - if ((state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_PACCH))) { - if (state_is(TBF_ST_ASSIGN)) { - LOGPTBF(this, LOGL_NOTICE, "releasing due to PACCH assignment timeout.\n"); - tbf_free(this); - return; - } else - LOGPTBF(this, LOGL_ERROR, "Error: TBF is not in assign state\n"); - } - /* Finish waiting after IMM.ASS confirm timer for CCCH assignment (see timer X2002) */ if ((state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_CCCH))) { gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(this); diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 01cd173..ea7f18e 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -611,9 +611,6 @@ /* change state */ osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_ASSIGN_ADD_PACCH, NULL); - - /* Start timer, expiry in gprs_rlcmac_tbf::handle_timeout tbf_free()s the TBF */ - T_START(this, T0, -2001, "assignment (PACCH)", true); } else { LOGPTBFDL(this, LOGL_DEBUG, "Send dowlink assignment on PCH, no TBF exist (IMSI=%s)\n", imsi()); diff --git a/src/tbf_fsm.c b/src/tbf_fsm.c index a57dd08..0dbf04c 100644 --- a/src/tbf_fsm.c +++ b/src/tbf_fsm.c @@ -113,6 +113,32 @@ } } +static void st_assign_on_enter(struct osmo_fsm_inst *fi, uint32_t prev_state) +{ + struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; + unsigned long val; + unsigned int sec, micro; + + /* If assignment for this TBF is happening on PACCH, that means the + * actual Assignment procedure (tx/rx) is happening on another TBF (eg + * Ul TBF vs DL TBF). Hence we add a security timer here to free it in + * case the other TBF doesn't succeed in informing (assigning) the MS + * about this TBF, or simply because the scheduler takes too long to + * schedule it. This timer can probably be dropped once we make the + * other TBF always signal us assignment failure (we already get + * assignment success through TBF_EV_ASSIGN_ACK_PACCH) */ + if (ctx->state_flags & (1 << GPRS_RLCMAC_FLAG_PACCH)) { + fi->T = -2001; + val = osmo_tdef_get(the_pcu->T_defs, fi->T, OSMO_TDEF_MS, -1); + sec = val / 1000; + micro = (val % 1000) * 1000; + LOGPTBF(ctx->tbf, LOGL_DEBUG, + "Starting timer X2001 [assignment (PACCH)] with %u sec. %u microsec\n", + sec, micro); + osmo_timer_schedule(&fi->timer, sec, micro); + } +} + static void st_assign(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; @@ -245,6 +271,9 @@ { struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; switch (fi->T) { + case -2001: + LOGPTBF(ctx->tbf, LOGL_NOTICE, "releasing due to PACCH assignment timeout.\n"); + /* fall-through */ case 3169: case 3195: tbf_free(ctx->tbf); @@ -279,6 +308,7 @@ X(TBF_ST_RELEASING), .name = "ASSIGN", .action = st_assign, + .onenter = st_assign_on_enter, }, [TBF_ST_FLOW] = { .in_event_mask = diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index ce5f784..9ba1753 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -3182,6 +3182,7 @@ fprintf(stderr, "=== start %s ===\n", __func__); setup_bts(bts, ts_no, 4); + OSMO_ASSERT(osmo_tdef_set(the_pcu->T_defs, -2000, 0, OSMO_TDEF_MS) == 0); int rc = 0; @@ -3198,8 +3199,7 @@ trx_no, ts_no, fn, bn); OSMO_ASSERT(rc == 0); - - ul_tbf->handle_timeout(); + osmo_select_main(0); TALLOC_FREE(the_pcu); fprintf(stderr, "=== end %s ===\n", __func__); diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index aed1bfd..ce1aa3c 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -139,7 +139,7 @@ TBF(DL-TFI_1){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_1){NULL}: state_chg to ASSIGN -TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654167 +TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=ASSIGN) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE), 1 TBFs, USFs = 00, TFIs = 00000002. @@ -149,7 +149,6 @@ UL_ASS_TBF(DL-TFI_0){NONE}: Deallocated DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: Deallocated TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=ASSIGN) free -TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=ASSIGN) stopping timer T0 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=ASSIGN), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0,) Detaching TBF: TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=ASSIGN) ********** DL-TBF ends here ********** @@ -252,9 +251,8 @@ TBF(DL-TFI_1){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_1){NULL}: state_chg to ASSIGN -TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654167 +TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=ASSIGN) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=ASSIGN) free -TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=ASSIGN) stopping timer T0 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=ASSIGN), 1 TBFs, USFs = 00, TFIs = 00000001. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0,) Detaching TBF: TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=ASSIGN) ********** DL-TBF ends here ********** @@ -1826,6 +1824,7 @@ TBF(UL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. UL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS UL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS @@ -1885,7 +1884,7 @@ TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654275 +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 4 bytes === end test_tbf_two_phase === === start test_tbf_ra_update_rach === @@ -1923,6 +1922,7 @@ TBF(UL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. UL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS UL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS @@ -1981,7 +1981,7 @@ TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654275 +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 10 bytes Old MS: TLLI = 0xf1223344, TA = 7, IMSI = 0011223344, LLC = 1 PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654275 block_nr=9 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654279 @@ -2002,7 +2002,6 @@ DL_ASS_TBF(UL-TFI_0){WAIT_ACK}: state_chg to NONE TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) stopping timer T0 [control acked (DL-TBF)] PDCH(bts=0,trx=0,ts=7) Expiring FN=2654288 but previous FN=2654279 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654279): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 0 => 1 (< MAX 10) @@ -2086,6 +2085,7 @@ TBF(UL-TFI_1){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=NULL) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(UL-TFI_1){NULL}: state_chg to ASSIGN +TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. UL_ASS_TBF(UL-TFI_1){NONE}: Received Event SCHED_ASS UL_ASS_TBF(UL-TFI_1){NONE}: state_chg to SEND_ASS @@ -2181,6 +2181,7 @@ TBF(UL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. UL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS UL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS @@ -2241,7 +2242,7 @@ TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654275 +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 20 bytes TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 20 bytes Old MS: TLLI = 0xf1223344, TA = 7, IMSI = 0011223344, LLC = 2 @@ -2282,6 +2283,7 @@ TBF(UL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. UL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS UL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS @@ -2349,6 +2351,7 @@ TBF(UL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. UL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS UL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS @@ -2409,7 +2412,7 @@ TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654275 +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 20 bytes TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 20 bytes Old MS: TLLI = 0xf1223344, TA = 7, IMSI = 0011223344, LLC = 2 @@ -2456,7 +2459,6 @@ TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) data_length=20, data=f1 22 33 44 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) Decoded premier TLLI=0xf1223344 of UL DATA TFI=0. TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) free -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) stopping timer T0 [freeing TBF] PDCH(bts=0,trx=0,ts=7) Detaching TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN), 0 TBFs, USFs = 01, TFIs = 00000000. MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0,) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) ********** DL-TBF ends here ********** @@ -2516,6 +2518,7 @@ TBF(UL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. UL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS UL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS @@ -2576,7 +2579,7 @@ TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654275 +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 13 bytes TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 13 bytes TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 13 bytes @@ -2636,7 +2639,6 @@ DL_ASS_TBF(UL-TFI_0){WAIT_ACK}: state_chg to NONE TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) stopping timer T0 [control acked (DL-TBF)] PDCH(bts=0,trx=0,ts=7) Expiring FN=2654288 but previous FN=2654279 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654279): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 0 => 1 (< MAX 10) @@ -3229,7 +3231,7 @@ TBF(DL-TFI_1){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=NULL) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_1){NULL}: state_chg to ASSIGN -TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654379 +TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654283 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654283): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 1 => 2 (< MAX 10) @@ -3324,7 +3326,6 @@ DL_ASS_TBF(DL-TFI_0){NONE}: Deallocated TBF(DL-TFI_1){ASSIGN}: Received Event ASSIGN_ACK_PACCH TBF(DL-TFI_1){ASSIGN}: state_chg to FLOW -TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) stopping timer T0 [control acked (DL-TBF)] PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654383 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654383): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 23 => 24 (< MAX 10) @@ -3694,6 +3695,7 @@ TBF(UL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. UL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS UL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS @@ -3757,7 +3759,7 @@ TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654275 +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes === end test_tbf_egprs_two_phase === === start test_tbf_egprs_two_phase_spb === @@ -3799,6 +3801,7 @@ TBF(UL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. UL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS UL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS @@ -3980,7 +3983,7 @@ TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654275 +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes === end test_tbf_egprs_two_phase_spb === === start test_tbf_egprs_dl === @@ -6711,6 +6714,7 @@ TBF(UL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. UL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS UL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS @@ -6791,7 +6795,7 @@ TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654275 +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes === end test_tbf_puan_urbb_len === === start test_tbf_update_ws === @@ -6892,6 +6896,7 @@ TBF(UL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. UL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS UL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS @@ -6967,7 +6972,7 @@ TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654275 +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes === end test_tbf_li_decoding === === start test_tbf_epdan_out_of_rx_window === @@ -7276,6 +7281,7 @@ TBF(UL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. UL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS UL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS @@ -7828,7 +7834,7 @@ TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654275 +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) @@ -8586,6 +8592,7 @@ TBF(UL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=NULL EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN EGPRS) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. UL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS UL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS @@ -8630,6 +8637,7 @@ TBF(UL-TFI_1){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=1 TLLI=0xffeeddcd DIR=UL STATE=NULL EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(UL-TFI_1){NULL}: state_chg to ASSIGN +TBF(TFI=1 TLLI=0xffeeddcd DIR=UL STATE=ASSIGN EGPRS) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=1 TLLI=0xffeeddcd DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. UL_ASS_TBF(UL-TFI_1){NONE}: Received Event SCHED_ASS UL_ASS_TBF(UL-TFI_1){NONE}: state_chg to SEND_ASS @@ -8681,6 +8689,7 @@ TBF(UL-TFI_2){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=2 TLLI=0xffeeddce DIR=UL STATE=NULL EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(UL-TFI_2){NULL}: state_chg to ASSIGN +TBF(TFI=2 TLLI=0xffeeddce DIR=UL STATE=ASSIGN EGPRS) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=2 TLLI=0xffeeddce DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. UL_ASS_TBF(UL-TFI_2){NONE}: Received Event SCHED_ASS UL_ASS_TBF(UL-TFI_2){NONE}: state_chg to SEND_ASS @@ -8732,6 +8741,7 @@ TBF(UL-TFI_3){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=3 TLLI=0xffeeddcf DIR=UL STATE=NULL EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(UL-TFI_3){NULL}: state_chg to ASSIGN +TBF(TFI=3 TLLI=0xffeeddcf DIR=UL STATE=ASSIGN EGPRS) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=3 TLLI=0xffeeddcf DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. UL_ASS_TBF(UL-TFI_3){NONE}: Received Event SCHED_ASS UL_ASS_TBF(UL-TFI_3){NONE}: state_chg to SEND_ASS @@ -8783,6 +8793,7 @@ TBF(UL-TFI_4){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=4 TLLI=0xffeeddd0 DIR=UL STATE=NULL EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(UL-TFI_4){NULL}: state_chg to ASSIGN +TBF(TFI=4 TLLI=0xffeeddd0 DIR=UL STATE=ASSIGN EGPRS) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=4 TLLI=0xffeeddd0 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. UL_ASS_TBF(UL-TFI_4){NONE}: Received Event SCHED_ASS UL_ASS_TBF(UL-TFI_4){NONE}: state_chg to SEND_ASS @@ -8834,6 +8845,7 @@ TBF(UL-TFI_5){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=5 TLLI=0xffeeddd1 DIR=UL STATE=NULL EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(UL-TFI_5){NULL}: state_chg to ASSIGN +TBF(TFI=5 TLLI=0xffeeddd1 DIR=UL STATE=ASSIGN EGPRS) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=5 TLLI=0xffeeddd1 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. UL_ASS_TBF(UL-TFI_5){NONE}: Received Event SCHED_ASS UL_ASS_TBF(UL-TFI_5){NONE}: state_chg to SEND_ASS @@ -8885,6 +8897,7 @@ TBF(UL-TFI_6){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=6 TLLI=0xffeeddd2 DIR=UL STATE=NULL EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(UL-TFI_6){NULL}: state_chg to ASSIGN +TBF(TFI=6 TLLI=0xffeeddd2 DIR=UL STATE=ASSIGN EGPRS) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=6 TLLI=0xffeeddd2 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. UL_ASS_TBF(UL-TFI_6){NONE}: Received Event SCHED_ASS UL_ASS_TBF(UL-TFI_6){NONE}: state_chg to SEND_ASS @@ -8940,6 +8953,7 @@ TBF{NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xffeeddd3 DIR=UL STATE=NULL) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF{NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xffeeddd3 DIR=UL STATE=ASSIGN) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec UL_ASS_TBF{NONE}: Received Event SCHED_ASS_REJ UL_ASS_TBF{NONE}: state_chg to SEND_ASS_REJ PDCH(bts=0,trx=0,ts=7) Expiring FN=82 but previous FN=2654231 is still reserved! @@ -8968,14 +8982,14 @@ TBF{NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=NULL) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF{NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec UL_ASS_TBF{NONE}: Received Event SCHED_ASS_REJ UL_ASS_TBF{NONE}: state_chg to SEND_ASS_REJ UL_ASS_TBF{SEND_ASS_REJ}: Received Event CREATE_RLCMAC_MSG UL_ASS_TBF{SEND_ASS_REJ}: state_chg to NONE -TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) starting timer X2000 [reject (PACCH)] with 0 sec. 2000 microsec +TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) starting timer X2000 [reject (PACCH)] with 0 sec. 0 microsec PDCH(bts=0,trx=0,ts=7) FN=2654218 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) -TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) timer 0 expired. cur_fn=2654167 -TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) releasing due to PACCH assignment timeout. +UL_ASS_TBF{NONE}: Timeout of X2000 TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) free MS(TLLI=0xffeeddcc, IMSI=, TA=220, 0/0,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) MS(TLLI=0xffeeddcc, IMSI=, TA=220, 0/0,) Destroying MS object -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25092 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib8ab2f7397ad05c6fcd5dd74af55a1e2c56e1463 Gerrit-Change-Number: 25092 Gerrit-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 Jul 28 19:49:43 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 28 Jul 2021 19:49:43 +0000 Subject: Change in osmo-pcu[master]: Get rid of lots of code only used by tests References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25093 ) Change subject: Get rid of lots of code only used by tests ...................................................................... Get rid of lots of code only used by tests There are 2 methods "rcvd_dl_ack()" in osmo-pcu code. One is used by osmo-pcu itself, and the other is only used in tests. Changing the tests to use the same method as osmo-pcu allows removing the second one, and with it, a lot of code and complexity out of osmo-pcu. Change-Id: I14d9312cb61534dc97fca83141b9c0cd933c9206 --- M src/decoding.cpp M src/decoding.h M src/encoding.cpp M src/encoding.h M src/tbf_dl.cpp M src/tbf_dl.h M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err M tests/types/TypesTest.cpp 9 files changed, 120 insertions(+), 122 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/93/25093/1 diff --git a/src/decoding.cpp b/src/decoding.cpp index e40496d..0caa8bf 100644 --- a/src/decoding.cpp +++ b/src/decoding.cpp @@ -326,18 +326,6 @@ * The index of the array is the bit position in the rbb * (show_rbb[63] relates to BSN ssn-1) */ -void Decoding::extract_rbb(const uint8_t *rbb, char *show_rbb) -{ - for (int i = 0; i < 64; i++) { - uint8_t bit; - - bit = !!(rbb[i/8] & (1<<(7-i%8))); - show_rbb[i] = bit ? 'R' : 'I'; - } - - show_rbb[64] = '\0'; -} - void Decoding::extract_rbb(const struct bitvec *rbb, char *show_rbb) { unsigned int i; diff --git a/src/decoding.h b/src/decoding.h index 28af3c4..7270c3d 100644 --- a/src/decoding.h +++ b/src/decoding.h @@ -50,7 +50,6 @@ enum CodingScheme cs, const uint8_t *data, RlcData *chunks, unsigned int chunks_size, uint32_t *tlli); - static void extract_rbb(const uint8_t *rbb, char *extracted_rbb); static void extract_rbb(const struct bitvec *rbb, char *show_rbb); static int rlc_parse_ul_data_header_egprs_type_3( struct gprs_rlc_data_info *rlc, diff --git a/src/encoding.cpp b/src/encoding.cpp index d9f4f87..f945161 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -841,20 +841,12 @@ * The index of the array show_rbb is the bit position inside the rbb * (show_rbb[63] relates to BSN ssn-1) */ -void Encoding::encode_rbb(const char *show_rbb, uint8_t *rbb) +void Encoding::encode_rbb(const char *show_rbb, bitvec *bv) { - uint8_t rbb_byte = 0; - // RECEIVE_BLOCK_BITMAP for (int i = 0; i < 64; i++) { /* Set bit at the appropriate position (see 3GPP TS 44.060 9.1.8.1) */ - if (show_rbb[i] == 'R') - rbb_byte |= 1<< (7-(i%8)); - - if ((i%8) == 7) { - rbb[i/8] = rbb_byte; - rbb_byte = 0; - } + bitvec_set_bit(bv, show_rbb[i] == 'R' ? ONE : ZERO); } } diff --git a/src/encoding.h b/src/encoding.h index f942fd8..298a937 100644 --- a/src/encoding.h +++ b/src/encoding.h @@ -63,7 +63,7 @@ uint8_t t3142 ); - static void encode_rbb(const char *show_rbb, uint8_t *rbb); + static void encode_rbb(const char *show_rbb, bitvec *rbb); static void write_packet_uplink_ack( bitvec * dest, struct gprs_rlcmac_ul_tbf *tbf, bool is_final, diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index ea7f18e..40b52e5 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -1158,68 +1158,6 @@ return 0; } -int gprs_rlcmac_dl_tbf::update_window(const uint8_t ssn, const uint8_t *rbb) -{ - int16_t dist; /* must be signed */ - uint16_t lost = 0, received = 0; - char show_rbb[65]; - char show_v_b[RLC_MAX_SNS + 1]; - int error_rate; - struct ana_result ana_res; - - Decoding::extract_rbb(rbb, show_rbb); - /* show received array in debug (bit 64..1) */ - LOGPTBFDL(this, LOGL_DEBUG, - "ack: (BSN=%d)\"%s\"(BSN=%d) R=ACK I=NACK\n", - m_window.mod_sns(ssn - 64), show_rbb, m_window.mod_sns(ssn - 1)); - - /* apply received array to receive state (SSN-64..SSN-1) */ - /* calculate distance of ssn from V(S) */ - dist = m_window.mod_sns(m_window.v_s() - ssn); - /* check if distance is less than distance V(A)..V(S) */ - if (dist >= m_window.distance()) { - /* this might happpen, if the downlink assignment - * was not received by ms and the ack refers - * to previous TBF - * FIXME: we should implement polling for - * control ack!*/ - LOGPTBFDL(this, LOGL_NOTICE, "ack range is out of V(A)..V(S) range - Free TBF!\n"); - return 1; /* indicate to free TBF */ - } - - error_rate = analyse_errors(show_rbb, ssn, &ana_res); - - if (the_pcu->vty.cs_adj_enabled && ms()) - ms_update_error_rate(ms(), this, error_rate); - - m_window.update(bts, show_rbb, ssn, - &lost, &received); - rate_ctr_add(rate_ctr_group_get_ctr(m_ctrs, TBF_CTR_RLC_NACKED), lost); - - /* report lost and received packets */ - gprs_rlcmac_received_lost(this, received, lost); - - /* Used to measure the leak rate */ - gprs_bssgp_update_bytes_received(ana_res.received_bytes, - ana_res.received_packets + ana_res.lost_packets); - - /* raise V(A), if possible */ - m_window.raise(m_window.move_window()); - - /* show receive state array in debug (V(A)..V(S)-1) */ - m_window.show_state(show_v_b); - LOGPTBFDL(this, LOGL_DEBUG, - "V(B): (V(A)=%d)\"%s\"(V(S)-1=%d) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid\n", - m_window.v_a(), show_v_b, m_window.v_s_mod(-1)); - - if (state_is(TBF_ST_FINISHED) && m_window.window_empty()) { - LOGPTBFDL(this, LOGL_NOTICE, - "Received acknowledge of all blocks, but without final ack inidcation (don't worry)\n"); - } - return 0; -} - - int gprs_rlcmac_dl_tbf::rcvd_dl_final_ack() { osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_FINAL_ACK_RECVD, NULL); @@ -1275,17 +1213,6 @@ return rc; } -int gprs_rlcmac_dl_tbf::rcvd_dl_ack(bool final_ack, uint8_t ssn, uint8_t *rbb) -{ - LOGPTBFDL(this, LOGL_DEBUG, "downlink acknowledge\n"); - - if (!final_ack) - return update_window(ssn, rbb); - - LOGPTBFDL(this, LOGL_DEBUG, "Final ACK received.\n"); - return rcvd_dl_final_ack(); -} - bool gprs_rlcmac_dl_tbf::dl_window_stalled() const { return m_window.window_stalled(); diff --git a/src/tbf_dl.h b/src/tbf_dl.h index b8fecde..67c05ad 100644 --- a/src/tbf_dl.h +++ b/src/tbf_dl.h @@ -48,7 +48,6 @@ int append_data(uint16_t pdu_delay_csec, const uint8_t *data, uint16_t len); - int rcvd_dl_ack(bool final, uint8_t ssn, uint8_t *rbb); int rcvd_dl_ack(bool final_ack, unsigned first_bsn, struct bitvec *rbb); struct msgb *create_dl_acked_block(uint32_t fn, uint8_t ts, enum mcs_kind req_mcs_kind = EGPRS); void trigger_ass(struct gprs_rlcmac_tbf *old_tbf); @@ -107,7 +106,6 @@ int create_new_bsn(const uint32_t fn, enum CodingScheme cs); struct msgb *create_dl_acked_block(const uint32_t fn, const uint8_t ts, int index, int index2 = -1); - int update_window(const uint8_t ssn, const uint8_t *rbb); int update_window(unsigned first_bsn, const struct bitvec *rbb); int rcvd_dl_final_ack(); bool dl_window_stalled() const; diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index 9ba1753..c6ea701 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -259,6 +259,28 @@ TEST_MODE_REVERSE_FREE }; +/* Receive an ACK */ +#define RCV_ACK(fin, tbf, rbb) do { \ + gprs_rlc_dl_window *w = static_cast(tbf->window()); \ + uint8_t bits_data[RLC_GPRS_WS/8]; \ + bitvec bits; \ + Ack_Nack_Description_t ack_nack; \ + int bsn_begin, bsn_end; \ + uint8_t ssn = w->v_s(); \ + bits.data = bits_data; \ + bits.data_len = sizeof(bits_data); \ + bits.cur_bit = 0; \ + ack_nack.FINAL_ACK_INDICATION = fin; \ + ack_nack.STARTING_SEQUENCE_NUMBER = ssn; \ + memcpy(ack_nack.RECEIVED_BLOCK_BITMAP, rbb, RLC_GPRS_WS/8); \ + Decoding::decode_gprs_acknack_bits( \ + &ack_nack, &bits, \ + &bsn_begin, &bsn_end, w); \ + tbf->rcvd_dl_ack(fin, bsn_begin, &bits); \ + if (!fin) \ + OSMO_ASSERT(w->window_empty()); \ + } while(0) + static void test_tbf_final_ack(enum test_tbf_final_ack_mode test_mode) { the_pcu = prepare_pcu(); @@ -305,7 +327,7 @@ /* Queue a final ACK */ memset(rbb, 0, sizeof(rbb)); /* Receive a final ACK */ - dl_tbf->rcvd_dl_ack(true, 1, rbb); + RCV_ACK(true, dl_tbf, rbb); /* Clean up and ensure tbfs are in the correct state */ OSMO_ASSERT(dl_tbf->state_is(TBF_ST_WAIT_RELEASE)); @@ -335,14 +357,6 @@ fprintf(stderr, "=== end %s ===\n", __func__); } -/* Receive an ACK */ -#define RCV_ACK(fin, tbf, rbb) do { \ - gprs_rlc_dl_window *w = static_cast(tbf->window()); \ - tbf->rcvd_dl_ack(fin, w->v_s(), rbb); \ - if (!fin) \ - OSMO_ASSERT(w->window_empty()); \ - } while(0) - static void test_tbf_delayed_release() { the_pcu = prepare_pcu(); diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index ce1aa3c..98c9d49 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -109,6 +109,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 1, CS-1): 07 00 03 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) ack: (BSN=0)"RR"(BSN=1) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) DL analysis, range=0:2, lost=0, recv=2, skipped=0, bsn=0, info='RR..............................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) V(B): (V(A)=2)""(V(S)-1=1) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE @@ -221,6 +224,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 1, CS-1): 07 00 03 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) ack: (BSN=0)"RR"(BSN=1) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) DL analysis, range=0:2, lost=0, recv=2, skipped=0, bsn=0, info='RR..............................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) V(B): (V(A)=2)""(V(S)-1=1) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE @@ -494,12 +500,13 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduled Ack/Nack polling on FN=104, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 20, CS-1): 0f 00 28 09 c6 c7 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink acknowledge -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) ack: (BSN=85)"RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR"(BSN=20) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) ack: (BSN=0)"RRRRRRRRRRRRRRRRRRRRR"(BSN=20) R=ACK I=NACK TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) DL analysis, range=0:21, lost=0, recv=21, skipped=0, bsn=0, info='RRRRRRRRRRRRRRRRRRRRR...........................................' TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) V(B): (V(A)=21)""(V(S)-1=20) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink acknowledge -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) ack: (BSN=85)"RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR"(BSN=20) R=ACK I=NACK -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) ack range is out of V(A)..V(S) range - Free TBF! +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) ack: (BSN=21)""(BSN=20) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) DL analysis, range=21:21, lost=0, recv=0, skipped=0, bsn=0, info='................................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) V(B): (V(A)=21)""(V(S)-1=20) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid PDCH(bts=0,trx=0,ts=4) FN=203 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==21 .. V(S)==21) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new dummy block at BSN 21, CS=CS-1 @@ -519,6 +526,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) Scheduled Ack/Nack polling on FN=216, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) msg block (BSN 21, CS-1): 0f 01 2a 4d 43 c0 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) ack: (BSN=21)"R"(BSN=21) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) DL analysis, range=21:22, lost=0, recv=1, skipped=0, bsn=21, info='R...............................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) V(B): (V(A)=22)""(V(S)-1=21) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) Final ACK received. TBF(DL-TFI_0){FINISHED}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FINISHED}: state_chg to WAIT_RELEASE @@ -4278,6 +4288,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=104, TS=4 (curr FN 112) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 2 => 3 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RRRRRRRRRRRRRRRRRRRRRRRRR"(BSN=24) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:25, lost=0, recv=25, skipped=0, bsn=0, info='RRRRRRRRRRRRRRRRRRRRRRRRR.......................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=25)""(V(S)-1=24) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE @@ -4534,6 +4547,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RRRRRRRRRRRRRRRRRRRR"(BSN=19) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:20, lost=0, recv=20, skipped=0, bsn=0, info='RRRRRRRRRRRRRRRRRRRR............................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=20)""(V(S)-1=19) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE @@ -4750,6 +4766,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RRRRRRRRRRRRRRR"(BSN=14) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:15, lost=0, recv=15, skipped=0, bsn=0, info='RRRRRRRRRRRRRRR.................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=15)""(V(S)-1=14) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE @@ -4950,6 +4969,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RRRRRRRRRRRRR"(BSN=12) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:13, lost=0, recv=13, skipped=0, bsn=0, info='RRRRRRRRRRRRR...................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=13)""(V(S)-1=12) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE @@ -5134,6 +5156,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RRRRRRRRRRR"(BSN=10) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:11, lost=0, recv=11, skipped=0, bsn=0, info='RRRRRRRRRRR.....................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=11)""(V(S)-1=10) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE @@ -5294,6 +5319,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RRRRRRRR"(BSN=7) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:8, lost=0, recv=8, skipped=0, bsn=0, info='RRRRRRRR........................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=8)""(V(S)-1=7) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE @@ -5463,6 +5491,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RRRRRRRRRRR"(BSN=10) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:11, lost=0, recv=10, skipped=1, bsn=0, info='xRRRRRRRRRR.....................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=11)""(V(S)-1=10) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE @@ -5623,6 +5654,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RRRRRRRRR"(BSN=8) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:9, lost=0, recv=9, skipped=0, bsn=0, info='RRRRRRRRR.......................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=9)""(V(S)-1=8) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE @@ -5772,6 +5806,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RRRRRRRR"(BSN=7) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:8, lost=0, recv=8, skipped=0, bsn=0, info='RRRRRRRR........................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=8)""(V(S)-1=7) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE @@ -5844,6 +5881,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-6): 07 00 00 12 40 80 c0 00 41 81 c1 01 42 82 c2 02 43 83 c3 03 44 84 c4 04 45 85 c5 05 46 86 c6 06 47 87 c7 07 48 88 c8 08 49 89 c9 09 4a 8a ca 0a 4b 8b cb 0b 4c 8c cc 0c 4d 8d cd 0d 4e 8e ce 0e 4f 8f cf 0f 50 90 d0 10 51 91 d1 11 52 12 Detected FN jump! 2654167 -> 58 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"R"(BSN=0) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:1, lost=0, recv=1, skipped=0, bsn=0, info='R...............................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=1)""(V(S)-1=0) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE @@ -5913,6 +5953,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-1): 07 00 00 98 00 02 04 06 08 0a 0c 0e 10 12 14 16 18 1a 1c 1e 20 22 24 26 28 2a 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"R"(BSN=0) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:1, lost=0, recv=1, skipped=0, bsn=0, info='R...............................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=1)""(V(S)-1=0) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE @@ -5982,6 +6025,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-2): 07 00 00 94 00 02 04 06 08 0a 0c 0e 10 12 14 16 18 1a 1c 1e 20 22 24 26 28 2a 2c 2e 30 32 34 36 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"R"(BSN=0) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:1, lost=0, recv=1, skipped=0, bsn=0, info='R...............................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=1)""(V(S)-1=0) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE @@ -6074,6 +6120,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RR"(BSN=1) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:2, lost=0, recv=2, skipped=0, bsn=0, info='RR..............................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=2)""(V(S)-1=1) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE @@ -6165,6 +6214,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RR"(BSN=1) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:2, lost=0, recv=2, skipped=0, bsn=0, info='RR..............................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=2)""(V(S)-1=1) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE @@ -6256,6 +6308,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RR"(BSN=1) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:2, lost=0, recv=2, skipped=0, bsn=0, info='RR..............................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=2)""(V(S)-1=1) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE @@ -6347,6 +6402,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RR"(BSN=1) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:2, lost=0, recv=2, skipped=0, bsn=0, info='RR..............................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=2)""(V(S)-1=1) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE @@ -6425,6 +6483,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-3): 07 00 00 e6 4a 4c 4e 50 52 54 56 58 5a 5c 5e 60 62 64 66 68 6a 6c 6e 70 72 74 76 78 7a 7c 7e 80 82 84 86 88 8a 8c 8e 90 92 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"R"(BSN=0) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:1, lost=0, recv=1, skipped=0, bsn=0, info='R...............................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=1)""(V(S)-1=0) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE @@ -6501,6 +6562,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-2): 07 00 00 f2 38 3a 3c 3e 40 42 44 46 48 4a 4c 4e 50 52 54 56 58 5a 5c 5e 60 62 64 66 68 6a 6c 6e 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"R"(BSN=0) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:1, lost=0, recv=1, skipped=0, bsn=0, info='R...............................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=1)""(V(S)-1=0) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE @@ -6577,6 +6641,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-1): 07 00 00 f6 2c 2e 30 32 34 36 38 3a 3c 3e 40 42 44 46 48 4a 4c 4e 50 52 54 56 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"R"(BSN=0) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:1, lost=0, recv=1, skipped=0, bsn=0, info='R...............................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=1)""(V(S)-1=0) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE @@ -6660,6 +6727,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-6): 07 00 00 10 40 80 c0 00 41 81 c1 01 42 82 c2 02 43 83 c3 03 44 84 c4 04 45 85 c5 05 46 86 c6 06 47 87 c7 07 48 88 c8 08 49 89 c9 09 4a 8a ca 0a 4b 8b cb 0b 4c 8c cc 0c 4d 8d cd 0d 4e 8e ce 0e 4f 8f cf 0f 50 90 d0 10 51 91 d1 11 52 12 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"R"(BSN=0) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:1, lost=0, recv=1, skipped=0, bsn=0, info='R...............................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=1)""(V(S)-1=0) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE diff --git a/tests/types/TypesTest.cpp b/tests/types/TypesTest.cpp index 681ea4e..a975761 100644 --- a/tests/types/TypesTest.cpp +++ b/tests/types/TypesTest.cpp @@ -205,8 +205,12 @@ int count; const char *rbb; char win_rbb[65]; - uint8_t bin_rbb[8]; + uint8_t bin_rbb[RLC_GPRS_WS/8]; + bitvec bits; win_rbb[64] = '\0'; + bits.data = bin_rbb; + bits.data_len = sizeof(bin_rbb); + bits.cur_bit = 0; ul_win.m_v_n.reset(); @@ -220,9 +224,11 @@ OSMO_ASSERT(ul_win.ssn() == 0); ul_win.update_rbb(win_rbb); OSMO_ASSERT_STR_EQ(win_rbb, rbb); - Encoding::encode_rbb(win_rbb, bin_rbb); + bits.cur_bit = 0; + Encoding::encode_rbb(win_rbb, &bits); printf("rbb: %s\n", osmo_hexdump(bin_rbb, sizeof(bin_rbb))); - Decoding::extract_rbb(bin_rbb, win_rbb); + Decoding::extract_rbb(&bits, win_rbb); + //printf("win_rbb: %s\n", win_rbb); OSMO_ASSERT_STR_EQ(win_rbb, rbb); /* simulate to have received 0, 1 and 5 */ @@ -238,9 +244,10 @@ OSMO_ASSERT(ul_win.ssn() == 1); ul_win.update_rbb(win_rbb); OSMO_ASSERT_STR_EQ(win_rbb, rbb); - Encoding::encode_rbb(win_rbb, bin_rbb); + bits.cur_bit = 0; + Encoding::encode_rbb(win_rbb, &bits); printf("rbb: %s\n", osmo_hexdump(bin_rbb, sizeof(bin_rbb))); - Decoding::extract_rbb(bin_rbb, win_rbb); + Decoding::extract_rbb(&bits, win_rbb); OSMO_ASSERT_STR_EQ(win_rbb, rbb); OSMO_ASSERT(ul_win.is_in_window(1)); @@ -255,9 +262,10 @@ OSMO_ASSERT(ul_win.ssn() == 2); ul_win.update_rbb(win_rbb); OSMO_ASSERT_STR_EQ(win_rbb, rbb); - Encoding::encode_rbb(win_rbb, bin_rbb); + bits.cur_bit = 0; + Encoding::encode_rbb(win_rbb, &bits); printf("rbb: %s\n", osmo_hexdump(bin_rbb, sizeof(bin_rbb))); - Decoding::extract_rbb(bin_rbb, win_rbb); + Decoding::extract_rbb(&bits, win_rbb); OSMO_ASSERT_STR_EQ(win_rbb, rbb); OSMO_ASSERT(ul_win.is_in_window(5)); @@ -272,9 +280,10 @@ OSMO_ASSERT(ul_win.ssn() == 6); ul_win.update_rbb(win_rbb); OSMO_ASSERT_STR_EQ(win_rbb, rbb); - Encoding::encode_rbb(win_rbb, bin_rbb); + bits.cur_bit = 0; + Encoding::encode_rbb(win_rbb, &bits); printf("rbb: %s\n", osmo_hexdump(bin_rbb, sizeof(bin_rbb))); - Decoding::extract_rbb(bin_rbb, win_rbb); + Decoding::extract_rbb(&bits, win_rbb); OSMO_ASSERT_STR_EQ(win_rbb, rbb); OSMO_ASSERT(ul_win.is_in_window(65)); @@ -291,9 +300,10 @@ OSMO_ASSERT(ul_win.ssn() == 66); ul_win.update_rbb(win_rbb); OSMO_ASSERT_STR_EQ(win_rbb, rbb); - Encoding::encode_rbb(win_rbb, bin_rbb); + bits.cur_bit = 0; + Encoding::encode_rbb(win_rbb, &bits); printf("rbb: %s\n", osmo_hexdump(bin_rbb, sizeof(bin_rbb))); - Decoding::extract_rbb(bin_rbb, win_rbb); + Decoding::extract_rbb(&bits, win_rbb); OSMO_ASSERT_STR_EQ(win_rbb, rbb); OSMO_ASSERT(ul_win.is_in_window(2)); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25093 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I14d9312cb61534dc97fca83141b9c0cd933c9206 Gerrit-Change-Number: 25093 Gerrit-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 Jul 28 19:59:36 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 28 Jul 2021 19:59:36 +0000 Subject: Change in osmo-pcu[master]: tbf: Merge handle_ack_nack() into handle_ack_nack() References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25094 ) Change subject: tbf: Merge handle_ack_nack() into handle_ack_nack() ...................................................................... tbf: Merge handle_ack_nack() into handle_ack_nack() There's no real use in having those 2 methods separately, and only adds complexity. Let's merge it to have 1 TBF code path handling DL ACK/NACK. Change-Id: I546d2e46bda96a2f551b28673464e57831c71828 --- M src/pdch.cpp M src/tbf_dl.cpp M src/tbf_dl.h M tests/tbf/TbfTest.err 4 files changed, 9 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/94/25094/1 diff --git a/src/pdch.cpp b/src/pdch.cpp index 618dbf4..9477178 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -450,8 +450,6 @@ /* Reset N3101 counter: */ tbf->n_reset(N3101); - if (tbf->handle_ack_nack()) - LOGPTBF(tbf, LOGL_NOTICE, "Recovered downlink ack\n"); pdch_ulc_release_fn(ulc, fn); LOGPTBF(tbf, LOGL_DEBUG, "RX: [PCU <- BTS] Packet Downlink Ack/Nack\n"); @@ -519,9 +517,6 @@ /* Reset N3101 counter: */ tbf->n_reset(N3101); - - if (tbf->handle_ack_nack()) - LOGPTBF(tbf, LOGL_NOTICE, "Recovered EGPRS downlink ack\n"); pdch_ulc_release_fn(ulc, fn); LOGPTBF(tbf, LOGL_DEBUG, diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 40b52e5..10492d9 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -774,22 +774,6 @@ return bsn; } -bool gprs_rlcmac_dl_tbf::handle_ack_nack() -{ - bool ack_recovered = false; - - state_fsm.state_flags |= (1 << GPRS_RLCMAC_FLAG_DL_ACK); - if (check_n_clear(GPRS_RLCMAC_FLAG_TO_DL_ACK)) { - ack_recovered = true; - } - - /* reset N3105 */ - n_reset(N3105); - t_stop(T3191, "ACK/NACK received"); - - return ack_recovered; -} - struct msgb *gprs_rlcmac_dl_tbf::create_dl_acked_block( const uint32_t fn, const uint8_t ts, int index, int index2) @@ -1200,6 +1184,13 @@ int rc; LOGPTBFDL(this, LOGL_DEBUG, "downlink acknowledge\n"); + state_fsm.state_flags |= (1 << GPRS_RLCMAC_FLAG_DL_ACK); + state_fsm.state_flags &= ~(1 << GPRS_RLCMAC_FLAG_TO_DL_ACK); + + /* reset N3105 */ + n_reset(N3105); + t_stop(T3191, "ACK/NACK received"); + rc = update_window(first_bsn, rbb); if (final_ack) { diff --git a/src/tbf_dl.h b/src/tbf_dl.h index 67c05ad..9719327 100644 --- a/src/tbf_dl.h +++ b/src/tbf_dl.h @@ -52,7 +52,6 @@ struct msgb *create_dl_acked_block(uint32_t fn, uint8_t ts, enum mcs_kind req_mcs_kind = EGPRS); void trigger_ass(struct gprs_rlcmac_tbf *old_tbf); - bool handle_ack_nack(); void request_dl_ack(); bool need_control_ts() const; bool have_data() const; diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 98c9d49..b66707a 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -526,6 +526,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) Scheduled Ack/Nack polling on FN=216, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) msg block (BSN 21, CS-1): 0f 01 2a 4d 43 c0 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) stopping timer T3191 [ACK/NACK received] TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) ack: (BSN=21)"R"(BSN=21) R=ACK I=NACK TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) DL analysis, range=21:22, lost=0, recv=1, skipped=0, bsn=21, info='R...............................................................' TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) V(B): (V(A)=22)""(V(S)-1=21) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid @@ -535,7 +536,6 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) stopping timer T3191 [freeing TBF] TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) @@ -3204,10 +3204,10 @@ Detected FN jump! 2654288 -> 2654379 PDCH(bts=0,trx=0,ts=7) FN=2654379 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654379 ------------------------- RX : Uplink Control Block ------------------------- -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) stopping timer T3191 [ACK/NACK received] TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) RX: [PCU <- BTS] Packet Downlink Ack/Nack PDCH(bts=0,trx=0,ts=7) Got GPRS DL ACK bitmap: SSN: 0, BSN 0 to 28 - 1 (28 blocks), "RRRRRRRRRRRRRRRRRRRRRRRRRRRR" TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) downlink acknowledge +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) stopping timer T3191 [ACK/NACK received] TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) ack: (BSN=0)"RRRRRRRRRRRRRRRRRRRRRRRRRRRR"(BSN=27) R=ACK I=NACK TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) DL analysis, range=0:28, lost=0, recv=28, skipped=0, bsn=0, info='RRRRRRRRRRRRRRRRRRRRRRRRRRRR....................................' TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) V(B): (V(A)=28)""(V(S)-1=27) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25094 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I546d2e46bda96a2f551b28673464e57831c71828 Gerrit-Change-Number: 25094 Gerrit-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 Jul 28 20:01:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 28 Jul 2021 20:01:42 +0000 Subject: Change in libosmocore[master]: utils: Fix c++ warn in OSMO_STRBUF_APPEND In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25057 ) Change subject: utils: Fix c++ warn in OSMO_STRBUF_APPEND ...................................................................... Patch Set 1: I would really welcome if someone could +2 and merge this, or propose a change. It's making most of my osmo-pcu patches to fail in jenkins. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25057 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I90e7374aa959468670f1c0ea65a427398d423ddb Gerrit-Change-Number: 25057 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 28 Jul 2021 20:01:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Jul 28 20:10:00 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 28 Jul 2021 20:10:00 +0000 Subject: Change in libosmocore[master]: utils: Fix c++ warn in OSMO_STRBUF_APPEND In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25057 ) Change subject: utils: Fix c++ warn in OSMO_STRBUF_APPEND ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25057 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I90e7374aa959468670f1c0ea65a427398d423ddb Gerrit-Change-Number: 25057 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 28 Jul 2021 20:10: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 Jul 28 20:14:14 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 28 Jul 2021 20:14:14 +0000 Subject: Change in libosmocore[master]: utils: Fix c++ warn in OSMO_STRBUF_APPEND In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25057 ) Change subject: utils: Fix c++ warn in OSMO_STRBUF_APPEND ...................................................................... utils: Fix c++ warn in OSMO_STRBUF_APPEND It's really a false positive since _sb_l is compared and granted to be psotivie by the time we compare, so we don't really care, but c++ is not happy about it. """ /osmocom/core/utils.h:227:40: error: comparison of integer expressions of different signedness: ?int? and ?size_t? {aka ?long unsigned int?} [-Werror=sign-compare] 227 | if (_sb_l < 0 || _sb_l > _sb_remain) \ | ~~~~~~^~~~~~~~~~~~ """ Change-Id: I90e7374aa959468670f1c0ea65a427398d423ddb --- M include/osmocom/core/utils.h 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: osmith: Looks good to me, but someone else must approve Hoernchen: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/core/utils.h b/include/osmocom/core/utils.h index c9d5560..1c60390 100644 --- a/include/osmocom/core/utils.h +++ b/include/osmocom/core/utils.h @@ -224,7 +224,7 @@ (STRBUF).pos = (STRBUF).buf; \ size_t _sb_remain = (STRBUF).buf ? (STRBUF).len - ((STRBUF).pos - (STRBUF).buf) : 0; \ int _sb_l = func((STRBUF).pos, _sb_remain, ##args); \ - if (_sb_l < 0 || _sb_l > _sb_remain) \ + if (_sb_l < 0 || (size_t)_sb_l > _sb_remain) \ (STRBUF).pos = (STRBUF).buf + (STRBUF).len; \ else if ((STRBUF).pos) \ (STRBUF).pos += _sb_l; \ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25057 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I90e7374aa959468670f1c0ea65a427398d423ddb Gerrit-Change-Number: 25057 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel 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 Jul 29 07:18:56 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 29 Jul 2021 07:18:56 +0000 Subject: Change in osmo-pcu[master]: Replace ul_ass_state with osmocom FSM In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25056 ) Change subject: Replace ul_ass_state with osmocom FSM ...................................................................... Patch Set 4: (7 comments) The only problem I see is having two FSMs with the same ID seems strange, otherwise just some cosmetic comments, rest looks good! https://gerrit.osmocom.org/c/osmo-pcu/+/25056/4/src/tbf.cpp File src/tbf.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/25056/4/src/tbf.cpp at a767 PS4, Line 767: s X2000, why was this removed? (maybe it makes sense to do this in a separate commit and explain it there?) https://gerrit.osmocom.org/c/osmo-pcu/+/25056/4/src/tbf.cpp at 967 PS4, Line 967: osmo_fsm_inst_update_id(tbf->ul_ass_fsm.fi, buf); Why give two separate FSMs the same ID, wouldn't it be better to add some kind of suffix that differentiates them? https://gerrit.osmocom.org/c/osmo-pcu/+/25056/4/src/tbf_ul_ass_fsm.h File src/tbf_ul_ass_fsm.h: https://gerrit.osmocom.org/c/osmo-pcu/+/25056/4/src/tbf_ul_ass_fsm.h at 32 PS4, Line 32: TBF_UL_ASS_EV_CREATE_RLCMAC_MSG, /* Scheduler wants to gen+Tx the Ass (rej): data=tbf_ul_ass_ev_create_rlcmac_msg_ctx */ (line length) https://gerrit.osmocom.org/c/osmo-pcu/+/25056/4/src/tbf_ul_ass_fsm.h at 50 PS4, Line 50: assignment_fsm_timeouts where is assignment_fsm_timeouts defined? (I can't find it, maybe this has been renamed? it's also used two more times in other comments) https://gerrit.osmocom.org/c/osmo-pcu/+/25056/4/src/tbf_ul_ass_fsm.h at 52 PS4, Line 52: fi fi is passed as parameter, so this should be "the_pcu"? https://gerrit.osmocom.org/c/osmo-pcu/+/25056/4/src/tbf_ul_ass_fsm.h at 62 PS4, Line 62: MS_ANR_EV_CREATE_RLCMAC_MSG can't find this, do you mean TBF_UL_ASS_EV_CREATE_RLCMAC_MSG? https://gerrit.osmocom.org/c/osmo-pcu/+/25056/4/src/tbf_ul_ass_fsm.c File src/tbf_ul_ass_fsm.c: https://gerrit.osmocom.org/c/osmo-pcu/+/25056/4/src/tbf_ul_ass_fsm.c at 306 PS4, Line 306: bool tbf_ul_ass_rts(const struct gprs_rlcmac_tbf* tbf) assuming rts means.... ready to send? would be good to add it as comment (unless this is a very common abbreviation that I just didn't see much yet) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25056 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id414eafe9c04a9a8759c6fb1a483bf2ee093a4d2 Gerrit-Change-Number: 25056 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-Comment-Date: Thu, 29 Jul 2021 07:18:56 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 07:21:58 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 29 Jul 2021 07:21:58 +0000 Subject: Change in osmo-pcu[master]: tbf: Reimplement rlcmac_diag() and make it available from C In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25058 ) Change subject: tbf: Reimplement rlcmac_diag() and make it available from C ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25058 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3ad66f9f3f4d55d11da3a3b8b38656ae2dd50603 Gerrit-Change-Number: 25058 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 29 Jul 2021 07: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 Thu Jul 29 07:25:01 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 29 Jul 2021 07:25:01 +0000 Subject: Change in osmo-pcu[master]: tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_TO_UL_ASS In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25059 ) Change subject: tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_TO_UL_ASS ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25059 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I20aa7f83cc4f32de129e64c74a91745b983a7b16 Gerrit-Change-Number: 25059 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 29 Jul 2021 07:25: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 Jul 29 07:36:30 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 29 Jul 2021 07:36:30 +0000 Subject: Change in osmo-pcu[master]: Replace ul_ass_state with osmocom FSM In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25056 ) Change subject: Replace ul_ass_state with osmocom FSM ...................................................................... Patch Set 4: (3 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/25056/4/src/tbf_ul_ass_fsm.h File src/tbf_ul_ass_fsm.h: https://gerrit.osmocom.org/c/osmo-pcu/+/25056/4/src/tbf_ul_ass_fsm.h at 50 PS4, Line 50: assignment_fsm_timeouts > where is assignment_fsm_timeouts defined? (I can't find it, maybe this has been renamed? it's also u [?] (Same for "replace dl_ass_state with osmocom FSM" patch) https://gerrit.osmocom.org/c/osmo-pcu/+/25056/4/src/tbf_ul_ass_fsm.h at 52 PS4, Line 52: fi > fi is passed as parameter, so this should be "the_pcu"? (Same for "replace dl_ass_state with osmocom FSM" patch) https://gerrit.osmocom.org/c/osmo-pcu/+/25056/4/src/tbf_ul_ass_fsm.h at 62 PS4, Line 62: MS_ANR_EV_CREATE_RLCMAC_MSG > can't find this, do you mean TBF_UL_ASS_EV_CREATE_RLCMAC_MSG? (Same for "replace dl_ass_state with osmocom FSM" patch) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25056 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id414eafe9c04a9a8759c6fb1a483bf2ee093a4d2 Gerrit-Change-Number: 25056 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-Comment-Date: Thu, 29 Jul 2021 07:36:30 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 08:02:09 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 29 Jul 2021 08:02:09 +0000 Subject: Change in osmo-pcu[master]: replace dl_ass_state with osmocom FSM In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25060 ) Change subject: replace dl_ass_state with osmocom FSM ...................................................................... Patch Set 1: (6 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/25060/1/src/tbf_dl_ass_fsm.h File src/tbf_dl_ass_fsm.h: https://gerrit.osmocom.org/c/osmo-pcu/+/25060/1/src/tbf_dl_ass_fsm.h at 32 PS1, Line 32: Ul Dl? Same 2x below https://gerrit.osmocom.org/c/osmo-pcu/+/25060/1/src/tbf_dl_ass_fsm.h at 38 PS1, Line 38: downlonk downlink https://gerrit.osmocom.org/c/osmo-pcu/+/25060/1/src/tbf_dl_ass_fsm.c File src/tbf_dl_ass_fsm.c: https://gerrit.osmocom.org/c/osmo-pcu/+/25060/1/src/tbf_dl_ass_fsm.c at 72 PS1, Line 72: // FIXME: call tbf_dl_ass_fsm_state_chg(ctx->fi, TBF_DL_ASS_NONE); ? unresolved FIXME https://gerrit.osmocom.org/c/osmo-pcu/+/25060/1/src/tbf_dl_ass_fsm.c at 88 PS1, Line 88: // FIXME: call tbf_dl_ass_fsm_state_chg(ctx->fi, TBF_DL_ASS_NONE); ? unresolved FIXME https://gerrit.osmocom.org/c/osmo-pcu/+/25060/1/src/tbf_dl_ass_fsm.c at 93 PS1, Line 93: new_dl_tbf = ms_dl_tbf(ms); previous code had if(ms) around this. just to be sure, this was removed on purpose? (I wonder why it was there in the first place.) https://gerrit.osmocom.org/c/osmo-pcu/+/25060/1/src/tbf_dl_ass_fsm.c at 190 PS1, Line 190: Plt Ul Pkt Dl? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25060 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia33418478e17986a316ffda48b091030f53fa371 Gerrit-Change-Number: 25060 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-Comment-Date: Thu, 29 Jul 2021 08:02:09 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 08:06:52 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 29 Jul 2021 08:06:52 +0000 Subject: Change in osmo-pcu[master]: tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_TO_DL_ASS In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25061 ) Change subject: tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_TO_DL_ASS ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25061 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I13f92f058c219f230d57b3c00b8ae1d187603813 Gerrit-Change-Number: 25061 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 29 Jul 2021 08:06: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 Jul 29 08:09:12 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 29 Jul 2021 08:09:12 +0000 Subject: Change in osmo-pcu[master]: tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_UL_DATA In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25090 ) Change subject: tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_UL_DATA ...................................................................... Patch Set 1: (1 comment) *amount of flags slowly shrinking with each patch* https://gerrit.osmocom.org/c/osmo-pcu/+/25090/1/src/tbf.cpp File src/tbf.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/25090/1/src/tbf.cpp at 1005 PS1, Line 1005: No uplink data received yet| both cases print the same message? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25090 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1d993117c7daa2609b132c2d0fd748e0338ef559 Gerrit-Change-Number: 25090 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-Comment-Date: Thu, 29 Jul 2021 08:09: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 Thu Jul 29 08:12:21 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 29 Jul 2021 08:12:21 +0000 Subject: Change in osmo-pcu[master]: Replace ul_ass_state with osmocom FSM In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25056 ) Change subject: Replace ul_ass_state with osmocom FSM ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/25056/4/src/tbf_ul_ass_fsm.c File src/tbf_ul_ass_fsm.c: https://gerrit.osmocom.org/c/osmo-pcu/+/25056/4/src/tbf_ul_ass_fsm.c at 219 PS4, Line 219: Plt Pkt? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25056 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id414eafe9c04a9a8759c6fb1a483bf2ee093a4d2 Gerrit-Change-Number: 25056 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-Comment-Date: Thu, 29 Jul 2021 08:12:21 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 08:20:42 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 29 Jul 2021 08:20:42 +0000 Subject: Change in osmo-pcu[master]: Move timer X2001 to tbf_fsm In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25092 ) Change subject: Move timer X2001 to tbf_fsm ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25092 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib8ab2f7397ad05c6fcd5dd74af55a1e2c56e1463 Gerrit-Change-Number: 25092 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 29 Jul 2021 08:20:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 08:27:41 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 29 Jul 2021 08:27:41 +0000 Subject: Change in osmo-pcu[master]: Get rid of lots of code only used by tests In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25093 ) Change subject: Get rid of lots of code only used by tests ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/25093/1/tests/tbf/TbfTest.cpp File tests/tbf/TbfTest.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/25093/1/tests/tbf/TbfTest.cpp at 263 PS1, Line 263: #define RCV_ACK(fin, tbf, rbb) do { \ this macro is long and hard to read. can you convert it to a function? https://gerrit.osmocom.org/c/osmo-pcu/+/25093/1/tests/tbf/TbfTest.err File tests/tbf/TbfTest.err: https://gerrit.osmocom.org/c/osmo-pcu/+/25093/1/tests/tbf/TbfTest.err at 503 PS1, Line 503: 0 why is it not BSN=85 anymore? same below -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25093 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I14d9312cb61534dc97fca83141b9c0cd933c9206 Gerrit-Change-Number: 25093 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-Comment-Date: Thu, 29 Jul 2021 08:27:41 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 08:31:42 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 29 Jul 2021 08:31:42 +0000 Subject: Change in osmo-pcu[master]: tbf: Merge handle_ack_nack() into handle_ack_nack() In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25094 ) Change subject: tbf: Merge handle_ack_nack() into handle_ack_nack() ...................................................................... Patch Set 1: (1 comment) LGTM besides commit message https://gerrit.osmocom.org/c/osmo-pcu/+/25094/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-pcu/+/25094/1//COMMIT_MSG at 7 PS1, Line 7: handle_ack_nack rcvd_dl_ack -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25094 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I546d2e46bda96a2f551b28673464e57831c71828 Gerrit-Change-Number: 25094 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-Comment-Date: Thu, 29 Jul 2021 08:31:42 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 11:26:40 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 29 Jul 2021 11:26:40 +0000 Subject: Change in osmo-pcu[master]: replace dl_ass_state with osmocom FSM In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25060 ) Change subject: replace dl_ass_state with osmocom FSM ...................................................................... Patch Set 1: (3 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/25060/1/src/tbf_dl_ass_fsm.c File src/tbf_dl_ass_fsm.c: https://gerrit.osmocom.org/c/osmo-pcu/+/25060/1/src/tbf_dl_ass_fsm.c at 72 PS1, Line 72: // FIXME: call tbf_dl_ass_fsm_state_chg(ctx->fi, TBF_DL_ASS_NONE); ? > unresolved FIXME That's expected, it wasn't there in previous code I created this from, but while looking at it I saw we may want to use this later. This is left as an improvement for the future. https://gerrit.osmocom.org/c/osmo-pcu/+/25060/1/src/tbf_dl_ass_fsm.c at 88 PS1, Line 88: // FIXME: call tbf_dl_ass_fsm_state_chg(ctx->fi, TBF_DL_ASS_NONE); ? > unresolved FIXME Same as above. https://gerrit.osmocom.org/c/osmo-pcu/+/25060/1/src/tbf_dl_ass_fsm.c at 93 PS1, Line 93: new_dl_tbf = ms_dl_tbf(ms); > previous code had if(ms) around this. [?] Yes, I removed it on purpose while reworking the function in the new place, since a TBF is alweays granted to have an MS. That's a consequence of another big refactoring I did some months ago, and I'm slowly removing this kind of checks from code when I see them. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25060 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia33418478e17986a316ffda48b091030f53fa371 Gerrit-Change-Number: 25060 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-Comment-Date: Thu, 29 Jul 2021 11:26:40 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 11:30:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 29 Jul 2021 11:30:54 +0000 Subject: Change in osmo-pcu[master]: tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_UL_DATA In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25090 ) Change subject: tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_UL_DATA ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/25090/1/src/tbf.cpp File src/tbf.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/25090/1/src/tbf.cpp at 1005 PS1, Line 1005: No uplink data received yet| > both cases print the same message? Thanks for mentioning, it's of course wrong. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25090 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1d993117c7daa2609b132c2d0fd748e0338ef559 Gerrit-Change-Number: 25090 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-Comment-Date: Thu, 29 Jul 2021 11:30:54 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 11:45:16 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 29 Jul 2021 11:45:16 +0000 Subject: Change in osmo-pcu[master]: Replace ul_ass_state with osmocom FSM In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25056 ) Change subject: Replace ul_ass_state with osmocom FSM ...................................................................... Patch Set 4: (5 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/25056/4/src/tbf.cpp File src/tbf.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/25056/4/src/tbf.cpp at a767 PS4, Line 767: s X2000, > why was this removed? (maybe it makes sense to do this in a separate commit and explain it there?) Timer X2000 is moved inside the new FSM, so it's not handled by this pcu-specific mechansim anymore, but using usual osmocom FSM timer callback. https://gerrit.osmocom.org/c/osmo-pcu/+/25056/4/src/tbf.cpp at 967 PS4, Line 967: osmo_fsm_inst_update_id(tbf->ul_ass_fsm.fi, buf); > Why give two separate FSMs the same ID, wouldn't it be better to add some kind of suffix that differ [?] No need for that, the name of the FSM (which is different for the 2 types) always show up next to the id, so it's totally fine. Having same ID actually helps in quickly relating different FSMs to same TBF. https://gerrit.osmocom.org/c/osmo-pcu/+/25056/4/src/tbf_ul_ass_fsm.h File src/tbf_ul_ass_fsm.h: https://gerrit.osmocom.org/c/osmo-pcu/+/25056/4/src/tbf_ul_ass_fsm.h at 32 PS4, Line 32: TBF_UL_ASS_EV_CREATE_RLCMAC_MSG, /* Scheduler wants to gen+Tx the Ass (rej): data=tbf_ul_ass_ev_create_rlcmac_msg_ctx */ > (line length) I prefer keeping comment in one line even if it's a few chars too long. https://gerrit.osmocom.org/c/osmo-pcu/+/25056/4/src/tbf_ul_ass_fsm.h at 52 PS4, Line 52: fi > (Same for "replace dl_ass_state with osmocom FSM" patch) no, the comment is fine. "the_pcu" is actually a global variable which always exists :) https://gerrit.osmocom.org/c/osmo-pcu/+/25056/4/src/tbf_ul_ass_fsm.c File src/tbf_ul_ass_fsm.c: https://gerrit.osmocom.org/c/osmo-pcu/+/25056/4/src/tbf_ul_ass_fsm.c at 306 PS4, Line 306: bool tbf_ul_ass_rts(const struct gprs_rlcmac_tbf* tbf) > assuming rts means.... ready to send? would be good to add it as comment [?] It's common in different osmocom projects like osmo-bts. I'm already using same sort of naming for other FSMs such as the NACC one. These functions are basically used from the scheduler to know whether a related message is waiting to be preparted and sent. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25056 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id414eafe9c04a9a8759c6fb1a483bf2ee093a4d2 Gerrit-Change-Number: 25056 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-Comment-Date: Thu, 29 Jul 2021 11:45:16 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 11:58:32 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 29 Jul 2021 11:58:32 +0000 Subject: Change in osmo-pcu[master]: Replace ul_ass_state with osmocom FSM In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/25056 to look at the new patch set (#5). Change subject: Replace ul_ass_state with osmocom FSM ...................................................................... Replace ul_ass_state with osmocom FSM Related: OS#2709 Change-Id: Id414eafe9c04a9a8759c6fb1a483bf2ee093a4d2 --- M src/Makefile.am M src/encoding.cpp M src/encoding.h M src/gprs_rlcmac_sched.cpp M src/pdch.cpp M src/tbf.cpp M src/tbf.h M src/tbf_ul.cpp M src/tbf_ul.h A src/tbf_ul_ass_fsm.c A src/tbf_ul_ass_fsm.h M tests/alloc/AllocTest.err M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err M tests/types/TypesTest.err 15 files changed, 100,530 insertions(+), 208 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/56/25056/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25056 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id414eafe9c04a9a8759c6fb1a483bf2ee093a4d2 Gerrit-Change-Number: 25056 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 11:58:32 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 29 Jul 2021 11:58:32 +0000 Subject: Change in osmo-pcu[master]: tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_TO_UL_ASS 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/+/25059 to look at the new patch set (#3). Change subject: tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_TO_UL_ASS ...................................................................... tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_TO_UL_ASS The flag is only used to print some uninteresting stuff, let's drop it in order to simplify code. We can add later whatever we want in the new shiny FSM. Change-Id: I20aa7f83cc4f32de129e64c74a91745b983a7b16 --- M src/pdch.cpp M src/tbf.cpp M src/tbf.h M src/tbf_ul_ass_fsm.c M tests/tbf/TbfTest.err 5 files changed, 13 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/59/25059/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25059 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I20aa7f83cc4f32de129e64c74a91745b983a7b16 Gerrit-Change-Number: 25059 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 11:58:32 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 29 Jul 2021 11:58:32 +0000 Subject: Change in osmo-pcu[master]: replace dl_ass_state with osmocom FSM In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/25060 to look at the new patch set (#2). Change subject: replace dl_ass_state with osmocom FSM ...................................................................... replace dl_ass_state with osmocom FSM Related: OS#2709 Change-Id: Ia33418478e17986a316ffda48b091030f53fa371 --- M src/Makefile.am M src/encoding.cpp M src/encoding.h M src/gprs_rlcmac_sched.cpp M src/pdch.cpp M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp A src/tbf_dl_ass_fsm.c A src/tbf_dl_ass_fsm.h M src/tbf_ul.cpp M src/tbf_ul.h M tests/alloc/AllocTest.err M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err M tests/types/TypesTest.err 16 files changed, 100,488 insertions(+), 229 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/60/25060/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25060 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia33418478e17986a316ffda48b091030f53fa371 Gerrit-Change-Number: 25060 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 11:58:32 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 29 Jul 2021 11:58:32 +0000 Subject: Change in osmo-pcu[master]: tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_TO_DL_ASS 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/+/25061 to look at the new patch set (#2). Change subject: tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_TO_DL_ASS ...................................................................... tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_TO_DL_ASS The flag is only used to print some non interesting stuff, let's drop it in order to simplify code. We can add later whatever we want in the new shiny FSM. Change-Id: I13f92f058c219f230d57b3c00b8ae1d187603813 --- M src/pdch.cpp M src/tbf.cpp M src/tbf.h M src/tbf_dl_ass_fsm.c M tests/tbf/TbfTest.err 5 files changed, 14 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/61/25061/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25061 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I13f92f058c219f230d57b3c00b8ae1d187603813 Gerrit-Change-Number: 25061 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 11:58:32 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 29 Jul 2021 11:58:32 +0000 Subject: Change in osmo-pcu[master]: tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_UL_DATA In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/25090 to look at the new patch set (#2). Change subject: tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_UL_DATA ...................................................................... tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_UL_DATA Same information is available under ul_tbf->m_rx_counter. Change-Id: I1d993117c7daa2609b132c2d0fd748e0338ef559 --- M src/tbf.cpp M src/tbf.h M src/tbf_ul.cpp 3 files changed, 15 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/90/25090/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25090 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1d993117c7daa2609b132c2d0fd748e0338ef559 Gerrit-Change-Number: 25090 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 11:58:32 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 29 Jul 2021 11:58:32 +0000 Subject: Change in osmo-pcu[master]: Get rid of lots of code only used by tests 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/+/25093 to look at the new patch set (#2). Change subject: Get rid of lots of code only used by tests ...................................................................... Get rid of lots of code only used by tests There are 2 methods "rcvd_dl_ack()" in osmo-pcu code. One is used by osmo-pcu itself, and the other is only used in tests. Changing the tests to use the same method as osmo-pcu allows removing the second one, and with it, a lot of code and complexity out of osmo-pcu. Change-Id: I14d9312cb61534dc97fca83141b9c0cd933c9206 --- M src/decoding.cpp M src/decoding.h M src/encoding.cpp M src/encoding.h M src/tbf_dl.cpp M src/tbf_dl.h M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err M tests/types/TypesTest.cpp 9 files changed, 129 insertions(+), 127 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/93/25093/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25093 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I14d9312cb61534dc97fca83141b9c0cd933c9206 Gerrit-Change-Number: 25093 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 11:58:32 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 29 Jul 2021 11:58:32 +0000 Subject: Change in osmo-pcu[master]: tbf: Merge handle_ack_nack() into rcvd_dl_ack() In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/25094 to look at the new patch set (#2). Change subject: tbf: Merge handle_ack_nack() into rcvd_dl_ack() ...................................................................... tbf: Merge handle_ack_nack() into rcvd_dl_ack() There's no real use in having those 2 methods separately, and only adds complexity. Let's merge it to have 1 TBF code path handling DL ACK/NACK. Change-Id: I546d2e46bda96a2f551b28673464e57831c71828 --- M src/pdch.cpp M src/tbf_dl.cpp M src/tbf_dl.h M tests/tbf/TbfTest.err 4 files changed, 9 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/94/25094/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25094 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I546d2e46bda96a2f551b28673464e57831c71828 Gerrit-Change-Number: 25094 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 11:58:48 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 29 Jul 2021 11:58:48 +0000 Subject: Change in osmo-pcu[master]: Fix typos in comments documenting fsm st chg macro References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25095 ) Change subject: Fix typos in comments documenting fsm st chg macro ...................................................................... Fix typos in comments documenting fsm st chg macro Change-Id: I8f1cef5810c84441f7d6d2fbe5b3106e0ae71b69 --- M src/nacc_fsm.c M src/tbf_fsm.h 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/95/25095/1 diff --git a/src/nacc_fsm.c b/src/nacc_fsm.c index d2702d4..9a5f5b5 100644 --- a/src/nacc_fsm.c +++ b/src/nacc_fsm.c @@ -53,7 +53,7 @@ [NACC_ST_DONE] = {}, }; -/* Transition to a state, using the T timer defined in assignment_fsm_timeouts. +/* Transition to a state, using the T timer defined in nacc_fsm_timeouts. * The actual timeout value is in turn obtained from conn->T_defs. * Assumes local variable fi exists. */ diff --git a/src/tbf_fsm.h b/src/tbf_fsm.h index 1874bc3..9d2919d 100644 --- a/src/tbf_fsm.h +++ b/src/tbf_fsm.h @@ -57,7 +57,7 @@ }; extern const struct osmo_tdef_state_timeout tbf_fsm_timeouts[32]; -/* Transition to a state, using the T timer defined in assignment_fsm_timeouts. +/* Transition to a state, using the T timer defined in tbf_fsm_timeouts. * The actual timeout value is in turn obtained from conn->T_defs. * Assumes local variable fi exists. */ #define tbf_fsm_state_chg(fi, NEXT_STATE) \ -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25095 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8f1cef5810c84441f7d6d2fbe5b3106e0ae71b69 Gerrit-Change-Number: 25095 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-CC: Jenkins Builder Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 12:27:02 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 29 Jul 2021 12:27:02 +0000 Subject: Change in osmo-pcu[master]: Get rid of lots of code only used by tests In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25093 ) Change subject: Get rid of lots of code only used by tests ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/25093/1/tests/tbf/TbfTest.err File tests/tbf/TbfTest.err: https://gerrit.osmocom.org/c/osmo-pcu/+/25093/1/tests/tbf/TbfTest.err at 503 PS1, Line 503: 0 > why is it not BSN=85 anymore? same below Because last one was wrong (and nobody cared because it's not used in osmo-pcu). This line relates to first RCV_ACK in test_tbf_delayed_release(). In request_dl_rlc_block(), TBF starts sending with BSN 0. The previous update_window() method only used in the test was assuming first_bsn was always SSN-64, which of course didn't make sense here since we are using SSN of 1, 2, etc. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25093 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I14d9312cb61534dc97fca83141b9c0cd933c9206 Gerrit-Change-Number: 25093 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-Comment-Date: Thu, 29 Jul 2021 12:27:02 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Thu Jul 29 12:30:18 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 29 Jul 2021 12:30:18 +0000 Subject: Build failure of network:osmocom:latest/libusrp in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <61029f5e9ddb8_85c2abbf30105fc15174e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/libusrp/Debian_Unstable/x86_64 Package network:osmocom:latest/libusrp failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest libusrp Last lines of build log: [ 240s] libtool: compile: g++ -DPACKAGE_NAME=\"libusrp\" -DPACKAGE_TARNAME=\"libusrp\" -DPACKAGE_VERSION=\"3.4.5\" "-DPACKAGE_STRING=\"libusrp 3.4.5\"" -DPACKAGE_BUGREPORT=\"openbsc at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libusrp\" -DVERSION=\"3.4.5\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" "-DHAVE_BOOST=/**/" "-DHAVE_BOOST_THREAD=/**/" "-DHAVE_BOOST_DATE_TIME=/**/" "-DHAVE_BOOST_FILESYSTEM=/**/" "-DHAVE_BOOST_PROGRAM_OPTIONS=/**/" "-DHAVE_BOOST_SYSTEM=/**/" -I. -I../../host/include -I../../host/include -I../../firmware/include -pthread -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -c db_bitshark_rx.cc -fPIC -DPIC -o .libs/db_bitshark_rx.o [ 241s] In file included from /usr/include/string.h:495, [ 241s] from db_bitshark_rx.cc:29: [ 241s] In function 'void* memcpy(void*, const void*, size_t)', [ 241s] inlined from 'virtual bool db_bitshark_rx::set_bw(float)' at db_bitshark_rx.cc:207:11: [ 241s] /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34:33: warning: 'void* __builtin_memcpy(void*, const void*, long unsigned int)' reading 4 bytes from a region of size 2 [-Wstringop-overflow=] [ 241s] 34 | return __builtin___memcpy_chk (__dest, __src, __len, __bos0 (__dest)); [ 241s] | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 241s] /bin/bash ../../libtool --tag=CXX --mode=compile g++ -DPACKAGE_NAME=\"libusrp\" -DPACKAGE_TARNAME=\"libusrp\" -DPACKAGE_VERSION=\"3.4.5\" -DPACKAGE_STRING=\"libusrp\ 3.4.5\" -DPACKAGE_BUGREPORT=\"openbsc at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libusrp\" -DVERSION=\"3.4.5\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_BOOST=/\*\*/ -DHAVE_BOOST_THREAD=/\*\*/ -DHAVE_BOOST_DATE_TIME=/\*\*/ -DHAVE_BOOST_FILESYSTEM=/\*\*/ -DHAVE_BOOST_PROGRAM_OPTIONS=/\*\*/ -DHAVE_BOOST_SYSTEM=/\*\*/ -I. -I../../host/include -I../../host/include -I../../firmware/include -pthread -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -c -o db_tv_rx.lo db_tv_rx.cc [ 241s] libtool: compile: g++ -DPACKAGE_NAME=\"libusrp\" -DPACKAGE_TARNAME=\"libusrp\" -DPACKAGE_VERSION=\"3.4.5\" "-DPACKAGE_STRING=\"libusrp 3.4.5\"" -DPACKAGE_BUGREPORT=\"openbsc at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libusrp\" -DVERSION=\"3.4.5\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" "-DHAVE_BOOST=/**/" "-DHAVE_BOOST_THREAD=/**/" "-DHAVE_BOOST_DATE_TIME=/**/" "-DHAVE_BOOST_FILESYSTEM=/**/" "-DHAVE_BOOST_PROGRAM_OPTIONS=/**/" "-DHAVE_BOOST_SYSTEM=/**/" -I. -I../../host/include -I../../host/include -I../../firmware/include -pthread -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -c db_tv_rx.cc -fPIC -DPIC -o .libs/db_tv_rx.o [ 242s] /bin/bash ../../libtool --tag=CXX --mode=compile g++ -DPACKAGE_NAME=\"libusrp\" -DPACKAGE_TARNAME=\"libusrp\" -DPACKAGE_VERSION=\"3.4.5\" -DPACKAGE_STRING=\"libusrp\ 3.4.5\" -DPACKAGE_BUGREPORT=\"openbsc at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libusrp\" -DVERSION=\"3.4.5\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_BOOST=/\*\*/ -DHAVE_BOOST_THREAD=/\*\*/ -DHAVE_BOOST_DATE_TIME=/\*\*/ -DHAVE_BOOST_FILESYSTEM=/\*\*/ -DHAVE_BOOST_PROGRAM_OPTIONS=/\*\*/ -DHAVE_BOOST_SYSTEM=/\*\*/ -I. -I../../host/include -I../../host/include -I../../firmware/include -pthread -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -c -o db_tv_rx_mimo.lo db_tv_rx_mimo.cc [ 243s] libtool: compile: g++ -DPACKAGE_NAME=\"libusrp\" -DPACKAGE_TARNAME=\"libusrp\" -DPACKAGE_VERSION=\"3.4.5\" "-DPACKAGE_STRING=\"libusrp 3.4.5\"" -DPACKAGE_BUGREPORT=\"openbsc at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libusrp\" -DVERSION=\"3.4.5\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" "-DHAVE_BOOST=/**/" "-DHAVE_BOOST_THREAD=/**/" "-DHAVE_BOOST_DATE_TIME=/**/" "-DHAVE_BOOST_FILESYSTEM=/**/" "-DHAVE_BOOST_PROGRAM_OPTIONS=/**/" "-DHAVE_BOOST_SYSTEM=/**/" -I. -I../../host/include -I../../host/include -I../../firmware/include -pthread -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -c db_tv_rx_mimo.cc -fPIC -DPIC -o .libs/db_tv_rx_mimo.o [ 243s] /bin/bash ../../libtool --tag=CXX --mode=compile g++ -DPACKAGE_NAME=\"libusrp\" -DPACKAGE_TARNAME=\"libusrp\" -DPACKAGE_VERSION=\"3.4.5\" -DPACKAGE_STRING=\"libusrp\ 3.4.5\" -DPACKAGE_BUGREPORT=\"openbsc at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libusrp\" -DVERSION=\"3.4.5\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_BOOST=/\*\*/ -DHAVE_BOOST_THREAD=/\*\*/ -DHAVE_BOOST_DATE_TIME=/\*\*/ -DHAVE_BOOST_FILESYSTEM=/\*\*/ -DHAVE_BOOST_PROGRAM_OPTIONS=/\*\*/ -DHAVE_BOOST_SYSTEM=/\*\*/ -I. -I../../host/include -I../../host/include -I../../firmware/include -pthread -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -c -o db_flexrf.lo db_flexrf.cc [ 244s] libtool: compile: g++ -DPACKAGE_NAME=\"libusrp\" -DPACKAGE_TARNAME=\"libusrp\" -DPACKAGE_VERSION=\"3.4.5\" "-DPACKAGE_STRING=\"libusrp 3.4.5\"" -DPACKAGE_BUGREPORT=\"openbsc at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libusrp\" -DVERSION=\"3.4.5\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" "-DHAVE_BOOST=/**/" "-DHAVE_BOOST_THREAD=/**/" "-DHAVE_BOOST_DATE_TIME=/**/" "-DHAVE_BOOST_FILESYSTEM=/**/" "-DHAVE_BOOST_PROGRAM_OPTIONS=/**/" "-DHAVE_BOOST_SYSTEM=/**/" -I. -I../../host/include -I../../host/include -I../../firmware/include -pthread -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -c db_flexrf.cc -fPIC -DPIC -o .libs/db_flexrf.o [ 246s] /bin/bash ../../libtool --tag=CXX --mode=compile g++ -DPACKAGE_NAME=\"libusrp\" -DPACKAGE_TARNAME=\"libusrp\" -DPACKAGE_VERSION=\"3.4.5\" -DPACKAGE_STRING=\"libusrp\ 3.4.5\" -DPACKAGE_BUGREPORT=\"openbsc at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libusrp\" -DVERSION=\"3.4.5\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_BOOST=/\*\*/ -DHAVE_BOOST_THREAD=/\*\*/ -DHAVE_BOOST_DATE_TIME=/\*\*/ -DHAVE_BOOST_FILESYSTEM=/\*\*/ -DHAVE_BOOST_PROGRAM_OPTIONS=/\*\*/ -DHAVE_BOOST_SYSTEM=/\*\*/ -I. -I../../host/include -I../../host/include -I../../firmware/include -pthread -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -c -o db_flexrf_mimo.lo db_flexrf_mimo.cc [ 246s] libtool: compile: g++ -DPACKAGE_NAME=\"libusrp\" -DPACKAGE_TARNAME=\"libusrp\" -DPACKAGE_VERSION=\"3.4.5\" "-DPACKAGE_STRING=\"libusrp 3.4.5\"" -DPACKAGE_BUGREPORT=\"openbsc at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libusrp\" -DVERSION=\"3.4.5\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" "-DHAVE_BOOST=/**/" "-DHAVE_BOOST_THREAD=/**/" "-DHAVE_BOOST_DATE_TIME=/**/" "-DHAVE_BOOST_FILESYSTEM=/**/" "-DHAVE_BOOST_PROGRAM_OPTIONS=/**/" "-DHAVE_BOOST_SYSTEM=/**/" -I. -I../../host/include -I../../host/include -I../../firmware/include -pthread -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -c db_flexrf_mimo.cc -fPIC -DPIC -o .libs/db_flexrf_mimo.o [ 247s] /bin/bash ../../libtool --tag=CXX --mode=compile g++ -DPACKAGE_NAME=\"libusrp\" -DPACKAGE_TARNAME=\"libusrp\" -DPACKAGE_VERSION=\"3.4.5\" -DPACKAGE_STRING=\"libusrp\ 3.4.5\" -DPACKAGE_BUGREPORT=\"openbsc at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libusrp\" -DVERSION=\"3.4.5\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_BOOST=/\*\*/ -DHAVE_BOOST_THREAD=/\*\*/ -DHAVE_BOOST_DATE_TIME=/\*\*/ -DHAVE_BOOST_FILESYSTEM=/\*\*/ -DHAVE_BOOST_PROGRAM_OPTIONS=/\*\*/ -DHAVE_BOOST_SYSTEM=/\*\*/ -I. -I../../host/include -I../../host/include -I../../firmware/include -pthread -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -c -o db_dbs_rx.lo db_dbs_rx.cc [ 247s] libtool: compile: g++ -DPACKAGE_NAME=\"libusrp\" -DPACKAGE_TARNAME=\"libusrp\" -DPACKAGE_VERSION=\"3.4.5\" "-DPACKAGE_STRING=\"libusrp 3.4.5\"" -DPACKAGE_BUGREPORT=\"openbsc at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libusrp\" -DVERSION=\"3.4.5\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" "-DHAVE_BOOST=/**/" "-DHAVE_BOOST_THREAD=/**/" "-DHAVE_BOOST_DATE_TIME=/**/" "-DHAVE_BOOST_FILESYSTEM=/**/" "-DHAVE_BOOST_PROGRAM_OPTIONS=/**/" "-DHAVE_BOOST_SYSTEM=/**/" -I. -I../../host/include -I../../host/include -I../../firmware/include -pthread -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -c db_dbs_rx.cc -fPIC -DPIC -o .libs/db_dbs_rx.o [ 249s] /bin/bash ../../libtool --tag=CXX --mode=compile g++ -DPACKAGE_NAME=\"libusrp\" -DPACKAGE_TARNAME=\"libusrp\" -DPACKAGE_VERSION=\"3.4.5\" -DPACKAGE_STRING=\"libusrp\ 3.4.5\" -DPACKAGE_BUGREPORT=\"openbsc at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libusrp\" -DVERSION=\"3.4.5\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_BOOST=/\*\*/ -DHAVE_BOOST_THREAD=/\*\*/ -DHAVE_BOOST_DATE_TIME=/\*\*/ -DHAVE_BOOST_FILESYSTEM=/\*\*/ -DHAVE_BOOST_PROGRAM_OPTIONS=/\*\*/ -DHAVE_BOOST_SYSTEM=/\*\*/ -I. -I../../host/include -I../../host/include -I../../firmware/include -pthread -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -c -o db_wbxng.lo db_wbxng.cc [ 249s] libtool: compile: g++ -DPACKAGE_NAME=\"libusrp\" -DPACKAGE_TARNAME=\"libusrp\" -DPACKAGE_VERSION=\"3.4.5\" "-DPACKAGE_STRING=\"libusrp 3.4.5\"" -DPACKAGE_BUGREPORT=\"openbsc at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libusrp\" -DVERSION=\"3.4.5\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" "-DHAVE_BOOST=/**/" "-DHAVE_BOOST_THREAD=/**/" "-DHAVE_BOOST_DATE_TIME=/**/" "-DHAVE_BOOST_FILESYSTEM=/**/" "-DHAVE_BOOST_PROGRAM_OPTIONS=/**/" "-DHAVE_BOOST_SYSTEM=/**/" -I. -I../../host/include -I../../host/include -I../../firmware/include -pthread -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -c db_wbxng.cc -fPIC -DPIC -o .libs/db_wbxng.o [ 251s] /bin/bash ../../libtool --tag=CXX --mode=compile g++ -DPACKAGE_NAME=\"libusrp\" -DPACKAGE_TARNAME=\"libusrp\" -DPACKAGE_VERSION=\"3.4.5\" -DPACKAGE_STRING=\"libusrp\ 3.4.5\" -DPACKAGE_BUGREPORT=\"openbsc at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libusrp\" -DVERSION=\"3.4.5\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_BOOST=/\*\*/ -DHAVE_BOOST_THREAD=/\*\*/ -DHAVE_BOOST_DATE_TIME=/\*\*/ -DHAVE_BOOST_FILESYSTEM=/\*\*/ -DHAVE_BOOST_PROGRAM_OPTIONS=/\*\*/ -DHAVE_BOOST_SYSTEM=/\*\*/ -I. -I../../host/include -I../../host/include -I../../firmware/include -pthread -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -c -o db_xcvr2450.lo db_xcvr2450.cc [ 251s] libtool: compile: g++ -DPACKAGE_NAME=\"libusrp\" -DPACKAGE_TARNAME=\"libusrp\" -DPACKAGE_VERSION=\"3.4.5\" "-DPACKAGE_STRING=\"libusrp 3.4.5\"" -DPACKAGE_BUGREPORT=\"openbsc at lists.osmocom.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libusrp\" -DVERSION=\"3.4.5\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" "-DHAVE_BOOST=/**/" "-DHAVE_BOOST_THREAD=/**/" "-DHAVE_BOOST_DATE_TIME=/**/" "-DHAVE_BOOST_FILESYSTEM=/**/" "-DHAVE_BOOST_PROGRAM_OPTIONS=/**/" "-DHAVE_BOOST_SYSTEM=/**/" -I. -I../../host/include -I../../host/include -I../../firmware/include -pthread -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -c db_xcvr2450.cc -fPIC -DPIC -o .libs/db_xcvr2450.o Job seems to be stuck here, killed. (after 28800 seconds of inactivity) [29060s] qemu-kvm: terminating on signal 15 from pid 20679 () [29060s] ### VM INTERACTION END ### [29060s] No buildstatus set, either the base system is broken (kernel/initrd/udev/glibc/bash/perl) [29060s] or the build host has a kernel or hardware problem... -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu Jul 29 12:41:49 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 29 Jul 2021 12:41:49 +0000 Subject: Change in osmo-bsc[master]: Clarify string name for GSM_CHREQ_REASON_CALL References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25096 ) Change subject: Clarify string name for GSM_CHREQ_REASON_CALL ...................................................................... Clarify string name for GSM_CHREQ_REASON_CALL The previous naming was confusing since when appearing on log files it seemed to mean the reason was mainly only call reestablishment, when it actually means either call establishment (the usual reason) OR call re-establishment (should happen seldomly). Let's add some parenthesis to make it clearer. Related: SYS#5548 Change-Id: Id2dccd71803335c284a5ba271fa7f7890d253c27 --- M src/osmo-bsc/gsm_data.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/96/25096/1 diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index 7140ad7..4db70f0 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -172,7 +172,7 @@ const struct value_string gsm_chreq_descs[] = { { GSM_CHREQ_REASON_EMERG, "emergency call" }, { GSM_CHREQ_REASON_PAG, "answer to paging" }, - { GSM_CHREQ_REASON_CALL, "call re-establishment" }, + { GSM_CHREQ_REASON_CALL, "call (re-)establishment" }, { GSM_CHREQ_REASON_LOCATION_UPD,"Location updating" }, { GSM_CHREQ_REASON_PDCH, "one phase packet access" }, { GSM_CHREQ_REASON_OTHER, "other" }, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25096 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id2dccd71803335c284a5ba271fa7f7890d253c27 Gerrit-Change-Number: 25096 Gerrit-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 Jul 29 12:43:49 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 29 Jul 2021 12:43:49 +0000 Subject: Change in osmo-bsc[master]: coverity: quench null deref warning in gscon_change_primary_lchan() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25097 ) Change subject: coverity: quench null deref warning in gscon_change_primary_lchan() ...................................................................... coverity: quench null deref warning in gscon_change_primary_lchan() The if conditions for logging an lchan change made it look like new_lchan might actually be NULL, which it never is. So rather pin new_lchan as non-NULL with an assert and simplify the logic. Related: CID#237146 Related: b0d854556dafe885d740346b1b34ab247cb09d56 Change-Id: I8859c6cb9b3b15287e339ce4b6815b946965d0d9 --- M src/osmo-bsc/bsc_subscr_conn_fsm.c 1 file changed, 4 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/97/25097/1 diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index 671f065..afb633d 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -699,13 +699,15 @@ /* On release, do not receive release events that look like the primary lchan is gone. */ struct gsm_lchan *old_lchan = conn->lchan; + OSMO_ASSERT(new_lchan); + if (old_lchan == new_lchan) return; - if (!old_lchan && new_lchan) + if (!old_lchan) LOGPFSML(conn->fi, LOGL_DEBUG, "setting primary lchan for this conn to %s\n", new_lchan->fi? osmo_fsm_inst_name(new_lchan->fi) : gsm_lchan_name(new_lchan)); - else if (old_lchan && new_lchan) + else LOGPFSML(conn->fi, LOGL_DEBUG, "primary lchan for this conn changes from %s to %s\n", old_lchan->fi? osmo_fsm_inst_name(old_lchan->fi) : gsm_lchan_name(old_lchan), new_lchan->fi? osmo_fsm_inst_name(new_lchan->fi) : gsm_lchan_name(new_lchan)); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25097 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8859c6cb9b3b15287e339ce4b6815b946965d0d9 Gerrit-Change-Number: 25097 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 Jul 29 12:52:05 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 29 Jul 2021 12:52:05 +0000 Subject: Change in osmo-bsc[master]: coverity: quench null deref warning in gscon_change_primary_lchan() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25097 ) Change subject: coverity: quench null deref warning in gscon_change_primary_lchan() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25097 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8859c6cb9b3b15287e339ce4b6815b946965d0d9 Gerrit-Change-Number: 25097 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 29 Jul 2021 12:52: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 Jul 29 13:07:23 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 29 Jul 2021 13:07:23 +0000 Subject: Change in osmo-dev[master]: gen_makefile.py: add make rules for all projects References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-dev/+/25098 ) Change subject: gen_makefile.py: add make rules for all projects ...................................................................... gen_makefile.py: add make rules for all projects Allow to easily build any Osmocom project in a build directory generated by osmo-dev, even if it is not listed in the specified .deps file. This avoids the need to set up a new build directory and build common dependencies (e.g. libosmocore) again. All rules that act on multiple projects (default make target "all", "clone", "clean" "all-install") will still only take the selected projects into account. The idea is to extend deps.all on demand. Currently it contains everything from 3G+2G.deps plus: - osmo-bts - osmo-gbproxy - osmo-pcap - osmo-pcu Change-Id: Ibb932f36a9f97d6e9f3d69f4ce63b738fbb640fe --- M 2G.deps M 3G+2G.deps A all.deps M gen_makefile.py 4 files changed, 59 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-dev refs/changes/98/25098/1 diff --git a/2G.deps b/2G.deps index c090b6e..2d0745b 100644 --- a/2G.deps +++ b/2G.deps @@ -1,3 +1,4 @@ +# Note: Add new projects to all.deps too # project build these first libosmocore libosmo-abis libosmocore diff --git a/3G+2G.deps b/3G+2G.deps index b4372fd..7f9009e 100644 --- a/3G+2G.deps +++ b/3G+2G.deps @@ -1,3 +1,4 @@ +# Note: Add new projects to all.deps too # project build these first libosmocore libosmo-abis libosmocore diff --git a/all.deps b/all.deps new file mode 100644 index 0000000..7685ed5 --- /dev/null +++ b/all.deps @@ -0,0 +1,26 @@ +# List of *all* Osmocom projects that one might want to build with osmo-dev. +# Make targets get created for these projects, even if they are not in the +# .deps file passed to gen_makefile.py, so they can be conveniently built from +# any build dir generated by osmo-dev. + +# project build these first +libasn1c +libosmo-abis libosmocore +libosmo-netif libosmo-abis +libosmo-sccp libosmo-netif +libosmocore +libsmpp34 +osmo-bsc libosmo-sccp osmo-mgw +osmo-bts libosmocore, libosmo-abis +osmo-gbproxy libosmocore +osmo-ggsn libosmocore +osmo-hlr libosmo-abis +osmo-iuh libosmo-sccp libasn1c +osmo-mgw libosmo-netif +osmo-msc osmo-iuh osmo-mgw libsmpp34 osmo-hlr +osmo-pcap libosmocore +osmo-pcu libosmocore +osmo-sgsn osmo-iuh osmo-ggsn osmo-hlr +osmo-sip-connector libosmocore +osmo-smlc libosmo-sccp +osmo-trx libosmocore diff --git a/gen_makefile.py b/gen_makefile.py index ad42978..fb81aac 100755 --- a/gen_makefile.py +++ b/gen_makefile.py @@ -148,7 +148,9 @@ return {} return dict(read_projects_deps(path)) -def gen_make(proj, deps, configure_opts, jobs, make_dir, src_dir, build_dir, url, push_url, sudo_make_install, no_ldconfig, ldconfig_without_sudo, make_check): +def gen_make(proj, deps, configure_opts, jobs, make_dir, src_dir, build_dir, + url, push_url, sudo_make_install, no_ldconfig, + ldconfig_without_sudo, make_check, deps_file): src_proj = os.path.join(src_dir, proj) if proj == 'openbsc': src_proj = os.path.join(src_proj, 'openbsc') @@ -165,7 +167,7 @@ configure_opts_str = '' return r''' -### {proj} ### +### {proj} ({deps_file}) ### {proj}_configure_files := $(shell find {src_proj} -name "Makefile.am" -or -name "*.in" -and -not -name "Makefile.in" -and -not -name "config.h.in" ) {proj}_files := $(shell find {src_proj} -name "*.[hc]" -or -name "*.py" -or -name "*.cpp" -or -name "*.tpl" -or -name "*.map") @@ -228,6 +230,7 @@ src_proj=make_to_src_proj, build_proj=make_to_build_proj, build_to_src=build_to_src, + deps_file=deps_file, deps_installed=' '.join(['.make.%s.install' % d for d in deps]), deps_reinstall=' '.join(['%s-reinstall' %d for d in deps]), configure_opts=configure_opts_str, @@ -312,13 +315,31 @@ out.write('all-install: \\\n\t' + ' \\\n\t'.join([ '.make.%s.install' % p for p, d in projects_deps ]) + '\n\n') - for proj, deps in projects_deps: - all_config_opts = [] - all_config_opts.extend(configure_opts.get('ALL') or []) - all_config_opts.extend(configure_opts.get(proj) or []) - out.write(gen_make(proj, deps, all_config_opts, args.jobs, - make_dir, args.src_dir, build_dir, args.url, args.push_url, - args.sudo_make_install, args.no_ldconfig, - args.ldconfig_without_sudo, args.make_check)) + # iterate over projects in the selected projects_deps file (e.g. 2G.deps) + # first, then iterate over all projects (all.deps) and add missing ones. this + # allows overriding projects and dependencies in the selected file, but also + # having make rules for all projects available to quickly build them without + # setting up a new build directory first. + projects = [x[0] for x in projects_deps] + for is_all in [False, True]: + deps_file = args.projects_and_deps_file + proj_deps = projects_deps + + if is_all: + deps_file = "all.deps" + deps_file_path = os.path.join(os.path.dirname(__file__), deps_file) + proj_deps = read_projects_deps(deps_file_path) + + for proj, deps in proj_deps: + if is_all and proj in projects: + continue + all_config_opts = [] + all_config_opts.extend(configure_opts.get('ALL') or []) + all_config_opts.extend(configure_opts.get(proj) or []) + out.write(gen_make(proj, deps, all_config_opts, args.jobs, + make_dir, args.src_dir, build_dir, args.url, args.push_url, + args.sudo_make_install, args.no_ldconfig, + args.ldconfig_without_sudo, args.make_check, + deps_file)) # vim: expandtab tabstop=2 shiftwidth=2 -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/25098 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: Ibb932f36a9f97d6e9f3d69f4ce63b738fbb640fe Gerrit-Change-Number: 25098 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 13:15:10 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 29 Jul 2021 13:15:10 +0000 Subject: Change in osmo-pcu[master]: Replace ul_ass_state with osmocom FSM In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25056 ) Change subject: Replace ul_ass_state with osmocom FSM ...................................................................... Patch Set 5: Code-Review+1 (3 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/25056/4/src/tbf.cpp File src/tbf.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/25056/4/src/tbf.cpp at 967 PS4, Line 967: osmo_fsm_inst_update_id(tbf->ul_ass_fsm.fi, buf); > No need for that, the name of the FSM (which is different for the 2 types) always show up next to th [?] Ack https://gerrit.osmocom.org/c/osmo-pcu/+/25056/4/src/tbf_ul_ass_fsm.h File src/tbf_ul_ass_fsm.h: https://gerrit.osmocom.org/c/osmo-pcu/+/25056/4/src/tbf_ul_ass_fsm.h at 32 PS4, Line 32: TBF_UL_ASS_EV_CREATE_RLCMAC_MSG, /* Scheduler wants to gen+Tx the Ass (rej): data=tbf_ul_ass_ev_create_rlcmac_msg_ctx */ > I prefer keeping comment in one line even if it's a few chars too long. Ack https://gerrit.osmocom.org/c/osmo-pcu/+/25056/4/src/tbf_ul_ass_fsm.h at 52 PS4, Line 52: fi > no, the comment is fine. [?] Ack -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25056 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id414eafe9c04a9a8759c6fb1a483bf2ee093a4d2 Gerrit-Change-Number: 25056 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 29 Jul 2021 13:15:10 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: osmith 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 Jul 29 13:15:56 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 29 Jul 2021 13:15:56 +0000 Subject: Change in osmo-pcu[master]: tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_TO_UL_ASS In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25059 ) Change subject: tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_TO_UL_ASS ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25059 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I20aa7f83cc4f32de129e64c74a91745b983a7b16 Gerrit-Change-Number: 25059 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 29 Jul 2021 13:15:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 13:18:34 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 29 Jul 2021 13:18:34 +0000 Subject: Change in osmo-pcu[master]: Replace ul_ass_state with osmocom FSM In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25056 ) Change subject: Replace ul_ass_state with osmocom FSM ...................................................................... Patch Set 5: (4 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/25056/4/src/tbf_ul_ass_fsm.h File src/tbf_ul_ass_fsm.h: https://gerrit.osmocom.org/c/osmo-pcu/+/25056/4/src/tbf_ul_ass_fsm.h at 50 PS4, Line 50: assignment_fsm_timeouts > (Same for "replace dl_ass_state with osmocom FSM" patch) Done https://gerrit.osmocom.org/c/osmo-pcu/+/25056/4/src/tbf_ul_ass_fsm.h at 62 PS4, Line 62: MS_ANR_EV_CREATE_RLCMAC_MSG > (Same for "replace dl_ass_state with osmocom FSM" patch) Done https://gerrit.osmocom.org/c/osmo-pcu/+/25056/4/src/tbf_ul_ass_fsm.c File src/tbf_ul_ass_fsm.c: https://gerrit.osmocom.org/c/osmo-pcu/+/25056/4/src/tbf_ul_ass_fsm.c at 219 PS4, Line 219: Plt > Pkt? Done https://gerrit.osmocom.org/c/osmo-pcu/+/25056/4/src/tbf_ul_ass_fsm.c at 306 PS4, Line 306: bool tbf_ul_ass_rts(const struct gprs_rlcmac_tbf* tbf) > It's common in different osmocom projects like osmo-bts. [?] Ack -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25056 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id414eafe9c04a9a8759c6fb1a483bf2ee093a4d2 Gerrit-Change-Number: 25056 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 29 Jul 2021 13:18:34 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: osmith 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 Jul 29 13:19:36 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 29 Jul 2021 13:19:36 +0000 Subject: Change in osmo-pcu[master]: replace dl_ass_state with osmocom FSM In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25060 ) Change subject: replace dl_ass_state with osmocom FSM ...................................................................... Patch Set 2: Code-Review+1 (6 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/25060/1/src/tbf_dl_ass_fsm.h File src/tbf_dl_ass_fsm.h: https://gerrit.osmocom.org/c/osmo-pcu/+/25060/1/src/tbf_dl_ass_fsm.h at 32 PS1, Line 32: Ul > Dl? Same 2x below Done https://gerrit.osmocom.org/c/osmo-pcu/+/25060/1/src/tbf_dl_ass_fsm.h at 38 PS1, Line 38: downlonk > downlink Done https://gerrit.osmocom.org/c/osmo-pcu/+/25060/1/src/tbf_dl_ass_fsm.c File src/tbf_dl_ass_fsm.c: https://gerrit.osmocom.org/c/osmo-pcu/+/25060/1/src/tbf_dl_ass_fsm.c at 72 PS1, Line 72: // FIXME: call tbf_dl_ass_fsm_state_chg(ctx->fi, TBF_DL_ASS_NONE); ? > That's expected, it wasn't there in previous code I created this from, but while looking at it I saw [?] Ack https://gerrit.osmocom.org/c/osmo-pcu/+/25060/1/src/tbf_dl_ass_fsm.c at 88 PS1, Line 88: // FIXME: call tbf_dl_ass_fsm_state_chg(ctx->fi, TBF_DL_ASS_NONE); ? > Same as above. Ack https://gerrit.osmocom.org/c/osmo-pcu/+/25060/1/src/tbf_dl_ass_fsm.c at 93 PS1, Line 93: new_dl_tbf = ms_dl_tbf(ms); > Yes, I removed it on purpose while reworking the function in the new place, since a TBF is alweays g [?] Ack https://gerrit.osmocom.org/c/osmo-pcu/+/25060/1/src/tbf_dl_ass_fsm.c at 190 PS1, Line 190: Plt Ul > Pkt Dl? Done -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25060 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia33418478e17986a316ffda48b091030f53fa371 Gerrit-Change-Number: 25060 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 29 Jul 2021 13:19:36 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: osmith 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 Jul 29 13:19:44 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 29 Jul 2021 13:19:44 +0000 Subject: Change in osmo-mgw[master]: mgcp_trunk: check MGW domain name earlier References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25099 ) Change subject: mgcp_trunk: check MGW domain name earlier ...................................................................... mgcp_trunk: check MGW domain name earlier The MGW domain name is usually checked while resolving the endpoint after the trunk has been resolved. This was no problem before, but since we allow wildcarded DLCX requests, which require only a trunk to work, the check is not done correctly for wildcarded DLCX requests and invalid domain names may slip through. Checking the domain name earlier while the trunk is resolved makes sense and it fixes the problem. Change-Id: I9944a9103981fb5f4d0d8714ee2847ae020f76df --- M src/libosmo-mgcp/mgcp_trunk.c 1 file changed, 30 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/99/25099/1 diff --git a/src/libosmo-mgcp/mgcp_trunk.c b/src/libosmo-mgcp/mgcp_trunk.c index 27663b4..73de972 100644 --- a/src/libosmo-mgcp/mgcp_trunk.c +++ b/src/libosmo-mgcp/mgcp_trunk.c @@ -206,6 +206,32 @@ } } +/* Check if the domain name, which is supplied with the endpoint name + * matches the configuration. */ +static int check_domain_name(const char *epname, const struct mgcp_config *cfg) +{ + char *domain_to_check; + + domain_to_check = strstr(epname, "@"); + if (!domain_to_check) { + LOGP(DLMGCP, LOGL_ERROR, "missing domain name in endpoint name \"%s\", expecting \"%s\"\n", + epname, cfg->domain); + return -EINVAL; + } + + /* Accept any domain if configured as "*" */ + if (!strcmp(cfg->domain, "*")) + return 0; + + if (strcmp(domain_to_check+1, cfg->domain) != 0) { + LOGP(DLMGCP, LOGL_ERROR, "wrong domain name in endpoint name \"%s\", expecting \"%s\"\n", + epname, cfg->domain); + return -EINVAL; + } + + return 0; +} + /*! Find a trunk by the trunk prefix in the endpoint name. * \param[in] epname endpoint name with trunk prefix to look up. * \param[in] cfg that contains the trunks where the endpoint is located. @@ -220,6 +246,10 @@ osmo_str_tolower_buf(epname_lc, sizeof(epname_lc), epname); epname = epname_lc; + /* All endpoint names require a domain as suffix */ + if (check_domain_name(epname, cfg)) + return NULL; + prefix_len = sizeof(MGCP_ENDPOINT_PREFIX_VIRTUAL_TRUNK) - 1; if (strncmp(epname, MGCP_ENDPOINT_PREFIX_VIRTUAL_TRUNK, prefix_len) == 0) { return mgcp_trunk_by_num(cfg, MGCP_TRUNK_VIRTUAL, MGCP_VIRT_TRUNK_ID); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25099 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I9944a9103981fb5f4d0d8714ee2847ae020f76df Gerrit-Change-Number: 25099 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 Jul 29 13:20:10 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 29 Jul 2021 13:20:10 +0000 Subject: Change in osmo-pcu[master]: tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_TO_DL_ASS In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25061 ) Change subject: tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_TO_DL_ASS ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25061 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I13f92f058c219f230d57b3c00b8ae1d187603813 Gerrit-Change-Number: 25061 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 29 Jul 2021 13:20: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 Jul 29 13:21:31 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 29 Jul 2021 13:21:31 +0000 Subject: Change in osmo-pcu[master]: tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_UL_DATA In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25090 ) Change subject: tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_UL_DATA ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/25090/1/src/tbf.cpp File src/tbf.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/25090/1/src/tbf.cpp at 1005 PS1, Line 1005: No uplink data received yet| > Thanks for mentioning, it's of course wrong. Done -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25090 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1d993117c7daa2609b132c2d0fd748e0338ef559 Gerrit-Change-Number: 25090 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 29 Jul 2021 13:21:31 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: osmith 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 Jul 29 13:24:42 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 29 Jul 2021 13:24:42 +0000 Subject: Change in osmo-pcu[master]: Get rid of lots of code only used by tests In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25093 ) Change subject: Get rid of lots of code only used by tests ...................................................................... Patch Set 2: Code-Review+1 (2 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/25093/1/tests/tbf/TbfTest.cpp File tests/tbf/TbfTest.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/25093/1/tests/tbf/TbfTest.cpp at 263 PS1, Line 263: #define RCV_ACK(fin, tbf, rbb) do { \ > this macro is long and hard to read. [?] Done https://gerrit.osmocom.org/c/osmo-pcu/+/25093/1/tests/tbf/TbfTest.err File tests/tbf/TbfTest.err: https://gerrit.osmocom.org/c/osmo-pcu/+/25093/1/tests/tbf/TbfTest.err at 503 PS1, Line 503: 0 > Because last one was wrong (and nobody cared because it's not used in osmo-pcu). [?] Ack -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25093 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I14d9312cb61534dc97fca83141b9c0cd933c9206 Gerrit-Change-Number: 25093 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 29 Jul 2021 13:24:42 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: osmith 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 Jul 29 13:25:02 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 29 Jul 2021 13:25:02 +0000 Subject: Change in osmo-pcu[master]: tbf: Merge handle_ack_nack() into rcvd_dl_ack() In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25094 ) Change subject: tbf: Merge handle_ack_nack() into rcvd_dl_ack() ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/25094/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-pcu/+/25094/1//COMMIT_MSG at 7 PS1, Line 7: handle_ack_nack > rcvd_dl_ack Done -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25094 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I546d2e46bda96a2f551b28673464e57831c71828 Gerrit-Change-Number: 25094 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 29 Jul 2021 13:25:02 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes 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 Jul 29 13:25:34 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 29 Jul 2021 13:25:34 +0000 Subject: Change in osmo-pcu[master]: Fix typos in comments documenting fsm st chg macro In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25095 ) Change subject: Fix typos in comments documenting fsm st chg macro ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25095 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8f1cef5810c84441f7d6d2fbe5b3106e0ae71b69 Gerrit-Change-Number: 25095 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 29 Jul 2021 13: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 Thu Jul 29 13:31:59 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 29 Jul 2021 13:31:59 +0000 Subject: Change in osmo-mgw[master]: mgcp_trunk: check MGW domain name earlier 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/+/25099 to look at the new patch set (#2). Change subject: mgcp_trunk: check MGW domain name earlier ...................................................................... mgcp_trunk: check MGW domain name earlier The MGW domain name is usually checked while resolving the endpoint after the trunk has been resolved. This was no problem before, but since we allow wildcarded DLCX requests, which require only a trunk to work, the check is not done correctly for wildcarded DLCX requests and invalid domain names may slip through. Checking the domain name earlier while the trunk is resolved makes sense and it fixes the problem. Change-Id: I9944a9103981fb5f4d0d8714ee2847ae020f76df --- M src/libosmo-mgcp/mgcp_endp.c M src/libosmo-mgcp/mgcp_trunk.c 2 files changed, 30 insertions(+), 30 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/99/25099/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25099 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I9944a9103981fb5f4d0d8714ee2847ae020f76df Gerrit-Change-Number: 25099 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 Thu Jul 29 13:36:31 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 29 Jul 2021 13:36:31 +0000 Subject: Change in osmo-mgw[master]: mgcp_trunk: check MGW domain name earlier In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25099 ) Change subject: mgcp_trunk: check MGW domain name earlier ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25099 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I9944a9103981fb5f4d0d8714ee2847ae020f76df Gerrit-Change-Number: 25099 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 29 Jul 2021 13:36:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 14:19:36 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 29 Jul 2021 14:19:36 +0000 Subject: Change in osmo-ci[master]: repo-install-test: disable osmo-pcap-server References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/25100 ) Change subject: repo-install-test: disable osmo-pcap-server ...................................................................... repo-install-test: disable osmo-pcap-server Disable checking if the osmo-pcap-server service starts up, as it conflicts with osmo-bts and sometimes causes the test to fail. Related: OS#5203 Change-Id: Ic40a4df8b86ca1dda6a08aa3f9381391e6fb0770 --- M scripts/repo-install-test/run-inside-docker.sh 1 file changed, 1 insertion(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/00/25100/1 diff --git a/scripts/repo-install-test/run-inside-docker.sh b/scripts/repo-install-test/run-inside-docker.sh index 91c8375..fe3e2ce 100755 --- a/scripts/repo-install-test/run-inside-docker.sh +++ b/scripts/repo-install-test/run-inside-docker.sh @@ -12,6 +12,7 @@ # * osmo-ctrl2cgi (missing config: /etc/osmocom/ctrl2cgi.ini, OS#4108) # * osmo-trap2cgi (missing config: /etc/osmocom/%N.ini, OS#4108) # * osmo-ggsn (no tun device in docker) +# * osmo-pcap-server (ctrl port in config conflicts with osmo-bts, OS#5203) SERVICES=" osmo-bsc osmo-gbproxy @@ -24,13 +25,11 @@ osmo-stp " # Services working in nightly, but not yet in latest -# * osmo-pcap-server: service not included in osmo-pcap 0.0.11 # * osmo-sgsn: conflicts with osmo-gtphub config in osmo-sgsn 1.4.0 # * osmo-pcu: needs osmo-bts-virtual to start up properly # * osmo-hnbgw: tries to listen on 10.23.24.1 in osmo-iuh 0.4.0 # * osmo-bts-virtual: unit id not matching osmo-bsc's config in osmo-bsc 1.4.0 SERVICES_NIGHTLY=" - osmo-pcap-server osmo-sgsn osmo-pcu osmo-hnbgw -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/25100 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ic40a4df8b86ca1dda6a08aa3f9381391e6fb0770 Gerrit-Change-Number: 25100 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 14:19:36 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 29 Jul 2021 14:19:36 +0000 Subject: Change in osmo-ci[master]: repo-install-test: clear SERVICES_NIGHTLY list References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/25101 ) Change subject: repo-install-test: clear SERVICES_NIGHTLY list ...................................................................... repo-install-test: clear SERVICES_NIGHTLY list All services that start up in nightly should also start in the latest release now, as new versions have been released of related programs. Change-Id: Idc94270978ec5ca67d6f7e20e009f905e972f984 --- M scripts/repo-install-test/run-inside-docker.sh 1 file changed, 5 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/01/25101/1 diff --git a/scripts/repo-install-test/run-inside-docker.sh b/scripts/repo-install-test/run-inside-docker.sh index fe3e2ce..b574f54 100755 --- a/scripts/repo-install-test/run-inside-docker.sh +++ b/scripts/repo-install-test/run-inside-docker.sh @@ -15,25 +15,22 @@ # * osmo-pcap-server (ctrl port in config conflicts with osmo-bts, OS#5203) SERVICES=" osmo-bsc + osmo-bts-virtual osmo-gbproxy osmo-gtphub osmo-hlr + osmo-hnbgw osmo-mgw osmo-msc osmo-pcap-client + osmo-pcu + osmo-sgsn osmo-sip-connector osmo-stp " # Services working in nightly, but not yet in latest -# * osmo-sgsn: conflicts with osmo-gtphub config in osmo-sgsn 1.4.0 -# * osmo-pcu: needs osmo-bts-virtual to start up properly -# * osmo-hnbgw: tries to listen on 10.23.24.1 in osmo-iuh 0.4.0 -# * osmo-bts-virtual: unit id not matching osmo-bsc's config in osmo-bsc 1.4.0 +# * (currently none) SERVICES_NIGHTLY=" - osmo-sgsn - osmo-pcu - osmo-hnbgw - osmo-bts-virtual " distro_obsdir() { -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/25101 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Idc94270978ec5ca67d6f7e20e009f905e972f984 Gerrit-Change-Number: 25101 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 14:21:36 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 29 Jul 2021 14:21:36 +0000 Subject: Change in osmo-ci[master]: repo-install-test: disable osmo-pcap-server In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/25100 ) Change subject: repo-install-test: disable osmo-pcap-server ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/25100 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ic40a4df8b86ca1dda6a08aa3f9381391e6fb0770 Gerrit-Change-Number: 25100 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 29 Jul 2021 14:21: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 Jul 29 15:03:39 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 29 Jul 2021 15:03:39 +0000 Subject: Change in osmo-ci[master]: repo-install-test: clear SERVICES_NIGHTLY list In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/25101 ) Change subject: repo-install-test: clear SERVICES_NIGHTLY list ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/25101 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Idc94270978ec5ca67d6f7e20e009f905e972f984 Gerrit-Change-Number: 25101 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 29 Jul 2021 15:03: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 Jul 29 15:03:55 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 29 Jul 2021 15:03:55 +0000 Subject: Change in osmo-ci[master]: repo-install-test: disable osmo-pcap-server In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/25100 ) Change subject: repo-install-test: disable osmo-pcap-server ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/25100 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ic40a4df8b86ca1dda6a08aa3f9381391e6fb0770 Gerrit-Change-Number: 25100 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 29 Jul 2021 15:03: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 Jul 29 15:06:11 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 29 Jul 2021 15:06:11 +0000 Subject: Change in osmo-pcu[master]: tbf: Use type bool for upgrade_to_multislot References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25102 ) Change subject: tbf: Use type bool for upgrade_to_multislot ...................................................................... tbf: Use type bool for upgrade_to_multislot Change-Id: I644d91b6230a90cc72e83443c11d24b8d0a2dcac --- M src/gprs_rlcmac_ts_alloc.cpp M src/tbf.cpp M src/tbf.h 3 files changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/02/25102/1 diff --git a/src/gprs_rlcmac_ts_alloc.cpp b/src/gprs_rlcmac_ts_alloc.cpp index 5ccbb9f..3c16d8a 100644 --- a/src/gprs_rlcmac_ts_alloc.cpp +++ b/src/gprs_rlcmac_ts_alloc.cpp @@ -421,7 +421,7 @@ tbf_->first_ts = tbf_->first_common_ts = ts; ms_set_reserved_slots(ms, trx, 1 << ts, 1 << ts); - tbf_->upgrade_to_multislot = 0; + tbf_->upgrade_to_multislot = false; bts_do_rate_ctr_inc(bts, CTR_TBF_ALLOC_ALGO_A); return 0; } @@ -945,7 +945,7 @@ tbf_->upgrade_to_multislot = (avail_count > slotcount); LOGPAL(tbf, "B", single, use_trx, LOGL_INFO, "using single slot at TS %d\n", first_ts); } else { - tbf_->upgrade_to_multislot = 0; + tbf_->upgrade_to_multislot = false; LOGPAL(tbf, "B", single, use_trx, LOGL_INFO, "using %d slots\n", slotcount); } diff --git a/src/tbf.cpp b/src/tbf.cpp index 842161c..74a44d9 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -110,7 +110,7 @@ control_ts(0xff), fT(0), num_fT_exp(0), - upgrade_to_multislot(0), + upgrade_to_multislot(false), bts(bts_), m_tfi(0), m_created_ts(0), diff --git a/src/tbf.h b/src/tbf.h index 96a5788..4218cf5 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -265,7 +265,7 @@ } meas; /* Can/should we upgrade this tbf to use multiple slots? */ - uint8_t upgrade_to_multislot; + bool upgrade_to_multislot; /* store the BTS this TBF belongs to */ struct gprs_rlcmac_bts *bts; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25102 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I644d91b6230a90cc72e83443c11d24b8d0a2dcac Gerrit-Change-Number: 25102 Gerrit-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 Jul 29 15:44:48 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 29 Jul 2021 15:44:48 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: add stats items to monitor trunk usage In-Reply-To: References: Message-ID: Hello Jenkins Builder, neels, laforge, pespin, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/25041 to look at the new patch set (#2). Change subject: mgcp_ratectr: add stats items to monitor trunk usage ...................................................................... mgcp_ratectr: add stats items to monitor trunk usage We are currently counting events in rate counters, but there is currently no way to get a sample of the current situation of the trunk usage. In particular how many endpoints are currently in use. This is a corrected version of: Ib7b654168dc3512f55e45cc4755dc1f6f423d023 Change-Id: I6d3a74f6087512130d85002348787bffc672de81 Related: SYS#5201 --- M include/osmocom/mgcp/mgcp_ratectr.h M include/osmocom/mgcp/mgcp_trunk.h M src/libosmo-mgcp/mgcp_endp.c M src/libosmo-mgcp/mgcp_ratectr.c M src/libosmo-mgcp/mgcp_trunk.c M tests/mgcp/mgcp_test.c 6 files changed, 101 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/41/25041/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25041 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6d3a74f6087512130d85002348787bffc672de81 Gerrit-Change-Number: 25041 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 15:44:49 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 29 Jul 2021 15:44:49 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: do not set talloc destructor on library allocated item References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25103 ) Change subject: mgcp_ratectr: do not set talloc destructor on library allocated item ...................................................................... mgcp_ratectr: do not set talloc destructor on library allocated item The rate counter and stats item groups, which are allocated in mgcp_ratectr.c are freed using a talloc destructor that is set in the context of the item we just allocated using the stats / rate counter API functions. When we do that, we risk overwriting an already existing talloc destructor. Lets instead implement own free functions and set those as talloc_destructor from above (trunk and MGCP config) Change-Id: Ifc5091e9f95cc721e58d1eb2e55b97102c497706 Related: SYS#5201 --- M include/osmocom/mgcp/mgcp_ratectr.h M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_ratectr.c M src/libosmo-mgcp/mgcp_trunk.c 4 files changed, 83 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/03/25103/1 diff --git a/include/osmocom/mgcp/mgcp_ratectr.h b/include/osmocom/mgcp/mgcp_ratectr.h index 5212f9b..a01e025 100644 --- a/include/osmocom/mgcp/mgcp_ratectr.h +++ b/include/osmocom/mgcp/mgcp_ratectr.h @@ -93,7 +93,9 @@ struct mgcp_trunk; int mgcp_ratectr_global_alloc(struct mgcp_config *cfg); +int mgcp_ratectr_global_free(struct mgcp_config *cfg); int mgcp_ratectr_trunk_alloc(struct mgcp_trunk *trunk); +int mgcp_ratectr_trunk_free(struct mgcp_trunk *trunk); /* Trunk-global common stat items */ enum { @@ -107,4 +109,4 @@ }; int mgcp_stat_trunk_alloc(struct mgcp_trunk *trunk); - +int mgcp_stat_trunk_free(struct mgcp_trunk *trunk); diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index e69c00f..74ee758 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -1687,6 +1687,7 @@ } mgcp_ratectr_global_alloc(cfg); + talloc_set_destructor(cfg, mgcp_ratectr_global_free); return cfg; } diff --git a/src/libosmo-mgcp/mgcp_ratectr.c b/src/libosmo-mgcp/mgcp_ratectr.c index d8e0374..7362fe2 100644 --- a/src/libosmo-mgcp/mgcp_ratectr.c +++ b/src/libosmo-mgcp/mgcp_ratectr.c @@ -150,12 +150,6 @@ .ctr_desc = all_rtp_conn_rate_ctr_desc }; -static int free_rate_counter_group(struct rate_ctr_group *rate_ctr_group) -{ - rate_ctr_group_free(rate_ctr_group); - return 0; -} - /*! allocate global rate counters * (called once at startup). * \param[in] cfg mgw configuration for which the rate counters are allocated. @@ -173,12 +167,27 @@ return -EINVAL; snprintf(ctr_name, sizeof(ctr_name), "%s:general", cfg->domain); rate_ctr_group_set_name(ratectr->mgcp_general_ctr_group, ctr_name); - talloc_set_destructor(ratectr->mgcp_general_ctr_group, free_rate_counter_group); general_rate_ctr_index++; } return 0; } +/*! free global rate counters + * (called once at process shutdown). + * \param[in] cfg mgw configuration for which the rate counters are allocated. + * \returns 0 on success, -EINVAL on failure. */ +int mgcp_ratectr_global_free(struct mgcp_config *cfg) +{ + struct mgcp_ratectr_global *ratectr = &cfg->ratectr; + + if (ratectr->mgcp_general_ctr_group) { + rate_ctr_group_free(ratectr->mgcp_general_ctr_group); + ratectr->mgcp_general_ctr_group = NULL; + } + + return 0; +} + /*! allocate trunk specific rate counters * (called once on trunk initialization). * \param[in] trunk mgw trunk for which the rate counters are allocated. @@ -200,7 +209,6 @@ snprintf(ctr_name, sizeof(ctr_name), "%s-%u:crcx", mgcp_trunk_type_strs_str(trunk->trunk_type), trunk->trunk_nr); rate_ctr_group_set_name(ratectr->mgcp_crcx_ctr_group, ctr_name); - talloc_set_destructor(ratectr->mgcp_crcx_ctr_group, free_rate_counter_group); crcx_rate_ctr_index++; } if (ratectr->mgcp_mdcx_ctr_group == NULL) { @@ -211,7 +219,6 @@ snprintf(ctr_name, sizeof(ctr_name), "%s-%u:mdcx", mgcp_trunk_type_strs_str(trunk->trunk_type), trunk->trunk_nr); rate_ctr_group_set_name(ratectr->mgcp_mdcx_ctr_group, ctr_name); - talloc_set_destructor(ratectr->mgcp_mdcx_ctr_group, free_rate_counter_group); mdcx_rate_ctr_index++; } if (ratectr->mgcp_dlcx_ctr_group == NULL) { @@ -222,7 +229,6 @@ snprintf(ctr_name, sizeof(ctr_name), "%s-%u:dlcx", mgcp_trunk_type_strs_str(trunk->trunk_type), trunk->trunk_nr); rate_ctr_group_set_name(ratectr->mgcp_dlcx_ctr_group, ctr_name); - talloc_set_destructor(ratectr->mgcp_dlcx_ctr_group, free_rate_counter_group); dlcx_rate_ctr_index++; } if (ratectr->all_rtp_conn_stats == NULL) { @@ -233,10 +239,10 @@ snprintf(ctr_name, sizeof(ctr_name), "%s-%u:rtp_conn", mgcp_trunk_type_strs_str(trunk->trunk_type), trunk->trunk_nr); rate_ctr_group_set_name(ratectr->all_rtp_conn_stats, ctr_name); - talloc_set_destructor(ratectr->all_rtp_conn_stats, free_rate_counter_group); all_rtp_conn_rate_ctr_index++; } + /* E1 specific */ if (trunk->trunk_type == MGCP_TRUNK_E1 && ratectr->e1_stats == NULL) { ratectr->e1_stats = rate_ctr_group_alloc(trunk, &e1_rate_ctr_group_desc, mdcx_rate_ctr_index); @@ -245,9 +251,42 @@ snprintf(ctr_name, sizeof(ctr_name), "%s-%u:e1", mgcp_trunk_type_strs_str(trunk->trunk_type), trunk->trunk_nr); rate_ctr_group_set_name(ratectr->e1_stats, ctr_name); - talloc_set_destructor(ratectr->e1_stats, free_rate_counter_group); mdcx_rate_ctr_index++; } + + return 0; +} + +/*! free trunk specific rate counters + * (called once when trunk is freed). + * \param[in] trunk mgw trunk on which the rate counters are allocated. */ +int mgcp_ratectr_trunk_free(struct mgcp_trunk *trunk) +{ + struct mgcp_ratectr_trunk *ratectr = &trunk->ratectr; + + if (ratectr->mgcp_crcx_ctr_group) { + rate_ctr_group_free(ratectr->mgcp_crcx_ctr_group); + ratectr->mgcp_crcx_ctr_group = NULL; + } + if (ratectr->mgcp_mdcx_ctr_group) { + rate_ctr_group_free(ratectr->mgcp_mdcx_ctr_group); + ratectr->mgcp_mdcx_ctr_group = NULL; + } + if (ratectr->mgcp_dlcx_ctr_group) { + rate_ctr_group_free(ratectr->mgcp_dlcx_ctr_group); + ratectr->mgcp_dlcx_ctr_group = NULL; + } + if (ratectr->all_rtp_conn_stats) { + rate_ctr_group_free(ratectr->all_rtp_conn_stats); + ratectr->all_rtp_conn_stats = NULL; + } + + /* E1 specific */ + if (ratectr->e1_stats) { + rate_ctr_group_free(ratectr->e1_stats); + ratectr->e1_stats = NULL; + } + return 0; } @@ -268,12 +307,6 @@ .item_desc = trunk_stat_desc, }; -static int free_stat_item_group(struct osmo_stat_item_group *stat_item_group) -{ - osmo_stat_item_group_free(stat_item_group); - return 0; -} - /*! allocate trunk specific stat items * (called once on trunk initialization). * \param[in] trunk for which the stat items are allocated. @@ -290,8 +323,22 @@ snprintf(stat_name, sizeof(stat_name), "%s-%u:common", mgcp_trunk_type_strs_str(trunk->trunk_type), trunk->trunk_nr); osmo_stat_item_group_set_name(stats->common, stat_name); - talloc_set_destructor(stats->common, free_stat_item_group); common_stat_index++; return 0; } + +/*! free trunk specific stat items + * (called once when trunk is freed). + * \param[in] trunk on which the stat items are allocated. */ +int mgcp_stat_trunk_free(struct mgcp_trunk *trunk) +{ + struct mgcp_stat_trunk *stats = &trunk->stats; + + if (stats->common) { + osmo_stat_item_group_free(stats->common); + stats->common = NULL; + } + + return 0; +} diff --git a/src/libosmo-mgcp/mgcp_trunk.c b/src/libosmo-mgcp/mgcp_trunk.c index b2d1969..ecfb48f 100644 --- a/src/libosmo-mgcp/mgcp_trunk.c +++ b/src/libosmo-mgcp/mgcp_trunk.c @@ -35,7 +35,18 @@ { 0, NULL } }; -/*! allocate trunk and add it (if required) to the trunk list. +/* Free trunk, this function is automatically called by talloc_free when the trunk is freed. It does not free the + * endpoints on the trunk, this must be done seperately before freeing the trunk. */ +static int trunk_free(struct mgcp_trunk *trunk) +{ + llist_del(&trunk->entry); + mgcp_ratectr_trunk_free(trunk); + mgcp_stat_trunk_free(trunk); + talloc_free(trunk); + return 0; +} + +/*! allocate trunk and add it to the trunk list. * (called once at startup by VTY). * \param[in] cfg mgcp configuration. * \param[in] ttype trunk type. @@ -66,6 +77,7 @@ mgcp_ratectr_trunk_alloc(trunk); mgcp_stat_trunk_alloc(trunk); + talloc_set_destructor(trunk, trunk_free); return trunk; } -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25103 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ifc5091e9f95cc721e58d1eb2e55b97102c497706 Gerrit-Change-Number: 25103 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 Jul 29 15:46:54 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 29 Jul 2021 15:46:54 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: add stats items to monitor trunk usage In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25041 ) Change subject: mgcp_ratectr: add stats items to monitor trunk usage ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/25041/1/src/libosmo-mgcp/mgcp_ratectr.c File src/libosmo-mgcp/mgcp_ratectr.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25041/1/src/libosmo-mgcp/mgcp_ratectr.c at 293 PS1, Line 293: talloc_set_destructor(stats->common, free_stat_item_group); > Ack I have now changed the talloc destructor scheme, but I thin it is better to handle this in another patch, see: Change ID: Ifc5091e9f95cc721e58d1eb2e55b97102c497706 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25041 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6d3a74f6087512130d85002348787bffc672de81 Gerrit-Change-Number: 25041 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 29 Jul 2021 15:46:54 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: daniel Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 15:48:18 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 29 Jul 2021 15:48:18 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: do not set talloc destructor on library allocated item 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/+/25103 to look at the new patch set (#2). Change subject: mgcp_ratectr: do not set talloc destructor on library allocated item ...................................................................... mgcp_ratectr: do not set talloc destructor on library allocated item The rate counter and stats item groups, which are allocated in mgcp_ratectr.c are freed using a talloc destructor that is set in the context of the item we just allocated using the stats / rate counter API functions. When we do that, we risk overwriting an already existing talloc destructor. Lets instead implement own free functions and set those as talloc_destructor from above (trunk and MGCP config) Change-Id: Ifc5091e9f95cc721e58d1eb2e55b97102c497706 Related: SYS#5201 --- M include/osmocom/mgcp/mgcp_ratectr.h M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_ratectr.c M src/libosmo-mgcp/mgcp_trunk.c 4 files changed, 83 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/03/25103/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25103 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ifc5091e9f95cc721e58d1eb2e55b97102c497706 Gerrit-Change-Number: 25103 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 Thu Jul 29 15:52:21 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 29 Jul 2021 15:52:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_cm_reestablishment In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25021 ) Change subject: bsc: add TC_cm_reestablishment ...................................................................... Patch Set 4: Code-Review+1 (2 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25021/4/bsc/BSC_Tests.ttcn File bsc/BSC_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25021/4/bsc/BSC_Tests.ttcn at 9470 PS4, Line 9470: attemts (attempts) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25021/4/bsc/BSC_Tests.ttcn at 9559 PS4, Line 9559: 40.0 this seems very high -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25021 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1e7d446644f46b8a0a94688e618ffb4f23a8900e Gerrit-Change-Number: 25021 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 29 Jul 2021 15:52: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 Jul 29 15:52:36 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 29 Jul 2021 15:52:36 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: add stats items to monitor trunk usage In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25041 ) Change subject: mgcp_ratectr: add stats items to monitor trunk usage ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/25041/2/src/libosmo-mgcp/mgcp_ratectr.c File src/libosmo-mgcp/mgcp_ratectr.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25041/2/src/libosmo-mgcp/mgcp_ratectr.c at 271 PS2, Line 271: static int free_stat_item_group(struct osmo_stat_item_group *stat_item_group) I usually add "talloc_destructor" at the end of this function name, to clearly state it's for talloc internall calling and should not be called directly. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25041 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6d3a74f6087512130d85002348787bffc672de81 Gerrit-Change-Number: 25041 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 29 Jul 2021 15:52:36 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 15:53:24 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 29 Jul 2021 15:53:24 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: fix conn id in 'MGCP OK' msg (as_mgcp_ack_all_mdcx) In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25064 ) Change subject: msc: fix conn id in 'MGCP OK' msg (as_mgcp_ack_all_mdcx) ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25064 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If6f7f135d95c04ee0240f3fa9ba0b18ffc6fa24a Gerrit-Change-Number: 25064 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 29 Jul 2021 15:53:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 15:55:25 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 29 Jul 2021 15:55:25 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: eliminate bssap_idx In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25088 ) Change subject: msc: eliminate bssap_idx ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25088 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib5c5585f098ff269920cf9d5781c4366234854c5 Gerrit-Change-Number: 25088 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 29 Jul 2021 15: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 Thu Jul 29 15:56:32 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 29 Jul 2021 15:56:32 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: do not set talloc destructor on library allocated item In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25103 ) Change subject: mgcp_ratectr: do not set talloc destructor on library allocated item ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25103 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ifc5091e9f95cc721e58d1eb2e55b97102c497706 Gerrit-Change-Number: 25103 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 29 Jul 2021 15:56: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 Jul 29 15:57:34 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 29 Jul 2021 15:57:34 +0000 Subject: Change in osmo-ttcn3-hacks[master]: L3_Templates: add ts_ML3_MO_CC_DISC In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25065 ) Change subject: L3_Templates: add ts_ML3_MO_CC_DISC ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25065 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie152f8760c9bd6df04a20fdbb7ce9bbde9cb3d68 Gerrit-Change-Number: 25065 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 29 Jul 2021 15:57:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 15:59:21 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 29 Jul 2021 15:59:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Emulation: allow moving ep handling to another test component In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25066 ) Change subject: MGCP_Emulation: allow moving ep handling to another test component ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25066 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id46035e53c2870e1fdef1335dce42b2020f7cd54 Gerrit-Change-Number: 25066 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 29 Jul 2021 15:59:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 16:02:31 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 29 Jul 2021 16:02:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MNCC_Emulation: allow moving call handling to another test component In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25067 ) Change subject: MNCC_Emulation: allow moving call handling to another test component ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25067 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If7e952e54ebd1bb88cce11ec5f0ff4826e02cb63 Gerrit-Change-Number: 25067 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 29 Jul 2021 16:02:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 16:03:43 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 29 Jul 2021 16:03:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: GSUP_Emulation: allow moving HLR handling to another test component In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25071 ) Change subject: GSUP_Emulation: allow moving HLR handling to another test component ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25071 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I235492185cda68f9f8e845085e3f6efe76a13501 Gerrit-Change-Number: 25071 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 29 Jul 2021 16:03:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 16:07:33 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 29 Jul 2021 16:07:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: SMPP_Emulation: replace previous entries in f_create_smpp_expect() In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25072 ) Change subject: SMPP_Emulation: replace previous entries in f_create_smpp_expect() ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25072 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I63856fc158f5db9ced9185c208035b26e7ed7a74 Gerrit-Change-Number: 25072 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 29 Jul 2021 16:07:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 16:08:22 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 29 Jul 2021 16:08:22 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add as_mgcp_ack_all_dlcx In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25068 ) Change subject: msc: add as_mgcp_ack_all_dlcx ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25068 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic63fa41fa2e5d392d39f6b5f9edd3952aa6a9ee9 Gerrit-Change-Number: 25068 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 29 Jul 2021 16:08:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 16:10:05 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 29 Jul 2021 16:10:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add a COORD port for inter-component coordination In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25069 ) Change subject: msc: add a COORD port for inter-component coordination ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25069 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iba3a5304fa40159bc2c31cdc3a71ee56ed08bd12 Gerrit-Change-Number: 25069 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 29 Jul 2021 16:10: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 Jul 29 16:11:26 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 29 Jul 2021 16:11:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: split f_start_handler_with_pars() In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25089 ) Change subject: msc: split f_start_handler_with_pars() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25089 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic7e9dbb8c9db5948fe35fc3051bb988d65622782 Gerrit-Change-Number: 25089 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 29 Jul 2021 16: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 Thu Jul 29 16:19:49 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 29 Jul 2021 16:19:49 +0000 Subject: Change in osmo-pcu[master]: Move timer X2002 to tbf_fsm References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25104 ) Change subject: Move timer X2002 to tbf_fsm ...................................................................... Move timer X2002 to tbf_fsm Related: OS#2709 Change-Id: I94b71c60ed49d51ebdf6d6b428056b4b94354676 --- M src/bts.cpp M src/gprs_rlcmac_sched.cpp M src/pdch.cpp M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp M src/tbf_dl.h M src/tbf_fsm.c M src/tbf_fsm.h M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err 11 files changed, 133 insertions(+), 86 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/04/25104/1 diff --git a/src/bts.cpp b/src/bts.cpp index ee6b915..3cb2265 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -648,11 +648,7 @@ } LOGP(DRLCMAC, LOGL_DEBUG, "Got IMM.ASS confirm for TLLI=%08x\n", tlli); - - if (dl_tbf->m_wait_confirm) { - /* Transition to FLOW in gprs_rlcmac_tbf::handle_timeout() when timer expires */ - T_START(dl_tbf, T0, -2002, "assignment (AGCH)", true); - } + osmo_fsm_inst_dispatch(dl_tbf->state_fsm.fi, TBF_EV_ASSIGN_PCUIF_CNF, NULL); return 0; } diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index 18c0763..d73e55d 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -308,10 +308,6 @@ && tbf->state_is_not(TBF_ST_FINISHED)) continue; - /* waiting for CCCH IMM.ASS confirm */ - if (tbf->m_wait_confirm) - continue; - /* If a GPRS (CS1-4) Dl block is required, skip EGPRS(_GSMK) tbfs: */ if (req_mcs_kind == GPRS && tbf->is_egprs_enabled()) continue; diff --git a/src/pdch.cpp b/src/pdch.cpp index 9477178..439759f 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -369,8 +369,6 @@ tbf_free(tbf); osmo_fsm_inst_dispatch(new_tbf->state_fsm.fi, TBF_EV_ASSIGN_ACK_PACCH, NULL); - /* stop pending assignment timer */ - new_tbf->t_stop(T0, "control acked (DL-TBF)"); tbf_assign_control_ts(new_tbf); return; diff --git a/src/tbf.cpp b/src/tbf.cpp index 74a44d9..5efbe7f 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -59,8 +59,6 @@ unsigned int next_tbf_ctr_group_id = 0; /* Incrementing group id */ -static void tbf_timer_cb(void *_tbf); - const struct value_string gprs_rlcmac_tbf_ul_ack_state_names[] = { OSMO_VALUE_STRING(GPRS_RLCMAC_UL_ACK_NONE), OSMO_VALUE_STRING(GPRS_RLCMAC_UL_ACK_SEND_ACK), /* send acknowledge on next RTS */ @@ -76,7 +74,6 @@ }; static const struct value_string tbf_timers_names[] = { - OSMO_VALUE_STRING(T0), OSMO_VALUE_STRING(T3141), OSMO_VALUE_STRING(T3191), OSMO_VALUE_STRING(T3193), @@ -422,7 +419,6 @@ if (t != T_MAX) return osmo_timer_pending(&Tarr[t]); - /* we don't start with T0 because it's internal timer which requires special handling */ for (i = T3141; i < T_MAX; i++) if (osmo_timer_pending(&Tarr[i])) return true; @@ -433,8 +429,7 @@ void gprs_rlcmac_tbf::stop_timers(const char *reason) { uint8_t i; - /* we start with T0 because timer reset does not require any special handling */ - for (i = T0; i < T_MAX; i++) + for (i = T3141; i < T_MAX; i++) t_stop((enum tbf_timers)i, reason); } @@ -502,9 +497,6 @@ Tarr[t].data = this; switch(t) { - case T0: - Tarr[t].cb = tbf_timer_cb; - break; case T3141: Tarr[t].cb = cb_T3141; break; @@ -594,7 +586,6 @@ void gprs_rlcmac_tbf::poll_timeout(struct gprs_rlcmac_pdch *pdch, uint32_t poll_fn, enum pdch_ulc_tbf_poll_reason reason) { - uint16_t pgroup; gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(this); LOGPTBF(this, LOGL_NOTICE, "poll timeout for FN=%d, TS=%d (curr FN %d)\n", @@ -645,7 +636,8 @@ /* Timeout waiting for CTRL ACK acking Pkt Cell Change Continue */ osmo_fsm_inst_dispatch(m_ms->nacc->fi, NACC_EV_TIMEOUT_CELL_CHG_CONTINUE, NULL); return; - } else if (direction == GPRS_RLCMAC_DL_TBF) { + } else if (reason == PDCH_ULC_POLL_DL_ACK) { + /* POLL Timeout expecting DL ACK/NACK: implies direction == GPRS_RLCMAC_DL_TBF */ gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(this); if (!(dl_tbf->state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_TO_DL_ACK))) { @@ -669,16 +661,7 @@ return; } /* resend IMM.ASS on CCCH on timeout */ - if ((dl_tbf->state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_CCCH)) - && !(dl_tbf->state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_DL_ACK))) { - LOGPTBF(dl_tbf, LOGL_DEBUG, "Re-send dowlink assignment on PCH (IMSI=%s)\n", - imsi()); - /* send immediate assignment */ - if ((pgroup = imsi2paging_group(imsi())) > 999) - LOGPTBF(dl_tbf, LOGL_ERROR, "IMSI to paging group failed! (%s)\n", imsi()); - bts_snd_dl_ass(dl_tbf->bts, dl_tbf, pgroup); - dl_tbf->m_wait_confirm = 1; - } + osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_DL_ACKNACK_MISS, NULL); } else LOGPTBF(this, LOGL_ERROR, "Poll Timeout, but no event!\n"); } @@ -729,48 +712,6 @@ return 0; } -static void tbf_timer_cb(void *_tbf) -{ - struct gprs_rlcmac_tbf *tbf = (struct gprs_rlcmac_tbf *)_tbf; - tbf->handle_timeout(); -} - -void gprs_rlcmac_tbf::handle_timeout() -{ - int current_fn = bts_current_frame_number(bts); - - LOGPTBF(this, LOGL_DEBUG, "timer 0 expired. cur_fn=%d\n", current_fn); - - /* Finish waiting after IMM.ASS confirm timer for CCCH assignment (see timer X2002) */ - if ((state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_CCCH))) { - gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(this); - dl_tbf->m_wait_confirm = 0; - if (dl_tbf->state_is(TBF_ST_ASSIGN)) { - tbf_assign_control_ts(dl_tbf); - - if (!dl_tbf->upgrade_to_multislot) { - /* change state to FLOW, so scheduler - * will start transmission */ - osmo_fsm_inst_dispatch(dl_tbf->state_fsm.fi, TBF_EV_ASSIGN_READY_CCCH, NULL); - return; - } - - /* This tbf can be upgraded to use multiple DL - * timeslots and now that there is already one - * slot assigned send another DL assignment via - * PDCH. */ - - /* keep to flags */ - dl_tbf->state_fsm.state_flags &= GPRS_RLCMAC_FLAG_TO_MASK; - - dl_tbf->update(); - - dl_tbf->trigger_ass(dl_tbf); - } else - LOGPTBF(dl_tbf, LOGL_NOTICE, "Continue flow after IMM.ASS confirm\n"); - } -} - int gprs_rlcmac_tbf::establish_dl_tbf_on_pacch() { struct gprs_rlcmac_dl_tbf *new_tbf = NULL; @@ -977,6 +918,16 @@ return tbf->is_control_ts(ts); } +bool tbf_can_upgrade_to_multislot(const struct gprs_rlcmac_tbf *tbf) +{ + return tbf->upgrade_to_multislot; +} + +int tbf_update(struct gprs_rlcmac_tbf *tbf) +{ + return tbf->update(); +} + const char* tbf_rlcmac_diag(const struct gprs_rlcmac_tbf *tbf) { static char buf[256]; diff --git a/src/tbf.h b/src/tbf.h index 4218cf5..84c3d39 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -100,9 +100,6 @@ #define LOGPTBF(tbf, level, fmt, args...) LOGP(DTBF, level, "%s " fmt, tbf_name(tbf), ## args) enum tbf_timers { - /* internal assign/reject timer */ - T0, - /* Wait contention resolution success on UL TBFs assigned over CCCH */ T3141, @@ -164,6 +161,8 @@ void tbf_update_state_fsm_name(struct gprs_rlcmac_tbf *tbf); const char* tbf_rlcmac_diag(const struct gprs_rlcmac_tbf *tbf); bool tbf_is_control_ts(const struct gprs_rlcmac_tbf *tbf, uint8_t ts); +bool tbf_can_upgrade_to_multislot(const struct gprs_rlcmac_tbf *tbf); +int tbf_update(struct gprs_rlcmac_tbf *tbf); #ifdef __cplusplus } #endif diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 10492d9..bed7a08 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -191,7 +191,6 @@ gprs_rlcmac_dl_tbf::gprs_rlcmac_dl_tbf(struct gprs_rlcmac_bts *bts_, GprsMs *ms) : gprs_rlcmac_tbf(bts_, ms, GPRS_RLCMAC_DL_TBF), m_tx_counter(0), - m_wait_confirm(0), m_dl_ack_requested(false), m_last_dl_poll_fn(-1), m_last_dl_drained_fn(-1), @@ -622,7 +621,6 @@ if ((pgroup = imsi2paging_group(imsi())) > 999) LOGPTBFDL(this, LOGL_ERROR, "IMSI to paging group failed! (%s)\n", imsi()); bts_snd_dl_ass(bts, this, pgroup); - m_wait_confirm = 1; } } @@ -1170,7 +1168,6 @@ /* reset rlc states */ m_tx_counter = 0; - m_wait_confirm = 0; m_window.reset(); osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_ASSIGN_DEL_CCCH, NULL); @@ -1464,3 +1461,8 @@ else return NULL; } + +void tbf_dl_trigger_ass(struct gprs_rlcmac_dl_tbf *tbf, struct gprs_rlcmac_tbf *old_tbf) +{ + return tbf->trigger_ass(old_tbf); +} diff --git a/src/tbf_dl.h b/src/tbf_dl.h index 9719327..ad1469a 100644 --- a/src/tbf_dl.h +++ b/src/tbf_dl.h @@ -71,7 +71,6 @@ * variables are in both (dl and ul) structs and not outside union. */ int32_t m_tx_counter; /* count all transmitted blocks */ - uint8_t m_wait_confirm; /* wait for CCCH IMM.ASS cnf */ bool m_dl_ack_requested; int32_t m_last_dl_poll_fn; int32_t m_last_dl_drained_fn; @@ -153,6 +152,7 @@ const uint8_t egprs_ms_class, const uint16_t delay_csec, const uint8_t *data, const uint16_t len); +void tbf_dl_trigger_ass(struct gprs_rlcmac_dl_tbf *tbf, struct gprs_rlcmac_tbf *old_tbf); #ifdef __cplusplus } #endif diff --git a/src/tbf_fsm.c b/src/tbf_fsm.c index 0dbf04c..7d6d009 100644 --- a/src/tbf_fsm.c +++ b/src/tbf_fsm.c @@ -46,6 +46,8 @@ { TBF_EV_ASSIGN_DEL_CCCH, "ASSIGN_DEL_CCCH" }, { TBF_EV_ASSIGN_ACK_PACCH, "ASSIGN_ACK_PACCH" }, { TBF_EV_ASSIGN_READY_CCCH, "ASSIGN_READY_CCCH" }, + { TBF_EV_ASSIGN_PCUIF_CNF, "ASSIGN_PCUIF_CNF" }, + { TBF_EV_DL_ACKNACK_MISS, "DL_ACKNACK_MISS" }, { TBF_EV_LAST_DL_DATA_SENT, "LAST_DL_DATA_SENT" }, { TBF_EV_LAST_UL_DATA_RECVD, "LAST_UL_DATA_RECVD" }, { TBF_EV_FINAL_ACK_RECVD, "FINAL_ACK_RECVD" }, @@ -136,12 +138,17 @@ "Starting timer X2001 [assignment (PACCH)] with %u sec. %u microsec\n", sec, micro); osmo_timer_schedule(&fi->timer, sec, micro); + } else if (tbf_direction(ctx->tbf) == GPRS_RLCMAC_DL_TBF) { + /* GPRS_RLCMAC_FLAG_CCCH is set, so here we submitted an DL Ass through PCUIF on CCCH */ } } static void st_assign(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; + unsigned long val; + unsigned int sec, micro; + switch (event) { case TBF_EV_ASSIGN_ADD_CCCH: mod_ass_type(ctx, GPRS_RLCMAC_FLAG_CCCH, true); @@ -160,6 +167,23 @@ } tbf_fsm_state_chg(fi, TBF_ST_FLOW); break; + case TBF_EV_ASSIGN_PCUIF_CNF: + /* BTS informs us it sent Imm Ass for DL TBF over CCCH. We now + * have to wait for X2002 to trigger (meaning MS is already + * listening on PDCH) in order to move to FLOW state and start + * transmitting data to it. When X2002 triggers (see cb timer + * end of the file) it will send TBF_EV_ASSIGN_READY_CCCH back + * to us here. */ + OSMO_ASSERT(tbf_direction(ctx->tbf) == GPRS_RLCMAC_DL_TBF); + fi->T = -2002; + val = osmo_tdef_get(the_pcu->T_defs, fi->T, OSMO_TDEF_MS, -1); + sec = val / 1000; + micro = (val % 1000) * 1000; + LOGPTBF(ctx->tbf, LOGL_DEBUG, + "Starting timer X2002 [assignment (AGCH)] with %u sec. %u microsec\n", + sec, micro); + osmo_timer_schedule(&fi->timer, sec, micro); + break; case TBF_EV_ASSIGN_READY_CCCH: /* change state to FLOW, so scheduler will start transmission */ tbf_fsm_state_chg(fi, TBF_ST_FLOW); @@ -172,7 +196,28 @@ static void st_flow(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; + switch (event) { + case TBF_EV_DL_ACKNACK_MISS: + /* DL TBF: we missed a DL ACK/NACK. If we started assignment + * over CCCH and never received any DL ACK/NACK yet, it means we + * don't even know if the MS successfuly received the Imm Ass on + * CCCH and hence is listening on PDCH. Let's better refrain + * from continuing and start assignment on CCCH again */ + if ((ctx->state_flags & (1 << GPRS_RLCMAC_FLAG_CCCH)) + && !(ctx->state_flags & (1 << GPRS_RLCMAC_FLAG_DL_ACK))) { + struct GprsMs *ms = tbf_ms(ctx->tbf); + const char *imsi = ms_imsi(ms); + uint16_t pgroup; + LOGPTBF(ctx->tbf, LOGL_DEBUG, "Re-send dowlink assignment on PCH (IMSI=%s)\n", + imsi); + tbf_fsm_state_chg(fi, TBF_ST_ASSIGN); + /* send immediate assignment */ + if ((pgroup = imsi2paging_group(imsi)) > 999) + LOGPTBF(ctx->tbf, LOGL_ERROR, "IMSI to paging group failed! (%s)\n", imsi); + bts_snd_dl_ass(ms->bts, ctx->tbf, pgroup); + } + break; case TBF_EV_LAST_DL_DATA_SENT: case TBF_EV_LAST_UL_DATA_RECVD: /* All data has been sent or received, change state to FINISHED */ @@ -201,6 +246,8 @@ { struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; switch (event) { + case TBF_EV_DL_ACKNACK_MISS: + break; case TBF_EV_FINAL_ACK_RECVD: /* We received Final Ack (DL ACK/NACK) from MS. move to WAIT_RELEASE, we wait there for release or re-use the TBF in @@ -267,10 +314,42 @@ */ } +static void handle_timeout_X2002(struct tbf_fsm_ctx *ctx) +{ + struct gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(ctx->tbf); + + if (ctx->fi->state == TBF_ST_ASSIGN) { + tbf_assign_control_ts(ctx->tbf); + + if (!tbf_can_upgrade_to_multislot(ctx->tbf)) { + /* change state to FLOW, so scheduler + * will start transmission */ + osmo_fsm_inst_dispatch(ctx->fi, TBF_EV_ASSIGN_READY_CCCH, NULL); + return; + } + + /* This tbf can be upgraded to use multiple DL + * timeslots and now that there is already one + * slot assigned send another DL assignment via + * PDCH. */ + + /* keep to flags */ + ctx->state_flags &= GPRS_RLCMAC_FLAG_TO_MASK; + + tbf_update(ctx->tbf); + + tbf_dl_trigger_ass(dl_tbf, ctx->tbf); + } else + LOGPTBF(ctx->tbf, LOGL_NOTICE, "Continue flow after IMM.ASS confirm\n"); +} + static int tbf_fsm_timer_cb(struct osmo_fsm_inst *fi) { struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; switch (fi->T) { + case -2002: + handle_timeout_X2002(ctx); + break; case -2001: LOGPTBF(ctx->tbf, LOGL_NOTICE, "releasing due to PACCH assignment timeout.\n"); /* fall-through */ @@ -301,6 +380,7 @@ X(TBF_EV_ASSIGN_ADD_CCCH) | X(TBF_EV_ASSIGN_ADD_PACCH) | X(TBF_EV_ASSIGN_ACK_PACCH) | + X(TBF_EV_ASSIGN_PCUIF_CNF) | X(TBF_EV_ASSIGN_READY_CCCH), .out_state_mask = X(TBF_ST_FLOW) | @@ -312,6 +392,7 @@ }, [TBF_ST_FLOW] = { .in_event_mask = + X(TBF_EV_DL_ACKNACK_MISS) | X(TBF_EV_LAST_DL_DATA_SENT) | X(TBF_EV_LAST_UL_DATA_RECVD) | X(TBF_EV_FINAL_ACK_RECVD) | @@ -326,6 +407,7 @@ }, [TBF_ST_FINISHED] = { .in_event_mask = + X(TBF_EV_DL_ACKNACK_MISS) | X(TBF_EV_FINAL_ACK_RECVD) | X(TBF_EV_MAX_N3103) | X(TBF_EV_MAX_N3105), diff --git a/src/tbf_fsm.h b/src/tbf_fsm.h index 9d2919d..2f63eef 100644 --- a/src/tbf_fsm.h +++ b/src/tbf_fsm.h @@ -32,6 +32,8 @@ TBF_EV_ASSIGN_DEL_CCCH, /* An assignment previously sent over CCCH has been confirmed by MS */ TBF_EV_ASSIGN_ACK_PACCH, /* We received a CTRL ACK confirming assignment started on PACCH */ TBF_EV_ASSIGN_READY_CCCH, /* TBF Start Time timer triggered */ + TBF_EV_ASSIGN_PCUIF_CNF, /* Transmission of IMM.ASS for DL TBF to the MS confirmed by BTS over PCUIF */ + TBF_EV_DL_ACKNACK_MISS, /* DL TBF: We polled for DL ACK/NACK but we received none (POLL timeout) */ TBF_EV_LAST_DL_DATA_SENT, /* DL TBF sends RLCMAC block containing last DL avilable data buffered */ TBF_EV_LAST_UL_DATA_RECVD, /* UL TBF sends RLCMAC block containing last UL data (cv=0) */ TBF_EV_FINAL_ACK_RECVD, /* DL ACK/NACK with FINAL_ACK=1 received from MS */ diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index 1fcaead..19611a7 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -219,7 +219,6 @@ osmo_fsm_inst_dispatch(dl_tbf->dl_ass_fsm.fi, TBF_DL_ASS_EV_SCHED_ASS, NULL); osmo_fsm_inst_dispatch(dl_tbf->state_fsm.fi, TBF_EV_ASSIGN_ADD_CCCH, NULL); osmo_fsm_inst_dispatch(dl_tbf->state_fsm.fi, TBF_EV_ASSIGN_ACK_PACCH, NULL); - dl_tbf->m_wait_confirm = 0; check_tbf(dl_tbf); *trx_no_ = trx_no; @@ -591,9 +590,13 @@ OSMO_ASSERT(ms_dl_tbf(ms) != NULL); /* Here PCU would answer with data_cnf and trigger - * bts_rcv_imm_ass_cnf(), which would set up the timer X2002. In this - * test we go directly to T0 timeout to move it to FLOW state: */ - ms_dl_tbf(ms)->handle_timeout(); + * bts_rcv_imm_ass_cnf(), which would trigger TBF_EV_ASSIGN_PCUIF_CNF. + * That in turn would set up timer X2002. Finally, X2002 timeout + * moves it to FLOW state. We set X2002 timeout to 0 here to get + * immediate trigger through osmo_select_main() */ + OSMO_ASSERT(osmo_tdef_set(the_pcu->T_defs, -2002, 0, OSMO_TDEF_MS) == 0); + osmo_fsm_inst_dispatch(ms_dl_tbf(ms)->state_fsm.fi, TBF_EV_ASSIGN_PCUIF_CNF, NULL); + osmo_select_main(0); OSMO_ASSERT(ms_dl_tbf(ms)->state_is(TBF_ST_FLOW)); /* Get first BSN */ diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index b66707a..e5664ef 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1681,7 +1681,9 @@ TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=0 TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) appending 19 bytes -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) timer 0 expired. cur_fn=2654167 +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_PCUIF_CNF +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) Starting timer X2002 [assignment (AGCH)] with 0 sec. 0 microsec +TBF(DL-TFI_0){ASSIGN}: Timeout of X2002 TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_READY_CCCH TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -2047,6 +2049,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) poll timeout for FN=2654292, TS=7 (curr FN 2654292) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) N3105 0 => 1 (< MAX 8) +TBF(DL-TFI_0){FINISHED}: Received Event DL_ACKNACK_MISS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654296 block_nr=2 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654301 PDCH(bts=0,trx=0,ts=7) FN=2654296 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS_GMSK-only @@ -2107,6 +2110,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) poll timeout for FN=2654309, TS=7 (curr FN 2654348) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) N3105 1 => 2 (< MAX 8) +TBF(DL-TFI_0){FINISHED}: Received Event DL_ACKNACK_MISS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654348 block_nr=2 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654353 UL_ASS_TBF(UL-TFI_1){SEND_ASS}: Received Event CREATE_RLCMAC_MSG PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654348 + 13 = 2654361 @@ -4283,10 +4287,12 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 112) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) +TBF(DL-TFI_0){FLOW}: Received Event DL_ACKNACK_MISS PDCH(bts=0,trx=0,ts=4) Expiring FN=112 but previous FN=104 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=104): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=104, TS=4 (curr FN 112) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 2 => 3 (< MAX 8) +TBF(DL-TFI_0){FLOW}: Received Event DL_ACKNACK_MISS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RRRRRRRRRRRRRRRRRRRRRRRRR"(BSN=24) R=ACK I=NACK TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:25, lost=0, recv=25, skipped=0, bsn=0, info='RRRRRRRRRRRRRRRRRRRRRRRRR.......................................' @@ -4546,6 +4552,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 91) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) +TBF(DL-TFI_0){FLOW}: Received Event DL_ACKNACK_MISS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RRRRRRRRRRRRRRRRRRRR"(BSN=19) R=ACK I=NACK TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:20, lost=0, recv=20, skipped=0, bsn=0, info='RRRRRRRRRRRRRRRRRRRR............................................' @@ -4765,6 +4772,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 69) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) +TBF(DL-TFI_0){FLOW}: Received Event DL_ACKNACK_MISS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RRRRRRRRRRRRRRR"(BSN=14) R=ACK I=NACK TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:15, lost=0, recv=15, skipped=0, bsn=0, info='RRRRRRRRRRRRRRR.................................................' @@ -4968,6 +4976,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 60) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) +TBF(DL-TFI_0){FLOW}: Received Event DL_ACKNACK_MISS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RRRRRRRRRRRRR"(BSN=12) R=ACK I=NACK TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:13, lost=0, recv=13, skipped=0, bsn=0, info='RRRRRRRRRRRRR...................................................' @@ -5155,6 +5164,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 52) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) +TBF(DL-TFI_0){FLOW}: Received Event DL_ACKNACK_MISS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RRRRRRRRRRR"(BSN=10) R=ACK I=NACK TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:11, lost=0, recv=11, skipped=0, bsn=0, info='RRRRRRRRRRR.....................................................' @@ -5318,6 +5328,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 39) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) +TBF(DL-TFI_0){FLOW}: Received Event DL_ACKNACK_MISS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RRRRRRRR"(BSN=7) R=ACK I=NACK TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:8, lost=0, recv=8, skipped=0, bsn=0, info='RRRRRRRR........................................................' @@ -5490,6 +5501,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 34) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) +TBF(DL-TFI_0){FLOW}: Received Event DL_ACKNACK_MISS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RRRRRRRRRRR"(BSN=10) R=ACK I=NACK TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:11, lost=0, recv=10, skipped=1, bsn=0, info='xRRRRRRRRRR.....................................................' @@ -5653,6 +5665,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 30) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) +TBF(DL-TFI_0){FLOW}: Received Event DL_ACKNACK_MISS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RRRRRRRRR"(BSN=8) R=ACK I=NACK TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:9, lost=0, recv=9, skipped=0, bsn=0, info='RRRRRRRRR.......................................................' @@ -5805,6 +5818,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 26) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) +TBF(DL-TFI_0){FLOW}: Received Event DL_ACKNACK_MISS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RRRRRRRR"(BSN=7) R=ACK I=NACK TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:8, lost=0, recv=8, skipped=0, bsn=0, info='RRRRRRRR........................................................' @@ -6119,6 +6133,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=21, TS=4 (curr FN 63) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) +TBF(DL-TFI_0){FLOW}: Received Event DL_ACKNACK_MISS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RR"(BSN=1) R=ACK I=NACK TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:2, lost=0, recv=2, skipped=0, bsn=0, info='RR..............................................................' @@ -6213,6 +6228,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=21, TS=4 (curr FN 63) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) +TBF(DL-TFI_0){FLOW}: Received Event DL_ACKNACK_MISS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RR"(BSN=1) R=ACK I=NACK TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:2, lost=0, recv=2, skipped=0, bsn=0, info='RR..............................................................' @@ -6307,6 +6323,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 63) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) +TBF(DL-TFI_0){FLOW}: Received Event DL_ACKNACK_MISS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RR"(BSN=1) R=ACK I=NACK TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:2, lost=0, recv=2, skipped=0, bsn=0, info='RR..............................................................' @@ -6401,6 +6418,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 63) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) +TBF(DL-TFI_0){FLOW}: Received Event DL_ACKNACK_MISS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RR"(BSN=1) R=ACK I=NACK TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:2, lost=0, recv=2, skipped=0, bsn=0, info='RR..............................................................' -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25104 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I94b71c60ed49d51ebdf6d6b428056b4b94354676 Gerrit-Change-Number: 25104 Gerrit-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 Jul 29 16:19:53 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 29 Jul 2021 16:19:53 +0000 Subject: Change in osmo-pcu[master]: tbf_dl: Clarify requirements for DL ACK/NACK References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25105 ) Change subject: tbf_dl: Clarify requirements for DL ACK/NACK ...................................................................... tbf_dl: Clarify requirements for DL ACK/NACK Method is renamed since it clearly relates to getting DL ACK/NACK, no CTRL ACK. use same methods in both scheduler and internal use since they are expectd to be run in the same code path by the scheduler. This way we make sure the same conditions apply and it's clearer when looking at the code. Change-Id: Ib0e9b9547f5292b95064bab2dc182fdf659f0518 --- M src/gprs_rlcmac_sched.cpp M src/tbf_dl.cpp M src/tbf_dl.h 3 files changed, 11 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/05/25105/1 diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index d73e55d..ed81981 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -239,7 +239,7 @@ int age_thresh1 = msecs_to_frames(200); int age_thresh2 = msecs_to_frames(OSMO_MIN(msecs_t3190/2, dl_tbf_idle_msec)); - if (tbf->is_control_ts(ts) && tbf->need_control_ts()) + if (tbf->is_control_ts(ts) && tbf->need_poll_for_dl_ack_nack()) return DL_PRIO_CONTROL; if (tbf->is_control_ts(ts) && age > age_thresh2 && age_thresh2 > 0) diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index bed7a08..34c5630 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -779,7 +779,6 @@ uint8_t *msg_data; struct msgb *dl_msg; unsigned msg_len; - bool need_poll; /* TODO: support MCS-7 - MCS-9, where data_block_idx can be 1 */ uint8_t data_block_idx = 0; unsigned int rrbp; @@ -940,23 +939,20 @@ if (m_last_dl_poll_fn < 0) m_last_dl_poll_fn = fn; - need_poll = state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_TO_DL_ACK); - - /* poll after POLL_ACK_AFTER_FRAMES frames, or when final block is tx. - */ - if (m_tx_counter >= POLL_ACK_AFTER_FRAMES || m_dl_ack_requested || - need_poll) { + /* poll after POLL_ACK_AFTER_FRAMES frames, or when final block is tx or + * when last polled DL ACK/NACK was lost. */ + if (need_poll_for_dl_ack_nack()) { if (m_dl_ack_requested) { LOGPTBFDL(this, LOGL_DEBUG, "Scheduling Ack/Nack polling, because it was requested explicitly " "(e.g. first final block sent).\n"); - } else if (need_poll) { + } else if (state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_TO_DL_ACK)) { LOGPTBFDL(this, LOGL_DEBUG, "Scheduling Ack/Nack polling, because polling timed out.\n"); } else { LOGPTBFDL(this, LOGL_DEBUG, "Scheduling Ack/Nack polling, because %d blocks sent.\n", - POLL_ACK_AFTER_FRAMES); + POLL_ACK_AFTER_FRAMES); } rc = check_polling(fn, ts, &new_poll_fn, &rrbp); @@ -1211,8 +1207,11 @@ m_dl_ack_requested = true; } -bool gprs_rlcmac_dl_tbf::need_control_ts() const +/* Does this DL TBF require to poll the MS for DL ACK/NACK? */ +bool gprs_rlcmac_dl_tbf::need_poll_for_dl_ack_nack() const { + /* poll after POLL_ACK_AFTER_FRAMES frames, or when final block is tx or + * when last polled DL ACK/NACK was lost. */ return state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_TO_DL_ACK) || m_tx_counter >= POLL_ACK_AFTER_FRAMES || m_dl_ack_requested; diff --git a/src/tbf_dl.h b/src/tbf_dl.h index ad1469a..27b6a2c 100644 --- a/src/tbf_dl.h +++ b/src/tbf_dl.h @@ -53,7 +53,7 @@ void trigger_ass(struct gprs_rlcmac_tbf *old_tbf); void request_dl_ack(); - bool need_control_ts() const; + bool need_poll_for_dl_ack_nack() const; bool have_data() const; int frames_since_last_poll(unsigned fn) const; int frames_since_last_drain(unsigned fn) const; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25105 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib0e9b9547f5292b95064bab2dc182fdf659f0518 Gerrit-Change-Number: 25105 Gerrit-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 Jul 29 16:28:53 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 29 Jul 2021 16:28:53 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add MSC_Tests.TC_call_re_establishment In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25070 ) Change subject: msc: add MSC_Tests.TC_call_re_establishment ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25070/3/msc/MSC_Tests.ttcn File msc/MSC_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25070/3/msc/MSC_Tests.ttcn at 6647 PS3, Line 6647: 30.0 seems pretty high, also below. Shouldn't 10s be more than enough? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25070 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifdff5573eeb3b3d41e8599b9b0228411d2576864 Gerrit-Change-Number: 25070 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 29 Jul 2021 16:28:53 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 16:30:19 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 29 Jul 2021 16:30:19 +0000 Subject: Change in osmo-pcu[master]: tbf.h: Improve documentation on several flags References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25106 ) Change subject: tbf.h: Improve documentation on several flags ...................................................................... tbf.h: Improve documentation on several flags Change-Id: Ice2c164ced039fb4ab621d8f7c2fb85f8348788a --- M src/tbf.h 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/06/25106/1 diff --git a/src/tbf.h b/src/tbf.h index 84c3d39..358a7ad 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -124,9 +124,9 @@ #define GPRS_RLCMAC_FLAG_CCCH 0 /* assignment on CCCH */ #define GPRS_RLCMAC_FLAG_PACCH 1 /* assignment on PACCH */ -#define GPRS_RLCMAC_FLAG_DL_ACK 2 /* downlink acknowledge received */ -#define GPRS_RLCMAC_FLAG_TO_UL_ACK 3 -#define GPRS_RLCMAC_FLAG_TO_DL_ACK 4 +#define GPRS_RLCMAC_FLAG_DL_ACK 2 /* DL TBF: At least one DL ACK/NACK was recieved since it was assigned */ +#define GPRS_RLCMAC_FLAG_TO_UL_ACK 3 /* UL TBF: Failed to receive last polled CTRL ACK confirming our UL ACK/NACK */ +#define GPRS_RLCMAC_FLAG_TO_DL_ACK 4 /* DL TBF: Failed to receive last polled DL ACK/NACK */ #define GPRS_RLCMAC_FLAG_TO_MASK 0xf0 /* timeout bits */ #define T_START(tbf, t, T, r, f) tbf->t_start(t, T, r, f, __FILE__, __LINE__) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25106 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ice2c164ced039fb4ab621d8f7c2fb85f8348788a Gerrit-Change-Number: 25106 Gerrit-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 Jul 29 16:31:45 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 29 Jul 2021 16:31:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add MSC_Tests.TC_call_re_establishment_auth In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25073 ) Change subject: msc: add MSC_Tests.TC_call_re_establishment_auth ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25073 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8110a6b432de734d53b111c7b69aabca12129691 Gerrit-Change-Number: 25073 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 29 Jul 2021 16:31: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 Jul 29 16:32:34 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 29 Jul 2021 16:32:34 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add MSC_Tests.TC_call_re_establishment_ciph In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25091 ) Change subject: msc: add MSC_Tests.TC_call_re_establishment_ciph ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25091 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8bbe53fc9fced3e455aa30c571ef7684890adb99 Gerrit-Change-Number: 25091 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 29 Jul 2021 16:32:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 16:35:00 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 29 Jul 2021 16:35:00 +0000 Subject: Change in osmo-msc[master]: add sequence_charts/call_reestablishment.msc In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/25074 ) Change subject: add sequence_charts/call_reestablishment.msc ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25074 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I6ebc3a0555ef82e1c027ca75b45f8147a3e07ee6 Gerrit-Change-Number: 25074 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 29 Jul 2021 16:35:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 16:36:20 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 29 Jul 2021 16:36:20 +0000 Subject: Change in osmo-msc[master]: add vlr_subscr_find_by_mi In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/25075 ) Change subject: add vlr_subscr_find_by_mi ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25075 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I5291d098a02268bd1c2e30195ae61e4a13e8709c Gerrit-Change-Number: 25075 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 29 Jul 2021 16:36:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 17:00:09 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 29 Jul 2021 17:00:09 +0000 Subject: Change in osmo-msc[master]: implement CM Re-Establish for voice calls In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/25076 ) Change subject: implement CM Re-Establish for voice calls ...................................................................... Patch Set 4: Code-Review+1 (2 comments) https://gerrit.osmocom.org/c/osmo-msc/+/25076/4/src/libmsc/gsm_04_08.c File src/libmsc/gsm_04_08.c: https://gerrit.osmocom.org/c/osmo-msc/+/25076/4/src/libmsc/gsm_04_08.c at 921 PS4, Line 921: * Clear any connections at will. */ I guess fixing this requires major refactoring and is out of scope for this patch. Hopefully there are plans to follow up? https://gerrit.osmocom.org/c/osmo-msc/+/25076/1/src/libmsc/msc_a.c File src/libmsc/msc_a.c: https://gerrit.osmocom.org/c/osmo-msc/+/25076/1/src/libmsc/msc_a.c at 125 PS1, Line 125: ? MSC_CTR_CM_RE_ESTABLISH_REQ_ACCEPTED : MSC_CTR_CM_RE_ESTABLISH_REQ_REJECTED)); > You can still merge it with linter CR-1 +1 FWIW, the linter is still in testing, and therefore only enabled in osmo-mgw (a project I picked randomly). It seems that the line length check is more annoying than useful so I'll submit a patch to disable it. Ping me if it does something annoying, then I can fix it (or submit a patch to change the behavior yourself). The idea is that it errors on the cases where it's definitively against accepted coding standards, e.g. function() { instead of function() { but that it doesn't annoy us with false positives (such as the max line check that apparently is fine to ignore under certain conditions). -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25076 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I6fa37d6ca9fcb1637742b40e37b68d67664c9b60 Gerrit-Change-Number: 25076 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 29 Jul 2021 17:00:09 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: neels 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 Jul 29 17:24:24 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 29 Jul 2021 17:24:24 +0000 Subject: Change in osmo-ci[master]: lint: ignore LONG_LONE References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/25107 ) Change subject: lint: ignore LONG_LONE ...................................................................... lint: ignore LONG_LONE With recent code reviews I've realized that in Osmocom we do often use more than 120 characters per line for various reasons. So adjust the linter to not fail anymore if that is the case. Related: https://gerrit.osmocom.org/c/osmo-pcu/+/25056/4/src/tbf_ul_ass_fsm.h#32 Related: https://gerrit.osmocom.org/c/osmo-msc/+/25076/1/src/libmsc/msc_a.c#125 Related: OS#5087 Change-Id: I88fd86ac550fddb3017aeceb647c3d9e75367372 --- M lint/checkpatch/checkpatch_osmo.sh 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/07/25107/1 diff --git a/lint/checkpatch/checkpatch_osmo.sh b/lint/checkpatch/checkpatch_osmo.sh index e88688a..abeed56 100755 --- a/lint/checkpatch/checkpatch_osmo.sh +++ b/lint/checkpatch/checkpatch_osmo.sh @@ -23,6 +23,7 @@ # * INITIALISED_STATIC: we use this, see also http://lkml.iu.edu/hypermail/linux/kernel/0808.1/2235.html # * LINE_CONTINUATIONS: false positives # * LINE_SPACING: we don't always put a blank line after declarations +# * LONG_LINE: should be 120 chars, but exceptions are done often so don't fail here # * PREFER_DEFINED_ATTRIBUTE_MACRO: macros like __packed not defined in libosmocore # * PREFER_FALLTHROUGH: pseudo keyword macro "fallthrough" is not defined in libosmocore # * REPEATED_WORD: false positives in doxygen descriptions (e.g. '\param[in] data Data passed through...') @@ -50,6 +51,7 @@ --ignore INITIALISED_STATIC \ --ignore LINE_CONTINUATIONS \ --ignore LINE_SPACING \ + --ignore LONG_LINE \ --ignore PREFER_DEFINED_ATTRIBUTE_MACRO \ --ignore PREFER_FALLTHROUGH \ --ignore REPEATED_WORD \ -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/25107 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I88fd86ac550fddb3017aeceb647c3d9e75367372 Gerrit-Change-Number: 25107 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 17:25:21 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 29 Jul 2021 17:25:21 +0000 Subject: Change in osmo-msc[master]: implement CM Re-Establish for voice calls In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/25076 ) Change subject: implement CM Re-Establish for voice calls ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-msc/+/25076/1/src/libmsc/msc_a.c File src/libmsc/msc_a.c: https://gerrit.osmocom.org/c/osmo-msc/+/25076/1/src/libmsc/msc_a.c at 125 PS1, Line 125: ? MSC_CTR_CM_RE_ESTABLISH_REQ_ACCEPTED : MSC_CTR_CM_RE_ESTABLISH_REQ_REJECTED)); > > You can still merge it with linter CR-1 [?] => https://gerrit.osmocom.org/c/osmo-ci/+/25107 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25076 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I6fa37d6ca9fcb1637742b40e37b68d67664c9b60 Gerrit-Change-Number: 25076 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 29 Jul 2021 17:25:21 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: osmith Comment-In-Reply-To: neels 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 Jul 29 17:59:38 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 29 Jul 2021 17:59:38 +0000 Subject: Change in simtrace2[master]: WIP: introduce support for new ngff_cardem board In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24879 ) Change subject: WIP: introduce support for new ngff_cardem board ...................................................................... Patch Set 2: (4 comments) https://gerrit.osmocom.org/c/simtrace2/+/24879/2/firmware/libboard/ngff_cardem/include/board.h File firmware/libboard/ngff_cardem/include/board.h: https://gerrit.osmocom.org/c/simtrace2/+/24879/2/firmware/libboard/ngff_cardem/include/board.h at 42 PS2, Line 42: #define PINS_LEDS PIN_LED_RED, PIN_LED_GREEN trailing whitespace https://gerrit.osmocom.org/c/simtrace2/+/24879/2/firmware/libboard/ngff_cardem/include/board.h at 74 PS2, Line 74: //#define PIN_USIM2_VCC {PIO_PB2, PIOB, ID_PIOB, PIO_INPUT, PIO_DEFAULT} Commented out, is it needed? https://gerrit.osmocom.org/c/simtrace2/+/24879/2/firmware/libboard/ngff_cardem/include/board.h at 93 PS2, Line 93: //#define PIN_SIM_SWITCH1 {PIO_PA20, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} Why are those commented, but redefined in sim_switch.c? https://gerrit.osmocom.org/c/simtrace2/+/24879/2/firmware/libboard/ngff_cardem/source/sim_switch.c File firmware/libboard/ngff_cardem/source/sim_switch.c: https://gerrit.osmocom.org/c/simtrace2/+/24879/2/firmware/libboard/ngff_cardem/source/sim_switch.c at 25 PS2, Line 25: static const Pin pin_conn_usim1 = {PIO_PA20, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT}; Why are those definitions not in board.h as well? -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24879 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I9649c853271c22d5403cdf3a7ec9029c9cecfa32 Gerrit-Change-Number: 24879 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: daniel Gerrit-Comment-Date: Thu, 29 Jul 2021 17:59:38 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 18:22:56 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 29 Jul 2021 18:22:56 +0000 Subject: Change in osmo-ci[master]: lint: ignore LONG_LONE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/25107 ) Change subject: lint: ignore LONG_LONE ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/25107 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I88fd86ac550fddb3017aeceb647c3d9e75367372 Gerrit-Change-Number: 25107 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 29 Jul 2021 18:22:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 18:29:13 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 29 Jul 2021 18:29:13 +0000 Subject: Change in osmo-msc[master]: implement CM Re-Establish for voice calls In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/25076 ) Change subject: implement CM Re-Establish for voice calls ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25076 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I6fa37d6ca9fcb1637742b40e37b68d67664c9b60 Gerrit-Change-Number: 25076 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 29 Jul 2021 18:29:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 18:34:30 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 29 Jul 2021 18:34:30 +0000 Subject: Change in osmo-pcu[master]: WIP: Move tbf ul_ack_state to osmocom FSM References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25108 ) Change subject: WIP: Move tbf ul_ack_state to osmocom FSM ...................................................................... WIP: Move tbf ul_ack_state to osmocom FSM Change-Id: Icf23bf5a4b85fbcbf1542cebceb76b9ba7185d30 --- M src/Makefile.am M src/encoding.cpp M src/encoding.h M src/gprs_rlcmac_sched.cpp M src/pdch.cpp M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp M src/tbf_ul.cpp M src/tbf_ul.h A src/tbf_ul_ack_fsm.c A src/tbf_ul_ack_fsm.h M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err M tests/types/TypesTest.cpp M tests/types/TypesTest.err 16 files changed, 487 insertions(+), 171 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/08/25108/1 diff --git a/src/Makefile.am b/src/Makefile.am index b45fe68..07be12d 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -60,6 +60,7 @@ tbf.cpp \ tbf_fsm.c \ tbf_ul.cpp \ + tbf_ul_ack_fsm.c \ tbf_ul_ass_fsm.c \ tbf_dl.cpp \ tbf_dl_ass_fsm.c \ @@ -101,6 +102,7 @@ tbf.h \ tbf_fsm.h \ tbf_ul.h \ + tbf_ul_ack_fsm.h \ tbf_ul_ass_fsm.h \ tbf_dl.h \ tbf_dl_ass_fsm.h \ diff --git a/src/encoding.cpp b/src/encoding.cpp index f945161..30b0ee1 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -1106,9 +1106,8 @@ bitvec_write_field(dest, &wp, 0, 1); // 0: don't have REL 5 }; -void Encoding::write_packet_uplink_ack( - bitvec * dest, struct gprs_rlcmac_ul_tbf *tbf, bool is_final, - uint8_t rrbp) +void write_packet_uplink_ack(struct bitvec *dest, struct gprs_rlcmac_ul_tbf *tbf, + bool is_final, uint8_t rrbp) { unsigned wp = 0; diff --git a/src/encoding.h b/src/encoding.h index 298a937..998e69a 100644 --- a/src/encoding.h +++ b/src/encoding.h @@ -65,10 +65,6 @@ static void encode_rbb(const char *show_rbb, bitvec *rbb); - static void write_packet_uplink_ack( - bitvec * dest, struct gprs_rlcmac_ul_tbf *tbf, bool is_final, - uint8_t rrbp); - static int write_paging_request(bitvec * dest, const struct osmo_mobile_identity *mi); static unsigned write_repeated_page_info(bitvec * dest, unsigned& wp, uint8_t len, @@ -119,6 +115,9 @@ int8_t ta_idx, uint8_t ta_ts, bool use_egprs, uint8_t control_ack); +void write_packet_uplink_ack(struct bitvec *dest, struct gprs_rlcmac_ul_tbf *tbf, + bool is_final, uint8_t rrbp); + void write_packet_neighbour_cell_data(RlcMacDownlink_t *block, bool tfi_is_dl, uint8_t tfi, uint8_t container_id, uint8_t container_idx, PNCDContainer_t *container); diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index ed81981..6a77472 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -54,7 +54,7 @@ /* this trx, this ts */ if (!ul_tbf->is_control_ts(pdch->ts_no)) continue; - if (ul_tbf->ul_ack_state_is(GPRS_RLCMAC_UL_ACK_SEND_ACK)) + if (tbf_ul_ack_rts(ul_tbf)) tbf_cand->ul_ack = ul_tbf; if (tbf_dl_ass_rts(ul_tbf)) tbf_cand->dl_ass = ul_tbf; @@ -173,7 +173,8 @@ else if (tbf == tbfs->dl_ass && tbf->direction == GPRS_RLCMAC_UL_TBF) msg = tbf_dl_ass_create_rlcmac_msg(tbfs->dl_ass, fn, ts); else if (tbf == tbfs->ul_ack) - msg = tbfs->ul_ack->create_ul_ack(fn, ts); + //msg = tbfs->ul_ack->create_ul_ack(fn, ts); + msg = tbf_ul_ack_create_rlcmac_msg(tbfs->ul_ack, fn, ts); else if (tbf == tbfs->nacc) { msg = ms_nacc_create_rlcmac_msg(tbf->ms(), tbf, fn, ts); } diff --git a/src/pdch.cpp b/src/pdch.cpp index 439759f..da43bdf 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -344,11 +344,10 @@ /* check if this control ack belongs to packet uplink ack */ ul_tbf = as_ul_tbf(tbf); - if (ul_tbf && ul_tbf->handle_ctrl_ack(reason)) { + if (ul_tbf && reason == PDCH_ULC_POLL_UL_ACK && tbf_ul_ack_exp_ctrl_ack(ul_tbf, fn, ts_no)) { + osmo_fsm_inst_dispatch(ul_tbf->ul_ack_fsm.fi, TBF_UL_ACK_EV_RX_CTRL_ACK, NULL); + /* We can free since we only set polling on final UL ACK/NACK */ LOGPTBF(tbf, LOGL_DEBUG, "[UPLINK] END\n"); - if (ul_tbf->ctrl_ack_to_toggle()) - LOGPTBF(tbf, LOGL_NOTICE, "Recovered uplink ack for UL\n"); - tbf_free(tbf); return; } diff --git a/src/tbf.cpp b/src/tbf.cpp index 5efbe7f..b43ffde 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -59,13 +59,6 @@ unsigned int next_tbf_ctr_group_id = 0; /* Incrementing group id */ -const struct value_string gprs_rlcmac_tbf_ul_ack_state_names[] = { - OSMO_VALUE_STRING(GPRS_RLCMAC_UL_ACK_NONE), - OSMO_VALUE_STRING(GPRS_RLCMAC_UL_ACK_SEND_ACK), /* send acknowledge on next RTS */ - OSMO_VALUE_STRING(GPRS_RLCMAC_UL_ACK_WAIT_ACK), /* wait for PACKET CONTROL ACK */ - { 0, NULL } -}; - static const struct value_string tbf_counters_names[] = { OSMO_VALUE_STRING(N3101), OSMO_VALUE_STRING(N3103), @@ -113,7 +106,6 @@ m_created_ts(0), m_ctrs(NULL), m_ms(ms), - ul_ack_state(GPRS_RLCMAC_UL_ACK_NONE), m_egprs_enabled(false) { /* The classes of these members do not have proper constructors yet. @@ -568,8 +560,6 @@ chan, new_poll_fn, ts); break; case PDCH_ULC_POLL_UL_ACK: - ul_ack_state = GPRS_RLCMAC_UL_ACK_WAIT_ACK; - LOGPTBFUL(this, LOGL_DEBUG, "Scheduled UL Acknowledgement polling on %s (FN=%d, TS=%d)\n", chan, new_poll_fn, ts); break; @@ -591,12 +581,7 @@ LOGPTBF(this, LOGL_NOTICE, "poll timeout for FN=%d, TS=%d (curr FN %d)\n", poll_fn, pdch->ts_no, bts_current_frame_number(bts)); - if (ul_tbf && ul_tbf->handle_ctrl_ack(reason)) { - if (!ul_tbf->ctrl_ack_to_toggle()) { - LOGPTBF(this, LOGL_NOTICE, - "Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ACK: %s\n", - tbf_rlcmac_diag(this)); - } + if (ul_tbf && reason == PDCH_ULC_POLL_UL_ACK && tbf_ul_ack_exp_ctrl_ack(ul_tbf, poll_fn, pdch->ts_no)) { bts_do_rate_ctr_inc(bts, CTR_RLC_ACK_TIMEDOUT); bts_do_rate_ctr_inc(bts, CTR_PUAN_POLL_TIMEDOUT); if (state_is(TBF_ST_FINISHED)) { @@ -605,10 +590,8 @@ osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_MAX_N3103, NULL); return; } - /* reschedule UL ack */ - ul_tbf->ul_ack_state = GPRS_RLCMAC_UL_ACK_SEND_ACK; } - + osmo_fsm_inst_dispatch(ul_tbf->ul_ack_fsm.fi, TBF_UL_ACK_EV_POLL_TIMEOUT, NULL); } else if (ul_ass_state_is(TBF_UL_ASS_WAIT_ACK)) { bts_do_rate_ctr_inc(bts, CTR_RLC_ASS_TIMEDOUT); bts_do_rate_ctr_inc(bts, CTR_PUA_POLL_TIMEDOUT); @@ -761,6 +744,12 @@ osmo_fsm_inst_update_id(tbf->state_fsm.fi, buf); osmo_fsm_inst_update_id(tbf->ul_ass_fsm.fi, buf); osmo_fsm_inst_update_id(tbf->dl_ass_fsm.fi, buf); + + if (tbf_direction(tbf) == GPRS_RLCMAC_UL_TBF) { + struct gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(tbf); + osmo_fsm_inst_update_id(ul_tbf->ul_ack_fsm.fi, buf); + } + } void gprs_rlcmac_tbf::rotate_in_list() diff --git a/src/tbf.h b/src/tbf.h index 358a7ad..ffd6cc2 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -58,14 +58,6 @@ * TBF instance */ -enum gprs_rlcmac_tbf_ul_ack_state { - GPRS_RLCMAC_UL_ACK_NONE = 0, - GPRS_RLCMAC_UL_ACK_SEND_ACK, /* send acknowledge on next RTS */ - GPRS_RLCMAC_UL_ACK_WAIT_ACK, /* wait for PACKET CONTROL ACK */ -}; - -extern const struct value_string gprs_rlcmac_tbf_ul_ack_state_names[]; - enum gprs_rlcmac_tbf_direction { GPRS_RLCMAC_DL_TBF, GPRS_RLCMAC_UL_TBF @@ -125,12 +117,10 @@ #define GPRS_RLCMAC_FLAG_CCCH 0 /* assignment on CCCH */ #define GPRS_RLCMAC_FLAG_PACCH 1 /* assignment on PACCH */ #define GPRS_RLCMAC_FLAG_DL_ACK 2 /* DL TBF: At least one DL ACK/NACK was recieved since it was assigned */ -#define GPRS_RLCMAC_FLAG_TO_UL_ACK 3 /* UL TBF: Failed to receive last polled CTRL ACK confirming our UL ACK/NACK */ -#define GPRS_RLCMAC_FLAG_TO_DL_ACK 4 /* DL TBF: Failed to receive last polled DL ACK/NACK */ +#define GPRS_RLCMAC_FLAG_TO_DL_ACK 3 /* DL TBF: Failed to receive last polled DL ACK/NACK */ #define GPRS_RLCMAC_FLAG_TO_MASK 0xf0 /* timeout bits */ #define T_START(tbf, t, T, r, f) tbf->t_start(t, T, r, f, __FILE__, __LINE__) -#define TBF_SET_ACK_STATE(t, st) do { t->set_ack_state(st, __FILE__, __LINE__); } while(0) #ifdef __cplusplus extern "C" { @@ -180,8 +170,6 @@ bool state_is_not(enum tbf_fsm_states rhs) const; bool dl_ass_state_is(enum tbf_dl_ass_fsm_states rhs) const; bool ul_ass_state_is(enum tbf_ul_ass_fsm_states rhs) const; - bool ul_ack_state_is(enum gprs_rlcmac_tbf_ul_ack_state rhs) const; - void set_ack_state(enum gprs_rlcmac_tbf_ul_ack_state new_state, const char *file, int line); void poll_sched_set(const char *file, int line); void poll_sched_unset(const char *file, int line); bool check_n_clear(uint8_t state_flag); @@ -293,7 +281,6 @@ struct GprsMs *m_ms; private: void enable_egprs(); - enum gprs_rlcmac_tbf_ul_ack_state ul_ack_state; bool m_egprs_enabled; struct osmo_timer_list Tarr[T_MAX]; uint8_t Narr[N_MAX]; @@ -315,11 +302,6 @@ return tbf_ul_ass_fi(this)->state == rhs; } -inline bool gprs_rlcmac_tbf::ul_ack_state_is(enum gprs_rlcmac_tbf_ul_ack_state rhs) const -{ - return ul_ack_state == rhs; -} - inline bool gprs_rlcmac_tbf::state_is_not(enum tbf_fsm_states rhs) const { return tbf_state(this) != rhs; @@ -331,15 +313,6 @@ return osmo_fsm_inst_state_name(state_fsm.fi); } -inline void gprs_rlcmac_tbf::set_ack_state(enum gprs_rlcmac_tbf_ul_ack_state new_state, const char *file, int line) -{ - LOGPSRC(DTBF, LOGL_DEBUG, file, line, "%s changes UL ACK state from %s to %s\n", - tbf_name(this), - get_value_string(gprs_rlcmac_tbf_ul_ack_state_names, ul_ack_state), - get_value_string(gprs_rlcmac_tbf_ul_ack_state_names, new_state)); - ul_ack_state = new_state; -} - inline bool gprs_rlcmac_tbf::check_n_clear(uint8_t state_flag) { if ((state_fsm.state_flags & (1 << state_flag))) { diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 34c5630..905bf05 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -249,7 +249,7 @@ * or MULTIPLE TBF DOWNLINK ASSIGNMENT messages before contention resolution is * completed on the mobile station side." */ if (ul_tbf && ul_tbf->m_contention_resolution_done - && !ul_tbf->m_final_ack_sent) { + && !tbf_ul_ack_waiting_cnf_final_ack(ul_tbf)) { use_trx = ul_tbf->trx->trx_no; ss = false; old_ul_tbf = ul_tbf; diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index dc7d33d..0819d44 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -92,6 +92,9 @@ gprs_rlcmac_ul_tbf::~gprs_rlcmac_ul_tbf() { + osmo_fsm_inst_free(ul_ack_fsm.fi); + ul_ack_fsm.fi = NULL; + rate_ctr_group_free(m_ul_egprs_ctrs); rate_ctr_group_free(m_ul_gprs_ctrs); /* ~gprs_rlcmac_tbf() is called automatically upon return */ @@ -230,11 +233,15 @@ gprs_rlcmac_tbf(bts_, ms, GPRS_RLCMAC_UL_TBF), m_rx_counter(0), m_contention_resolution_done(0), - m_final_ack_sent(0), m_ul_gprs_ctrs(NULL), m_ul_egprs_ctrs(NULL) { memset(&m_usf, USF_INVALID, sizeof(m_usf)); + + memset(&ul_ack_fsm, 0, sizeof(ul_ack_fsm)); + ul_ack_fsm.tbf = this; + ul_ack_fsm.fi = osmo_fsm_inst_alloc(&tbf_ul_ack_fsm, this, &ul_ack_fsm, LOGL_INFO, NULL); + } /* @@ -287,26 +294,6 @@ return 0; } -bool gprs_rlcmac_ul_tbf::ctrl_ack_to_toggle() -{ - if (check_n_clear(GPRS_RLCMAC_FLAG_TO_UL_ACK)) - return true; /* GPRS_RLCMAC_FLAG_TO_UL_ACK was set, now cleared */ - - state_fsm.state_flags |= (1 << GPRS_RLCMAC_FLAG_TO_UL_ACK); - return false; /* GPRS_RLCMAC_FLAG_TO_UL_ACK was unset, now set */ -} - -bool gprs_rlcmac_ul_tbf::handle_ctrl_ack(enum pdch_ulc_tbf_poll_reason reason) -{ - /* check if this control ack belongs to packet uplink ack */ - if (reason == PDCH_ULC_POLL_UL_ACK && ul_ack_state_is(GPRS_RLCMAC_UL_ACK_WAIT_ACK)) { - TBF_SET_ACK_STATE(this, GPRS_RLCMAC_UL_ACK_NONE); - return true; - } - - return false; -} - void gprs_rlcmac_ul_tbf::contention_resolution_start() { /* 3GPP TS 44.018 sec 11.1.2 Timers on the network side: "This timer is @@ -338,59 +325,6 @@ m_contention_resolution_done = 1; } -struct msgb *gprs_rlcmac_ul_tbf::create_ul_ack(uint32_t fn, uint8_t ts) -{ - int final = (state_is(TBF_ST_FINISHED)); - struct msgb *msg; - int rc; - unsigned int rrbp = 0; - uint32_t new_poll_fn = 0; - - if (final) { - if (ul_ack_state_is(GPRS_RLCMAC_UL_ACK_WAIT_ACK)) { - LOGPTBFUL(this, LOGL_DEBUG, - "Polling is already scheduled, so we must wait for the final uplink ack...\n"); - return NULL; - } - - rc = check_polling(fn, ts, &new_poll_fn, &rrbp); - if (rc < 0) - return NULL; - } - - msg = msgb_alloc(23, "rlcmac_ul_ack"); - if (!msg) - return NULL; - bitvec *ack_vec = bitvec_alloc(23, tall_pcu_ctx); - if (!ack_vec) { - msgb_free(msg); - return NULL; - } - bitvec_unhex(ack_vec, DUMMY_VEC); - Encoding::write_packet_uplink_ack(ack_vec, this, final, rrbp); - bitvec_pack(ack_vec, msgb_put(msg, 23)); - bitvec_free(ack_vec); - - /* TS 44.060 7a.2.1.1: "The contention resolution is completed on - * the network side when the network receives an RLC data block that - * comprises the TLLI value that identifies the mobile station and the - * TFI value associated with the TBF." - * However, it's handier for us to mark contention resolution success - * here since according to spec upon rx UL ACK is the time at which MS - * realizes contention resolution succeeds. */ - if (is_tlli_valid()) - contention_resolution_success(); - - if (final) { - set_polling(new_poll_fn, ts, PDCH_ULC_POLL_UL_ACK); - /* waiting for final acknowledge */ - m_final_ack_sent = 1; - } else - TBF_SET_ACK_STATE(this, GPRS_RLCMAC_UL_ACK_NONE); - - return msg; -} - /*! \brief receive data from PDCH/L1 */ int gprs_rlcmac_ul_tbf::rcv_data_block_acknowledged( const struct gprs_rlc_data_info *rlc, @@ -588,14 +522,7 @@ if (!require_ack) return; - if (ul_ack_state_is(GPRS_RLCMAC_UL_ACK_NONE)) { - /* trigger sending at next RTS */ - TBF_SET_ACK_STATE(this, GPRS_RLCMAC_UL_ACK_SEND_ACK); - } else { - /* already triggered */ - LOGPTBFUL(this, LOGL_DEBUG, - "Sending Ack/Nack already scheduled, no need to re-schedule\n"); - } + osmo_fsm_inst_dispatch(this->ul_ack_fsm.fi, TBF_UL_ACK_EV_SCHED_ACK, NULL); } /* Send Uplink unit-data to SGSN. */ @@ -841,3 +768,13 @@ { return tbf->m_contention_resolution_done; } + +struct osmo_fsm_inst *tbf_ul_ack_fi(const struct gprs_rlcmac_ul_tbf *tbf) +{ + return tbf->ul_ack_fsm.fi; +} + +void ul_tbf_contention_resolution_success(struct gprs_rlcmac_ul_tbf *tbf) +{ + return tbf->contention_resolution_success(); +} diff --git a/src/tbf_ul.h b/src/tbf_ul.h index 826062f..6f462e5 100644 --- a/src/tbf_ul.h +++ b/src/tbf_ul.h @@ -24,6 +24,15 @@ #include #include "tbf.h" + +#ifdef __cplusplus +extern "C" { +#endif +#include +#ifdef __cplusplus +} +#endif + /* * TBF instance */ @@ -54,7 +63,6 @@ gprs_rlcmac_ul_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms); ~gprs_rlcmac_ul_tbf(); gprs_rlc_window *window(); - struct msgb *create_ul_ack(uint32_t fn, uint8_t ts); bool ctrl_ack_to_toggle(); bool handle_ctrl_ack(enum pdch_ulc_tbf_poll_reason reason); /* blocks were acked */ @@ -97,11 +105,12 @@ int32_t m_rx_counter; /* count all received blocks */ uint8_t m_usf[8]; /* list USFs per PDCH (timeslot), initialized to USF_INVALID */ uint8_t m_contention_resolution_done; /* set after done */ - uint8_t m_final_ack_sent; /* set if we sent final ack */ struct rate_ctr_group *m_ul_gprs_ctrs; struct rate_ctr_group *m_ul_egprs_ctrs; + struct tbf_ul_ass_fsm_ctx ul_ack_fsm; + protected: void maybe_schedule_uplink_acknack(const gprs_rlc_data_info *rlc, bool countdown_finished); @@ -138,6 +147,8 @@ struct gprs_rlcmac_ul_tbf *as_ul_tbf(struct gprs_rlcmac_tbf *tbf); void tbf_usf_timeout(struct gprs_rlcmac_ul_tbf *tbf); bool ul_tbf_contention_resolution_done(const struct gprs_rlcmac_ul_tbf *tbf); +struct osmo_fsm_inst *tbf_ul_ack_fi(const struct gprs_rlcmac_ul_tbf *tbf); +void ul_tbf_contention_resolution_success(struct gprs_rlcmac_ul_tbf *tbf); #define LOGPTBFUL(tbf, level, fmt, args...) LOGP(DTBFUL, level, "%s " fmt, tbf_name(tbf), ## args) #ifdef __cplusplus diff --git a/src/tbf_ul_ack_fsm.c b/src/tbf_ul_ack_fsm.c new file mode 100644 index 0000000..79f004e --- /dev/null +++ b/src/tbf_ul_ack_fsm.c @@ -0,0 +1,251 @@ +/* tbf_ul_ack_fsm.c + * + * Copyright (C) 2021 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 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#define X(s) (1 << (s)) + +const struct osmo_tdef_state_timeout tbf_ul_ack_fsm_timeouts[32] = { + [TBF_UL_ACK_ST_NONE] = {}, + [TBF_UL_ACK_ST_SCHED_UL_ACK] = {}, + [TBF_UL_ACK_ST_WAIT_ACK] = {}, +}; + +const struct value_string tbf_ul_ack_fsm_event_names[] = { + { TBF_UL_ACK_EV_SCHED_ACK, "SCHED_ACK" }, + { TBF_UL_ACK_EV_CREATE_RLCMAC_MSG, "CREATE_RLCMAC_MSG" }, + { TBF_UL_ACK_EV_RX_CTRL_ACK, "RX_CTRL_ACK" }, + { TBF_UL_ACK_EV_POLL_TIMEOUT, "POLL_TIMEOUT" }, + { 0, NULL } +}; + +static struct msgb *create_ul_ack_nack(const struct tbf_ul_ack_fsm_ctx *ctx, + const struct tbf_ul_ack_ev_create_rlcmac_msg_ctx *d, + bool final) +{ + struct msgb *msg; + int rc; + unsigned int rrbp = 0; + uint32_t new_poll_fn = 0; + struct gprs_rlcmac_tbf *tbf = (struct gprs_rlcmac_tbf *)ctx->tbf; + struct GprsMs *ms = tbf_ms(tbf); + + if (final) { + rc = tbf_check_polling(tbf, d->fn, d->ts, &new_poll_fn, &rrbp); + if (rc < 0) + return NULL; + } + + msg = msgb_alloc(23, "rlcmac_ul_ack"); + if (!msg) + return NULL; + struct bitvec *ack_vec = bitvec_alloc(23, tbf); + if (!ack_vec) { + msgb_free(msg); + return NULL; + } + bitvec_unhex(ack_vec, DUMMY_VEC); + write_packet_uplink_ack(ack_vec, ctx->tbf, final, rrbp); + bitvec_pack(ack_vec, msgb_put(msg, 23)); + bitvec_free(ack_vec); + + /* TS 44.060 7a.2.1.1: "The contention resolution is completed on + * the network side when the network receives an RLC data block that + * comprises the TLLI value that identifies the mobile station and the + * TFI value associated with the TBF." + * However, it's handier for us to mark contention resolution success + * here since according to spec upon rx UL ACK is the time at which MS + * realizes contention resolution succeeds. */ + if (ms_tlli(ms) != GSM_RESERVED_TMSI) + ul_tbf_contention_resolution_success(ctx->tbf); + + if (final) + tbf_set_polling(tbf, new_poll_fn, d->ts, PDCH_ULC_POLL_UL_ACK); + + return msg; +} + +static void st_none(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + switch (event) { + case TBF_UL_ACK_EV_SCHED_ACK: + tbf_ul_ack_fsm_state_chg(fi, TBF_UL_ACK_ST_SCHED_UL_ACK); + break; + default: + OSMO_ASSERT(0); + } +} + +static void st_sched_ul_ack(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct tbf_ul_ack_fsm_ctx *ctx = (struct tbf_ul_ack_fsm_ctx *)fi->priv; + struct gprs_rlcmac_tbf *tbf = (struct gprs_rlcmac_tbf *)ctx->tbf; + struct tbf_ul_ack_ev_create_rlcmac_msg_ctx *data_ctx; + bool final; + + switch (event) { + case TBF_UL_ACK_EV_SCHED_ACK: + LOGPTBFUL(tbf, LOGL_DEBUG, + "Sending Ack/Nack already scheduled, no need to re-schedule\n"); + break; + case TBF_UL_ACK_EV_CREATE_RLCMAC_MSG: + data_ctx = (struct tbf_ul_ack_ev_create_rlcmac_msg_ctx *)data; + final = tbf_state(tbf) == TBF_ST_FINISHED; + data_ctx->msg = create_ul_ack_nack(ctx, data_ctx, final); + if (!data_ctx->msg) + return; + if (final) /* poll set */ + tbf_ul_ack_fsm_state_chg(fi, TBF_UL_ACK_ST_WAIT_ACK); + else + tbf_ul_ack_fsm_state_chg(fi, TBF_UL_ACK_ST_NONE); + break; + default: + OSMO_ASSERT(0); + } +} + +static void st_wait_ctrl_ack(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct tbf_ul_ack_fsm_ctx *ctx = (struct tbf_ul_ack_fsm_ctx *)fi->priv; + struct gprs_rlcmac_tbf *tbf = (struct gprs_rlcmac_tbf *)ctx->tbf; + + switch (event) { + case TBF_UL_ACK_EV_RX_CTRL_ACK: + tbf_ul_ack_fsm_state_chg(fi, TBF_UL_ACK_ST_NONE); + break; + case TBF_UL_ACK_EV_POLL_TIMEOUT: + LOGPTBF(tbf, LOGL_NOTICE, + "Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ACK: %s\n", + tbf_rlcmac_diag(tbf)); + /* Reschedule Ul Ack/NAck */ + tbf_ul_ack_fsm_state_chg(fi, TBF_UL_ACK_ST_SCHED_UL_ACK); + break; + default: + OSMO_ASSERT(0); + } +} + +static int tbf_ul_ack_fsm_timer_cb(struct osmo_fsm_inst *fi) +{ + switch (fi->T) { + default: + OSMO_ASSERT(0); + } + return 0; +} + +static struct osmo_fsm_state tbf_ul_ack_fsm_states[] = { + [TBF_UL_ACK_ST_NONE] = { + .in_event_mask = + X(TBF_UL_ACK_EV_SCHED_ACK), + .out_state_mask = + X(TBF_UL_ACK_ST_SCHED_UL_ACK), + .name = "NONE", + .action = st_none, + }, + [TBF_UL_ACK_ST_SCHED_UL_ACK] = { + .in_event_mask = + X(TBF_UL_ACK_EV_SCHED_ACK) | + X(TBF_UL_ACK_EV_CREATE_RLCMAC_MSG), + .out_state_mask = + X(TBF_UL_ACK_ST_NONE) | + X(TBF_UL_ACK_ST_WAIT_ACK), + .name = "SCHED_UL_ACK", + .action = st_sched_ul_ack, + }, + [TBF_UL_ACK_ST_WAIT_ACK] = { + .in_event_mask = + X(TBF_UL_ACK_EV_RX_CTRL_ACK) | + X(TBF_UL_ACK_EV_POLL_TIMEOUT), + .out_state_mask = + X(TBF_UL_ACK_ST_NONE) | + X(TBF_UL_ACK_ST_SCHED_UL_ACK), + .name = "WAIT_ACK", + .action = st_wait_ctrl_ack, + }, +}; + +struct osmo_fsm tbf_ul_ack_fsm = { + .name = "UL_ACK_TBF", + .states = tbf_ul_ack_fsm_states, + .num_states = ARRAY_SIZE(tbf_ul_ack_fsm_states), + .timer_cb = tbf_ul_ack_fsm_timer_cb, + .log_subsys = DTBFUL, + .event_names = tbf_ul_ack_fsm_event_names, +}; + +static __attribute__((constructor)) void tbf_ul_ack_fsm_init(void) +{ + OSMO_ASSERT(osmo_fsm_register(&tbf_ul_ack_fsm) == 0); +} + + +struct msgb *tbf_ul_ack_create_rlcmac_msg(const struct gprs_rlcmac_tbf *tbf, uint32_t fn, uint8_t ts) +{ + int rc; + struct tbf_ul_ack_ev_create_rlcmac_msg_ctx data_ctx = { + .fn = fn, + .ts = ts, + .msg = NULL, + }; + OSMO_ASSERT(tbf_direction(tbf) == GPRS_RLCMAC_UL_TBF); + + rc = osmo_fsm_inst_dispatch(tbf_ul_ack_fi((const struct gprs_rlcmac_ul_tbf *)tbf), TBF_UL_ACK_EV_CREATE_RLCMAC_MSG, &data_ctx); + if (rc != 0 || !data_ctx.msg) + return NULL; + return data_ctx.msg; +} + +bool tbf_ul_ack_rts(const struct gprs_rlcmac_tbf *tbf) +{ + struct osmo_fsm_inst *fi = tbf_ul_ack_fi((const struct gprs_rlcmac_ul_tbf *)tbf); + return fi->state == TBF_UL_ACK_ST_SCHED_UL_ACK; +} + +/* Did we already send the Final ACK and we are waiting for its confirmation (CTRL ACK) ? */ +bool tbf_ul_ack_waiting_cnf_final_ack(const struct gprs_rlcmac_tbf* tbf) +{ + OSMO_ASSERT(tbf_direction(tbf) == GPRS_RLCMAC_UL_TBF); + struct osmo_fsm_inst *fi = tbf_ul_ack_fi((const struct gprs_rlcmac_ul_tbf *)tbf); + return fi->state == TBF_UL_ACK_ST_WAIT_ACK; +} + +bool tbf_ul_ack_exp_ctrl_ack(const struct gprs_rlcmac_tbf *tbf, uint32_t fn, uint8_t ts) +{ + struct osmo_fsm_inst *fi = tbf_ul_ack_fi((const struct gprs_rlcmac_ul_tbf *)tbf); + return fi->state == TBF_UL_ACK_ST_WAIT_ACK; + /* FIXME: validate FN and TS match: && ctx->poll_fn = fn && ctx->poll_ts == ts */ + +} diff --git a/src/tbf_ul_ack_fsm.h b/src/tbf_ul_ack_fsm.h new file mode 100644 index 0000000..aaee5a3 --- /dev/null +++ b/src/tbf_ul_ack_fsm.h @@ -0,0 +1,72 @@ +/* tbf_ul_ack_fsm.h + * + * Copyright (C) 2021 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 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ +#pragma once + +#include +#include + +#include + +struct gprs_rlcmac_tbf; +struct gprs_rlcmac_ul_tbf; + +enum tbf_ul_ack_fsm_event { + TBF_UL_ACK_EV_SCHED_ACK, /* Tx UL ACK/NACK is pending */ + TBF_UL_ACK_EV_CREATE_RLCMAC_MSG, /* Scheduler wants to gen+Tx the Ass (rej): data=tbf_ul_ack_ev_create_rlcmac_msg_ctx */ + TBF_UL_ACK_EV_RX_CTRL_ACK, /* Received CTRL ACK answering poll set on UL ACK/NACK */ + TBF_UL_ACK_EV_POLL_TIMEOUT, /* Pdch Ul Controller signals timeout for poll set on UL ACK/NACK */ +}; + +enum tbf_ul_ack_fsm_states { + TBF_UL_ACK_ST_NONE = 0, + TBF_UL_ACK_ST_SCHED_UL_ACK, /* send UL ACK/NACK on next RTS */ + TBF_UL_ACK_ST_WAIT_ACK, /* wait for PACKET CONTROL ACK */ +}; + +struct tbf_ul_ack_fsm_ctx { + struct osmo_fsm_inst *fi; + struct gprs_rlcmac_ul_tbf *tbf; /* back pointer */ +}; + +extern const struct osmo_tdef_state_timeout tbf_ul_ack_fsm_timeouts[32]; +/* Transition to a state, using the T timer defined in tbf_ul_ack_fsm_timeouts. + * The actual timeout value is in turn obtained from conn->T_defs. + * Assumes local variable fi exists. */ +#define tbf_ul_ack_fsm_state_chg(fi, NEXT_STATE) \ + osmo_tdef_fsm_inst_state_chg(fi, NEXT_STATE, \ + tbf_ul_ack_fsm_timeouts, \ + the_pcu->T_defs, \ + -1) + +extern struct osmo_fsm tbf_ul_ack_fsm; + + +/* passed as data in TBF_UL_ACK_EV_CREATE_RLCMAC_MSG */ +struct tbf_ul_ack_ev_create_rlcmac_msg_ctx { + uint32_t fn; /* FN where the created DL ctrl block is to be sent */ + uint8_t ts; /* TS where the created DL ctrl block is to be sent */ + struct msgb *msg; /* to be filled by FSM during event processing */ +}; + + +struct msgb *tbf_ul_ack_create_rlcmac_msg(const struct gprs_rlcmac_tbf *tbf, uint32_t fn, uint8_t ts); +bool tbf_ul_ack_rts(const struct gprs_rlcmac_tbf *tbf); +bool tbf_ul_ack_waiting_cnf_final_ack(const struct gprs_rlcmac_tbf *tbf); +bool tbf_ul_ack_exp_ctrl_ack(const struct gprs_rlcmac_tbf *tbf, uint32_t fn, uint8_t ts); diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index 19611a7..62a2582 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -831,7 +831,8 @@ pdch->rcv_block(data_msg, 42, *fn, &meas); - struct msgb *msg1 = ul_tbf->create_ul_ack(*fn, ts_no); + osmo_fsm_inst_dispatch(ul_tbf->ul_ack_fsm.fi, TBF_UL_ACK_EV_SCHED_ACK, NULL); + struct msgb *msg1 = tbf_ul_ack_create_rlcmac_msg(ul_tbf, *fn, ts_no); static uint8_t exp1[] = { 0x40, 0x24, 0x01, 0x0b, 0x3e, 0x24, 0x46, 0x68, 0x9c, 0x70, 0x87, 0xb0, 0x06, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b @@ -858,7 +859,8 @@ pdch->rcv_block(data_msg, 42, *fn, &meas); - msg1 = ul_tbf->create_ul_ack(*fn, ts_no); + osmo_fsm_inst_dispatch(ul_tbf->ul_ack_fsm.fi, TBF_UL_ACK_EV_SCHED_ACK, NULL); + msg1 = tbf_ul_ack_create_rlcmac_msg(ul_tbf, *fn, ts_no); static uint8_t exp2[] = { 0x40, 0x24, 0x01, 0x0b, 0x3e, 0x24, 0x46, 0x68, 0x9c, 0x70, 0x88, 0xb0, 0x06, 0x8b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b @@ -1412,7 +1414,8 @@ pdch = &bts->trx[trx_no].pdch[ts_no]; pdch->rcv_block(&data[0], sizeof(data), *fn, &meas); } - ul_tbf->create_ul_ack(*fn, ts_no); + osmo_fsm_inst_dispatch(ul_tbf->ul_ack_fsm.fi, TBF_UL_ACK_EV_SCHED_ACK, NULL); + tbf_ul_ack_create_rlcmac_msg(ul_tbf, *fn, ts_no); memset(data, 0x2b, sizeof(data)); hdr3 = (struct gprs_rlc_ul_header_egprs_3 *)data; hdr3->r = 0; @@ -1440,7 +1443,7 @@ request_dl_rlc_block(ul_tbf, fn); check_tbf(ul_tbf); - OSMO_ASSERT(ul_tbf->ul_ack_state_is(GPRS_RLCMAC_UL_ACK_NONE)); + OSMO_ASSERT(tbf_ul_ack_fi(ul_tbf)->state == TBF_UL_ACK_ST_NONE); ms = bts_ms_by_tlli(bts, tlli, GSM_RESERVED_TMSI); OSMO_ASSERT(ms != NULL); @@ -1494,7 +1497,8 @@ pdch = &bts->trx[trx_no].pdch[ts_no]; pdch->rcv_block(&data[0], sizeof(data), *fn, &meas); } - ul_tbf->create_ul_ack(*fn, ts_no); + osmo_fsm_inst_dispatch(ul_tbf->ul_ack_fsm.fi, TBF_UL_ACK_EV_SCHED_ACK, NULL); + tbf_ul_ack_create_rlcmac_msg(ul_tbf, *fn, ts_no); memset(data, 0x2b, sizeof(data)); hdr3 = (struct gprs_rlc_ul_header_egprs_3 *)data; hdr3->r = 0; @@ -1518,12 +1522,13 @@ pdch = &bts->trx[trx_no].pdch[ts_no]; pdch->rcv_block(&data[0], sizeof(data), *fn, &meas); - ul_tbf->create_ul_ack(*fn, ts_no); + osmo_fsm_inst_dispatch(ul_tbf->ul_ack_fsm.fi, TBF_UL_ACK_EV_SCHED_ACK, NULL); + tbf_ul_ack_create_rlcmac_msg(ul_tbf, *fn, ts_no); request_dl_rlc_block(ul_tbf, fn); check_tbf(ul_tbf); - OSMO_ASSERT(ul_tbf->ul_ack_state_is(GPRS_RLCMAC_UL_ACK_NONE)); + OSMO_ASSERT(tbf_ul_ack_fi(ul_tbf)->state == TBF_UL_ACK_ST_NONE); ms = bts_ms_by_tlli(bts, tlli, GSM_RESERVED_TMSI); OSMO_ASSERT(ms != NULL); @@ -1580,7 +1585,8 @@ pdch = &bts->trx[trx_no].pdch[ts_no]; pdch->rcv_block(&data[0], sizeof(data), *fn, &meas); } - ul_tbf->create_ul_ack(*fn, ts_no); + osmo_fsm_inst_dispatch(ul_tbf->ul_ack_fsm.fi, TBF_UL_ACK_EV_SCHED_ACK, NULL); + tbf_ul_ack_create_rlcmac_msg(ul_tbf, *fn, ts_no); memset(data, 0x2b, sizeof(data)); hdr3 = (struct gprs_rlc_ul_header_egprs_3 *)data; hdr3->r = 0; @@ -1608,7 +1614,7 @@ request_dl_rlc_block(ul_tbf, fn); check_tbf(ul_tbf); - OSMO_ASSERT(ul_tbf->ul_ack_state_is(GPRS_RLCMAC_UL_ACK_NONE)); + OSMO_ASSERT(tbf_ul_ack_fi(ul_tbf)->state == TBF_UL_ACK_ST_NONE); ms = bts_ms_by_tlli(bts, tlli, GSM_RESERVED_TMSI); OSMO_ASSERT(ms != NULL); diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index e5664ef..afc5a8f 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -27,6 +27,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: 0): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1730,6 +1731,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: -1): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1769,7 +1771,8 @@ TBF(UL-TFI_0){FLOW}: state_chg to FINISHED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FINISHED) Scheduling Ack/Nack, because TLLI is included. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FINISHED) Scheduling final Ack/Nack, because all data was received and last block has CV==0. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FINISHED) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_SEND_ACK +UL_ACK_TBF(UL-TFI_0){NONE}: Received Event SCHED_ACK +UL_ACK_TBF(UL-TFI_0){NONE}: state_chg to SCHED_UL_ACK Got 'TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FINISHED)', TA=7 Got MS: TLLI = 0xf1223344, TA = 7 Modifying MS object, TLLI = 0xf1223344, IMSI '' -> '0011223344' @@ -1820,6 +1823,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: 0): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1918,6 +1922,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: 0): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -2082,6 +2087,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: 0): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -2151,6 +2157,7 @@ PDCH(bts=0,trx=0,ts=7) Detaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), 1 TBFs, USFs = 02, TFIs = 00000002. MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0,) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) ********** UL-TBF ends here ********** +UL_ACK_TBF(UL-TFI_0){NONE}: Deallocated TBF(UL-TFI_0){FLOW}: Deallocated UL_ASS_TBF(UL-TFI_0){NONE}: Deallocated DL_ASS_TBF(UL-TFI_0){NONE}: Deallocated @@ -2179,6 +2186,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: 0): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -2264,6 +2272,7 @@ PDCH(bts=0,trx=0,ts=7) Detaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, DL) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) ********** UL-TBF ends here ********** +UL_ACK_TBF(UL-TFI_0){NONE}: Deallocated TBF(UL-TFI_0){FLOW}: Deallocated UL_ASS_TBF(UL-TFI_0){NONE}: Deallocated DL_ASS_TBF(UL-TFI_0){SEND_ASS}: Deallocated @@ -2281,6 +2290,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: 0): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -2349,6 +2359,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: 0): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -2434,6 +2445,7 @@ PDCH(bts=0,trx=0,ts=7) Detaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, DL) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) ********** UL-TBF ends here ********** +UL_ACK_TBF(UL-TFI_0){NONE}: Deallocated TBF(UL-TFI_0){FLOW}: Deallocated UL_ASS_TBF(UL-TFI_0){NONE}: Deallocated DL_ASS_TBF(UL-TFI_0){SEND_ASS}: Deallocated @@ -2445,6 +2457,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: -1): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -2494,7 +2507,8 @@ TBF(UL-TFI_0){FLOW}: state_chg to FINISHED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FINISHED) Scheduling Ack/Nack, because TLLI is included. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FINISHED) Scheduling final Ack/Nack, because all data was received and last block has CV==0. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FINISHED) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_SEND_ACK +UL_ACK_TBF(UL-TFI_0){NONE}: Received Event SCHED_ACK +UL_ACK_TBF(UL-TFI_0){NONE}: state_chg to SCHED_UL_ACK New MS: TLLI = 0xf1223344, TA = 7, IMSI = 0011223344, LLC = 2 === end test_tbf_dl_flow_and_rach_single_phase === === start test_tbf_dl_reuse === @@ -2516,6 +2530,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: 0): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -3691,6 +3706,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: 0): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -3797,6 +3813,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: 0): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -3868,7 +3885,8 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Frame 1 starts at offset 0, length=74, is_complete=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) No gaps in received block, last block: BSN=1 CV=7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because MS is stalled. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_SEND_ACK +UL_ACK_TBF(UL-TFI_0){NONE}: Received Event SCHED_ACK +UL_ACK_TBF(UL-TFI_0){NONE}: state_chg to SCHED_UL_ACK PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=2 .. V(R)=2) @@ -3889,6 +3907,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Frame 1 starts at offset 0, length=74, is_complete=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) No gaps in received block, last block: BSN=2 CV=7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because MS is stalled. +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: Received Event SCHED_ACK TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) @@ -3917,6 +3936,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Frame 1 starts at offset 0, length=74, is_complete=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) No gaps in received block, last block: BSN=3 CV=7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because MS is stalled. +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: Received Event SCHED_ACK TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) @@ -3944,6 +3964,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Frame 1 starts at offset 0, length=74, is_complete=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) No gaps in received block, last block: BSN=4 CV=7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because MS is stalled. +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: Received Event SCHED_ACK TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) @@ -3965,6 +3986,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Frame 1 starts at offset 0, length=74, is_complete=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) No gaps in received block, last block: BSN=5 CV=7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because MS is stalled. +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: Received Event SCHED_ACK TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule Got 'TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS)', TA=7 Got MS: TLLI = 0xf1223344, TA = 7 @@ -6784,6 +6806,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: 0): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -6844,14 +6867,20 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Assembling frames: (len=37) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Frame 1 starts at offset 0, length=37, is_complete=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) No gaps in received block, last block: BSN=1 CV=7 -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_NONE +UL_ACK_TBF(UL-TFI_0){NONE}: Received Event SCHED_ACK +UL_ACK_TBF(UL-TFI_0){NONE}: state_chg to SCHED_UL_ACK +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: Received Event CREATE_RLCMAC_MSG +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: state_chg to NONE PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=0, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=2 .. V(R)=2) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=4, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (2..65) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=37, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_NONE +UL_ACK_TBF(UL-TFI_0){NONE}: Received Event SCHED_ACK +UL_ACK_TBF(UL-TFI_0){NONE}: state_chg to SCHED_UL_ACK +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: Received Event CREATE_RLCMAC_MSG +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: state_chg to NONE Got 'TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS)', TA=7 Got MS: TLLI = 0xf1223344, TA = 7 Modifying MS object, TLLI = 0xf1223344, IMSI '' -> '0011223344' @@ -6966,6 +6995,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: 0): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -7123,6 +7153,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: -1): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -7149,6 +7180,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: -1): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -7175,6 +7207,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: -1): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -7201,6 +7234,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: -1): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -7227,6 +7261,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: -1): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -7253,6 +7288,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: -1): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -7279,6 +7315,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: -1): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -7305,6 +7342,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: -1): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -7316,6 +7354,7 @@ - Skipping TS 7, because no USF available [UL] algo A (suggested TRX: -1): failed to allocate a TS, no USF available TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Timeslot Allocation failed: trx = -1, single_slot = 1 +UL_ACK_TBF{NONE}: Deallocated TBF{NULL}: Deallocated UL_ASS_TBF{NONE}: Deallocated DL_ASS_TBF{NONE}: Deallocated @@ -7351,6 +7390,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: 0): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -7517,7 +7557,8 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 38 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_SEND_ACK +UL_ACK_TBF(UL-TFI_0){NONE}: Received Event SCHED_ACK +UL_ACK_TBF(UL-TFI_0){NONE}: state_chg to SCHED_UL_ACK PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=39) @@ -7639,6 +7680,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 78 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: Received Event SCHED_ACK TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) @@ -7761,6 +7803,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 118 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: Received Event SCHED_ACK TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) @@ -7883,8 +7926,12 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 158 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: Received Event SCHED_ACK TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_SEND_ACK to GPRS_RLCMAC_UL_ACK_NONE +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: Received Event SCHED_ACK +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: Received Event CREATE_RLCMAC_MSG +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: state_chg to NONE PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=159) @@ -8041,14 +8088,18 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 36 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_SEND_ACK +UL_ACK_TBF(UL-TFI_0){NONE}: Received Event SCHED_ACK +UL_ACK_TBF(UL-TFI_0){NONE}: state_chg to SCHED_UL_ACK PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=37) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=38, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 38 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_SEND_ACK to GPRS_RLCMAC_UL_ACK_NONE +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: Received Event SCHED_ACK +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: Received Event CREATE_RLCMAC_MSG +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: state_chg to NONE PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=39) @@ -8056,8 +8107,12 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 64 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because some data is missing and last block has CV==0. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_SEND_ACK -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_SEND_ACK to GPRS_RLCMAC_UL_ACK_NONE +UL_ACK_TBF(UL-TFI_0){NONE}: Received Event SCHED_ACK +UL_ACK_TBF(UL-TFI_0){NONE}: state_chg to SCHED_UL_ACK +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: Received Event SCHED_ACK +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: Received Event CREATE_RLCMAC_MSG +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: state_chg to NONE PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654279 block_nr=10 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS), expect answer on UL FN=2654283 DL_ASS_TBF(UL-TFI_0){SEND_ASS}: Received Event CREATE_RLCMAC_MSG PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654279 + 13 = 2654292 @@ -8178,7 +8233,8 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 97 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_SEND_ACK +UL_ACK_TBF(UL-TFI_0){NONE}: Received Event SCHED_ACK +UL_ACK_TBF(UL-TFI_0){NONE}: state_chg to SCHED_UL_ACK PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=98) @@ -8300,6 +8356,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 117 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: Received Event SCHED_ACK TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) @@ -8422,6 +8479,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 137 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: Received Event SCHED_ACK TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) @@ -8544,6 +8602,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 157 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: Received Event SCHED_ACK TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) @@ -8557,7 +8616,10 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=159, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 159 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_SEND_ACK to GPRS_RLCMAC_UL_ACK_NONE +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: Received Event SCHED_ACK +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: Received Event CREATE_RLCMAC_MSG +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: state_chg to NONE PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=160) @@ -8662,6 +8724,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: 0): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -8707,6 +8770,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: 0): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -8759,6 +8823,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: 0): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -8811,6 +8876,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: 0): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -8863,6 +8929,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: 0): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -8915,6 +8982,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: 0): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -8967,6 +9035,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: 0): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -9019,6 +9088,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: 0): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -9030,6 +9100,7 @@ - Skipping TS 7, because no USF available [UL] algo A (suggested TRX: 0): failed to allocate a TS, no USF available TBF(TFI=0 TLLI=0xffeeddd3 DIR=UL STATE=NULL EGPRS) Timeslot Allocation failed: trx = 0, single_slot = 0 +UL_ACK_TBF{NONE}: Deallocated TBF{NULL}: Deallocated UL_ASS_TBF{NONE}: Deallocated DL_ASS_TBF{NONE}: Deallocated @@ -9037,6 +9108,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated MS(TLLI=0xffeeddd3, IMSI=, TA=7, 11/11,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffeeddd3 DIR=UL STATE=NULL) TBF{NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xffeeddd3 DIR=UL STATE=NULL) set ass. type PACCH [prev CCCH:0, PACCH:0] @@ -9066,6 +9138,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated MS(TLLI=0xffeeddcc, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=NULL) TBF{NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=NULL) set ass. type PACCH [prev CCCH:0, PACCH:0] @@ -9082,6 +9155,7 @@ MS(TLLI=0xffeeddcc, IMSI=, TA=220, 0/0,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) MS(TLLI=0xffeeddcc, IMSI=, TA=220, 0/0,) Destroying MS object ********** UL-TBF ends here ********** +UL_ACK_TBF{NONE}: Deallocated TBF{ASSIGN}: Deallocated UL_ASS_TBF{NONE}: Deallocated DL_ASS_TBF{NONE}: Deallocated diff --git a/tests/types/TypesTest.cpp b/tests/types/TypesTest.cpp index a975761..3834acb 100644 --- a/tests/types/TypesTest.cpp +++ b/tests/types/TypesTest.cpp @@ -698,7 +698,7 @@ win->reset_state(); win->set_ws(256); - Encoding::write_packet_uplink_ack(dest, tbf, false, 0); + write_packet_uplink_ack(dest, tbf, false, 0); extract_egprs_ul_ack_nack(tbf, dest, &ssn, &crbb_test, &rbb, false); check_egprs_bitmap(tbf, ssn, &crbb_test, rbb, &rbb_size); free_egprs_ul_ack_nack(&rbb, &crbb_test); @@ -709,7 +709,7 @@ win->set_ws(256); win->receive_bsn(1); - Encoding::write_packet_uplink_ack(dest, tbf, false, 0); + write_packet_uplink_ack(dest, tbf, false, 0); extract_egprs_ul_ack_nack(tbf, dest, &ssn, &crbb_test, &rbb, false); check_egprs_bitmap(tbf, ssn, &crbb_test, rbb, &rbb_size); free_egprs_ul_ack_nack(&rbb, &crbb_test); @@ -720,7 +720,7 @@ win->set_ws(128); win->receive_bsn(127); - Encoding::write_packet_uplink_ack(dest, tbf, false, 0); + write_packet_uplink_ack(dest, tbf, false, 0); extract_egprs_ul_ack_nack(tbf, dest, &ssn, &crbb_test, &rbb, false); check_egprs_bitmap(tbf, ssn, &crbb_test, rbb, &rbb_size); free_egprs_ul_ack_nack(&rbb, &crbb_test); @@ -731,7 +731,7 @@ for (uint16_t i=1; i<384/2; i++) win->receive_bsn(i*2); - Encoding::write_packet_uplink_ack(dest, tbf, false, 0); + write_packet_uplink_ack(dest, tbf, false, 0); extract_egprs_ul_ack_nack(tbf, dest, &ssn, &crbb_test, &rbb, false); check_egprs_bitmap(tbf, ssn, &crbb_test, rbb, &rbb_size); free_egprs_ul_ack_nack(&rbb, &crbb_test); diff --git a/tests/types/TypesTest.err b/tests/types/TypesTest.err index 9cd3c7c..8c8ba94 100644 --- a/tests/types/TypesTest.err +++ b/tests/types/TypesTest.err @@ -8,12 +8,14 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 00 MS(TLLI=0xffffffff, IMSI=, TA=220, 1/1,) Allocating UL TBF TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL EGPRS) Setting Control TS 1 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 02, dl_slots = 00 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) @@ -22,6 +24,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 00 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25108 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Icf23bf5a4b85fbcbf1542cebceb76b9ba7185d30 Gerrit-Change-Number: 25108 Gerrit-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 Jul 29 18:34:50 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 29 Jul 2021 18:34:50 +0000 Subject: Change in osmo-pcu[master]: Move tbf ul_ack_state to osmocom FSM In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-pcu/+/25108 ) Change subject: Move tbf ul_ack_state to osmocom FSM ...................................................................... Move tbf ul_ack_state to osmocom FSM Related: OS#2709 Change-Id: Icf23bf5a4b85fbcbf1542cebceb76b9ba7185d30 --- M src/Makefile.am M src/encoding.cpp M src/encoding.h M src/gprs_rlcmac_sched.cpp M src/pdch.cpp M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp M src/tbf_ul.cpp M src/tbf_ul.h A src/tbf_ul_ack_fsm.c A src/tbf_ul_ack_fsm.h M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err M tests/types/TypesTest.cpp M tests/types/TypesTest.err 16 files changed, 487 insertions(+), 171 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/08/25108/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25108 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Icf23bf5a4b85fbcbf1542cebceb76b9ba7185d30 Gerrit-Change-Number: 25108 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 Jul 29 18:57:15 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 29 Jul 2021 18:57:15 +0000 Subject: Change in osmo-pcu[master]: Move tbf ul_ack_state to osmocom FSM In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/25108 to look at the new patch set (#3). Change subject: Move tbf ul_ack_state to osmocom FSM ...................................................................... Move tbf ul_ack_state to osmocom FSM Related: OS#2709 Change-Id: Icf23bf5a4b85fbcbf1542cebceb76b9ba7185d30 --- M src/Makefile.am M src/encoding.cpp M src/encoding.h M src/gprs_rlcmac_sched.cpp M src/pdch.cpp M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp M src/tbf_ul.cpp M src/tbf_ul.h A src/tbf_ul_ack_fsm.c A src/tbf_ul_ack_fsm.h M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err M tests/types/TypesTest.cpp M tests/types/TypesTest.err 16 files changed, 491 insertions(+), 171 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/08/25108/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25108 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Icf23bf5a4b85fbcbf1542cebceb76b9ba7185d30 Gerrit-Change-Number: 25108 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 19:24:23 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Thu, 29 Jul 2021 19:24:23 +0000 Subject: Change in simtrace2[master]: Introduce simtrace2-tool In-Reply-To: References: Message-ID: Hoernchen has uploaded a new patch set (#4) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/simtrace2/+/24574 ) Change subject: Introduce simtrace2-tool ...................................................................... Introduce simtrace2-tool The simtrace-tool is a command line tool which can be used to e.g. manually request a modem reset. Change-Id: I3a8896ac2b3caef7590b51118359e5caed820a40 --- M host/src/Makefile.am A host/src/simtrace2-tool.c 2 files changed, 335 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/74/24574/4 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24574 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I3a8896ac2b3caef7590b51118359e5caed820a40 Gerrit-Change-Number: 24574 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 19:24:23 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Thu, 29 Jul 2021 19:24:23 +0000 Subject: Change in simtrace2[master]: introduce support for new ngff_cardem board In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/simtrace2/+/25082 to look at the new patch set (#2). Change subject: introduce support for new ngff_cardem board ...................................................................... introduce support for new ngff_cardem board This adds support for the new ngff_cardem board, a board that basically combines a ngff breakout board with a built-in SIMtrace2. Cardem works, but depending on the modem it might need a adjusted ATR to ensure a lower baud rate is used by the modem, high rates might lead to weird power cycling of the card after a few transfers. Change-Id: Ia96124fbe8a752c98e7fd4096d542a3b2b9bc255 --- M contrib/flash.py M contrib/simtrace.lua M firmware/apps/cardem/main.c A firmware/libboard/ngff_cardem/include/board.h A firmware/libboard/ngff_cardem/include/card_pres.h A firmware/libboard/ngff_cardem/include/wwan_led.h A firmware/libboard/ngff_cardem/include/wwan_perst.h A firmware/libboard/ngff_cardem/product_string.txt A firmware/libboard/ngff_cardem/source/board_ngff_cardem.c A firmware/libboard/ngff_cardem/source/card_pres.c A firmware/libboard/ngff_cardem/source/sim_switch.c A firmware/libboard/ngff_cardem/source/wwan_led.c A firmware/libboard/ngff_cardem/source/wwan_perst.c M firmware/libcommon/include/simtrace_usb.h M firmware/libcommon/source/mode_cardemu.c M host/contrib/99-simtrace2.rules M host/lib/usb_util.c 17 files changed, 767 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/82/25082/2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25082 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ia96124fbe8a752c98e7fd4096d542a3b2b9bc255 Gerrit-Change-Number: 25082 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen 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 Jul 29 19:56:23 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Thu, 29 Jul 2021 19:56:23 +0000 Subject: Change in simtrace2[master]: introduce support for new ngff_cardem board In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/simtrace2/+/25082 to look at the new patch set (#3). Change subject: introduce support for new ngff_cardem board ...................................................................... introduce support for new ngff_cardem board This adds support for the new ngff_cardem board, a board that basically combines a ngff breakout board with a built-in SIMtrace2. Cardem works, but depending on the modem it might need a adjusted ATR to ensure a lower baud rate is used by the modem, high rates might lead to weird power cycling of the card after a few transfers. Trace was also tested and appears to work as expected. Change-Id: Ia96124fbe8a752c98e7fd4096d542a3b2b9bc255 --- M contrib/flash.py M contrib/simtrace.lua M firmware/apps/cardem/main.c A firmware/libboard/ngff_cardem/include/board.h A firmware/libboard/ngff_cardem/include/card_pres.h A firmware/libboard/ngff_cardem/include/wwan_led.h A firmware/libboard/ngff_cardem/include/wwan_perst.h A firmware/libboard/ngff_cardem/product_string.txt A firmware/libboard/ngff_cardem/source/board_ngff_cardem.c A firmware/libboard/ngff_cardem/source/card_pres.c A firmware/libboard/ngff_cardem/source/sim_switch.c A firmware/libboard/ngff_cardem/source/wwan_led.c A firmware/libboard/ngff_cardem/source/wwan_perst.c M firmware/libcommon/include/simtrace_usb.h M firmware/libcommon/source/mode_cardemu.c M host/contrib/99-simtrace2.rules M host/lib/usb_util.c M host/src/simtrace2-sniff.c 18 files changed, 799 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/82/25082/3 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25082 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ia96124fbe8a752c98e7fd4096d542a3b2b9bc255 Gerrit-Change-Number: 25082 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen 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 Jul 29 19:56:23 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Thu, 29 Jul 2021 19:56:23 +0000 Subject: Change in simtrace2[master]: contrib: more cardem dissection In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/simtrace2/+/25086 to look at the new patch set (#3). Change subject: contrib: more cardem dissection ...................................................................... contrib: more cardem dissection Change-Id: Ia74d3674f854b390c9745a1cb8d5756bd5d39540 --- M contrib/simtrace.lua 1 file changed, 27 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/86/25086/3 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25086 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ia74d3674f854b390c9745a1cb8d5756bd5d39540 Gerrit-Change-Number: 25086 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 19:57:50 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Thu, 29 Jul 2021 19:57:50 +0000 Subject: Change in simtrace2[master]: introduce support for new ngff_cardem board In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/simtrace2/+/25082 to look at the new patch set (#4). Change subject: introduce support for new ngff_cardem board ...................................................................... introduce support for new ngff_cardem board This adds support for the new ngff_cardem board, a board that basically combines a ngff breakout board with a built-in SIMtrace2. Cardem works, but depending on the modem it might need a adjusted ATR to ensure a lower baud rate is used by the modem, high rates might lead to weird power cycling of the card after a few transfers. Trace was also tested and appears to work as expected. Change-Id: Ia96124fbe8a752c98e7fd4096d542a3b2b9bc255 --- M contrib/flash.py M contrib/simtrace.lua M firmware/apps/cardem/main.c A firmware/libboard/ngff_cardem/include/board.h A firmware/libboard/ngff_cardem/include/card_pres.h A firmware/libboard/ngff_cardem/include/wwan_led.h A firmware/libboard/ngff_cardem/include/wwan_perst.h A firmware/libboard/ngff_cardem/product_string.txt A firmware/libboard/ngff_cardem/source/board_ngff_cardem.c A firmware/libboard/ngff_cardem/source/card_pres.c A firmware/libboard/ngff_cardem/source/sim_switch.c A firmware/libboard/ngff_cardem/source/wwan_led.c A firmware/libboard/ngff_cardem/source/wwan_perst.c M firmware/libboard/simtrace/include/board.h M firmware/libcommon/include/simtrace_usb.h M firmware/libcommon/source/mode_cardemu.c M host/contrib/99-simtrace2.rules M host/lib/usb_util.c M host/src/simtrace2-sniff.c 19 files changed, 800 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/82/25082/4 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25082 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ia96124fbe8a752c98e7fd4096d542a3b2b9bc255 Gerrit-Change-Number: 25082 Gerrit-PatchSet: 4 Gerrit-Owner: Hoernchen 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 Jul 29 20:41:09 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 29 Jul 2021 20:41:09 +0000 Subject: Change in osmo-msc[master]: implement CM Re-Establish for voice calls In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, pespin, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-msc/+/25076 to look at the new patch set (#5). Change subject: implement CM Re-Establish for voice calls ...................................................................... implement CM Re-Establish for voice calls Related: SYS#5130 Change-Id: I6fa37d6ca9fcb1637742b40e37b68d67664c9b60 --- M include/osmocom/msc/gsm_data.h M include/osmocom/msc/msc_common.h M include/osmocom/msc/vlr.h M src/libmsc/gsm_04_08.c M src/libmsc/msc_a.c 5 files changed, 136 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/76/25076/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25076 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I6fa37d6ca9fcb1637742b40e37b68d67664c9b60 Gerrit-Change-Number: 25076 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter 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 Jul 29 20:48:38 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 29 Jul 2021 20:48:38 +0000 Subject: Change in osmo-ci[master]: lint: ignore LONG_LONE In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/25107 ) Change subject: lint: ignore LONG_LONE ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ci/+/25107/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-ci/+/25107/1//COMMIT_MSG at 7 PS1, Line 7: LONE long lol -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/25107 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I88fd86ac550fddb3017aeceb647c3d9e75367372 Gerrit-Change-Number: 25107 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 29 Jul 2021 20:48:38 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 20:49:20 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 29 Jul 2021 20:49:20 +0000 Subject: Change in osmo-ci[master]: lint: exclude kdf, milenage for libosmocore In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24962 ) Change subject: lint: exclude kdf, milenage for libosmocore ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24962 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Iccf59d66f35ede9710258faf9d4257584214bb17 Gerrit-Change-Number: 24962 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 29 Jul 2021 20:49: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 Jul 29 20:50:27 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 29 Jul 2021 20:50:27 +0000 Subject: Change in osmo-ci[master]: lint: checkpatch.pl: no spaces required for tdef In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24961 ) Change subject: lint: checkpatch.pl: no spaces required for tdef ...................................................................... Patch Set 2: maybe we should rather add spaces in the source trees -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24961 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I1f0b9ed5bd49ef9b5ab0e347b9260e71df34ff9c Gerrit-Change-Number: 24961 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 29 Jul 2021 20:50: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 Thu Jul 29 20:50:51 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 29 Jul 2021 20:50:51 +0000 Subject: Change in osmo-ci[master]: lint: checkpatch.pl: no spaces required for tdef In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24961 ) Change subject: lint: checkpatch.pl: no spaces required for tdef ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24961 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I1f0b9ed5bd49ef9b5ab0e347b9260e71df34ff9c Gerrit-Change-Number: 24961 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 29 Jul 2021 20:50:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Jul 29 20:54:56 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 29 Jul 2021 20:54:56 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: allow another reject cause in TC_cm_reest_req_reject References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25109 ) Change subject: msc: allow another reject cause in TC_cm_reest_req_reject ...................................................................... msc: allow another reject cause in TC_cm_reest_req_reject osmo-msc will soon have CM Re-Establishing support, and it will start returning a different reject code instead of GSM48_REJECT_SRV_OPT_NOT_SUPPORTED. In TC_cm_reest_req_reject, there is no previous ongoing connection let alone a voice call, so osmo-msc will return GSM48_REJECT_CALL_CAN_NOT_BE_IDENTIFIED. Related: SYS#5130 Change-Id: I3eebab2b26016fb0ef7bf958208eaba6ae4c7836 --- M msc/MSC_Tests.ttcn 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/09/25109/1 diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 740d396..d63e5fc 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -1403,7 +1403,9 @@ var MobileIdentityLV mi := valueof(ts_MI_IMSI_LV(g_pars.imsi)); var PDU_ML3_MS_NW l3_info := valueof(ts_CM_REEST_REQ(0, mi)); f_cl3_or_initial_ue(l3_info); - BSSAP.receive(tr_PDU_DTAP_MT(tr_CM_SERV_REJ(int2oct(32,1)))); + /* Older osmo-msc returns: GSM48_REJECT_SRV_OPT_NOT_SUPPORTED = 32, + * newer osmo-msc with CM Re-Establish support returns: GSM48_REJECT_CALL_CAN_NOT_BE_IDENTIFIED = 38 */ + BSSAP.receive(tr_PDU_DTAP_MT(tr_CM_SERV_REJ( (int2oct(32,1), int2oct(38,1)) ))); f_expect_clear(); } testcase TC_cm_reest_req_reject() runs on MTC_CT { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25109 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3eebab2b26016fb0ef7bf958208eaba6ae4c7836 Gerrit-Change-Number: 25109 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 Jul 29 20:56:10 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 29 Jul 2021 20:56:10 +0000 Subject: Change in osmo-msc[master]: implement CM Re-Establish for voice calls In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/25076 ) Change subject: implement CM Re-Establish for voice calls ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/c/osmo-msc/+/25076/4/src/libmsc/gsm_04_08.c File src/libmsc/gsm_04_08.c: https://gerrit.osmocom.org/c/osmo-msc/+/25076/4/src/libmsc/gsm_04_08.c at 921 PS4, Line 921: * Clear any connections at will. */ > I guess fixing this requires major refactoring and is out of scope for this patch. [?] i think when we receive GSUP for that IMSI during auth then it's a problem to have two msc_a for the same IMSI. Which one should get the response? send it to both would be an idea, then maybe we can overlap the two msc_a until after auth...? -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25076 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I6fa37d6ca9fcb1637742b40e37b68d67664c9b60 Gerrit-Change-Number: 25076 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 29 Jul 2021 20:56:10 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 30 08:10:51 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 30 Jul 2021 08:10:51 +0000 Subject: Change in osmo-ci[master]: lint: checkpatch.pl: no spaces required for tdef In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24961 ) Change subject: lint: checkpatch.pl: no spaces required for tdef ...................................................................... Patch Set 2: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24961 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I1f0b9ed5bd49ef9b5ab0e347b9260e71df34ff9c Gerrit-Change-Number: 24961 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 30 Jul 2021 08:10:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 30 08:11:04 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 30 Jul 2021 08:11:04 +0000 Subject: Change in osmo-ci[master]: lint: exclude kdf, milenage for libosmocore In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24962 ) Change subject: lint: exclude kdf, milenage for libosmocore ...................................................................... Patch Set 2: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24962 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Iccf59d66f35ede9710258faf9d4257584214bb17 Gerrit-Change-Number: 24962 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 30 Jul 2021 08:11: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 Jul 30 08:11:30 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 30 Jul 2021 08:11:30 +0000 Subject: Change in osmo-ci[master]: lint: ignore LONG_LINE In-Reply-To: References: Message-ID: Hello neels, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ci/+/25107 to look at the new patch set (#2). Change subject: lint: ignore LONG_LINE ...................................................................... lint: ignore LONG_LINE With recent code reviews I've realized that in Osmocom we do often use more than 120 characters per line for various reasons. So adjust the linter to not fail anymore if that is the case. Related: https://gerrit.osmocom.org/c/osmo-pcu/+/25056/4/src/tbf_ul_ass_fsm.h#32 Related: https://gerrit.osmocom.org/c/osmo-msc/+/25076/1/src/libmsc/msc_a.c#125 Related: OS#5087 Change-Id: I88fd86ac550fddb3017aeceb647c3d9e75367372 --- M lint/checkpatch/checkpatch_osmo.sh 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/07/25107/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/25107 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I88fd86ac550fddb3017aeceb647c3d9e75367372 Gerrit-Change-Number: 25107 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 30 08:11:49 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 30 Jul 2021 08:11:49 +0000 Subject: Change in osmo-ci[master]: lint: ignore LONG_LINE In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/25107 ) Change subject: lint: ignore LONG_LINE ...................................................................... Patch Set 2: Verified+1 Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmo-ci/+/25107/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-ci/+/25107/1//COMMIT_MSG at 7 PS1, Line 7: LONE > long lol ? -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/25107 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I88fd86ac550fddb3017aeceb647c3d9e75367372 Gerrit-Change-Number: 25107 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 30 Jul 2021 08:11:49 +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 Fri Jul 30 08:11:57 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 30 Jul 2021 08:11:57 +0000 Subject: Change in osmo-ci[master]: lint: checkpatch.pl: no spaces required for tdef In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24961 ) Change subject: lint: checkpatch.pl: no spaces required for tdef ...................................................................... lint: checkpatch.pl: no spaces required for tdef Don't require spaces around equals sign for tdef entries. Related: OS#5087 Change-Id: I1f0b9ed5bd49ef9b5ab0e347b9260e71df34ff9c --- M lint/checkpatch/checkpatch.pl 1 file changed, 27 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve neels: Looks good to me, but someone else must approve osmith: Looks good to me, approved; Verified diff --git a/lint/checkpatch/checkpatch.pl b/lint/checkpatch/checkpatch.pl index ca074a7..059a2a6 100755 --- a/lint/checkpatch/checkpatch.pl +++ b/lint/checkpatch/checkpatch.pl @@ -5170,6 +5170,33 @@ } } + # Osmocom specific: do not require spaces + # around the equals sign (=) inside + # struct osmo_tdef entries. (Assuming this is + # the case if the line contains '.T='.) + # + # Usually: + # struct osmo_tdef global_T_defs[] = { + # { .T=7, .default_val=50, .desc="Water Boiling Timeout" }, + # { .T=8, .default_val=300, .desc="Tea brewing" }, + # { .T=9, .default_val=5, .unit=OSMO_TDEF_M, .desc="Let tea cool down" }, + # { .T=10, .default_val=20, .unit=OSMO_TDEF_M, .desc="Forgot to drink tea" }, + # {} + # }; + # + # Another example: + # struct osmo_tdef fr_tdefs[] = { + # { + # .T=391, // <- only here no spaces around "=" + # .default_val = 10, + # .min_val = 5, + # .max_val = 30, + # .desc = "Link integrity verification polling timer", + # .unit = OSMO_TDEF_S, + # }, ... + } elsif ($opline =~ /\.T=/) { + # pass + # All the others need spaces both sides. } elsif ($ctx !~ /[EWC]x[CWE]/) { my $ok = 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24961 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I1f0b9ed5bd49ef9b5ab0e347b9260e71df34ff9c Gerrit-Change-Number: 24961 Gerrit-PatchSet: 2 Gerrit-Owner: osmith 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 Jul 30 08:11:57 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 30 Jul 2021 08:11:57 +0000 Subject: Change in osmo-ci[master]: lint: exclude kdf, milenage for libosmocore In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24962 ) Change subject: lint: exclude kdf, milenage for libosmocore ...................................................................... lint: exclude kdf, milenage for libosmocore Imported code that doesn't follow our guidelines (e.g. spaces used instead of tabs). Related: OS#5087 Change-Id: Iccf59d66f35ede9710258faf9d4257584214bb17 --- M lint/checkpatch/checkpatch_osmo.sh 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve neels: Looks good to me, but someone else must approve osmith: Looks good to me, approved; Verified diff --git a/lint/checkpatch/checkpatch_osmo.sh b/lint/checkpatch/checkpatch_osmo.sh index 88f0b2d..e88688a 100755 --- a/lint/checkpatch/checkpatch_osmo.sh +++ b/lint/checkpatch/checkpatch_osmo.sh @@ -4,6 +4,8 @@ # Excluded paths: # * \.(ok|err)$: stdout and stderr of regression tests # * ^lint/checkpatch/: so it does not warn about spelling errors in spelling.txt :) +# * ^src/gsm/kdf/: libosmocore: imported code +# * ^src/gsm/milenage/: libosmocore: imported code # Ignored checks: # * ASSIGN_IN_IF: not followed (e.g. 'if ((u8 = gsup_msg->cause))') @@ -31,6 +33,8 @@ $SCRIPT_DIR/checkpatch.pl \ --exclude '\.(ok|err)$' \ --exclude '^lint/checkpatch/' \ + --exclude '^src/gsm/kdf/' \ + --exclude '^src/gsm/milenage/' \ --ignore ASSIGN_IN_IF \ --ignore AVOID_EXTERNS \ --ignore BLOCK_COMMENT_STYLE \ -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24962 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Iccf59d66f35ede9710258faf9d4257584214bb17 Gerrit-Change-Number: 24962 Gerrit-PatchSet: 2 Gerrit-Owner: osmith 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 Jul 30 08:11:57 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 30 Jul 2021 08:11:57 +0000 Subject: Change in osmo-ci[master]: lint: ignore LONG_LINE In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/25107 ) Change subject: lint: ignore LONG_LINE ...................................................................... lint: ignore LONG_LINE With recent code reviews I've realized that in Osmocom we do often use more than 120 characters per line for various reasons. So adjust the linter to not fail anymore if that is the case. Related: https://gerrit.osmocom.org/c/osmo-pcu/+/25056/4/src/tbf_ul_ass_fsm.h#32 Related: https://gerrit.osmocom.org/c/osmo-msc/+/25076/1/src/libmsc/msc_a.c#125 Related: OS#5087 Change-Id: I88fd86ac550fddb3017aeceb647c3d9e75367372 --- M lint/checkpatch/checkpatch_osmo.sh 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: osmith: Looks good to me, approved; Verified diff --git a/lint/checkpatch/checkpatch_osmo.sh b/lint/checkpatch/checkpatch_osmo.sh index e88688a..abeed56 100755 --- a/lint/checkpatch/checkpatch_osmo.sh +++ b/lint/checkpatch/checkpatch_osmo.sh @@ -23,6 +23,7 @@ # * INITIALISED_STATIC: we use this, see also http://lkml.iu.edu/hypermail/linux/kernel/0808.1/2235.html # * LINE_CONTINUATIONS: false positives # * LINE_SPACING: we don't always put a blank line after declarations +# * LONG_LINE: should be 120 chars, but exceptions are done often so don't fail here # * PREFER_DEFINED_ATTRIBUTE_MACRO: macros like __packed not defined in libosmocore # * PREFER_FALLTHROUGH: pseudo keyword macro "fallthrough" is not defined in libosmocore # * REPEATED_WORD: false positives in doxygen descriptions (e.g. '\param[in] data Data passed through...') @@ -50,6 +51,7 @@ --ignore INITIALISED_STATIC \ --ignore LINE_CONTINUATIONS \ --ignore LINE_SPACING \ + --ignore LONG_LINE \ --ignore PREFER_DEFINED_ATTRIBUTE_MACRO \ --ignore PREFER_FALLTHROUGH \ --ignore REPEATED_WORD \ -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/25107 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I88fd86ac550fddb3017aeceb647c3d9e75367372 Gerrit-Change-Number: 25107 Gerrit-PatchSet: 2 Gerrit-Owner: osmith 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 Jul 30 08:16:22 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 30 Jul 2021 08:16:22 +0000 Subject: Change in simtrace2[master]: Introduce simtrace2-tool In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24574 ) Change subject: Introduce simtrace2-tool ...................................................................... Patch Set 4: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/simtrace2/+/24574/1/host/src/simtrace2-tool.c File host/src/simtrace2-tool.c: https://gerrit.osmocom.org/c/simtrace2/+/24574/1/host/src/simtrace2-tool.c at 293 PS1, Line 293: rc = libusb_claim_interface(transp->usb_devh, if_num); > why is this needed? I would expect "osmo_libusb_open_claim_interface" to claim it already @Hoernchen: FYI I did not test this, just guessing by the name of the function. So I'm assuming you verified that it still works after removing this part. -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24574 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I3a8896ac2b3caef7590b51118359e5caed820a40 Gerrit-Change-Number: 24574 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 30 Jul 2021 08:16:22 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 30 08:33:27 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 30 Jul 2021 08:33:27 +0000 Subject: Change in simtrace2[master]: gitreview: new file References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/25110 ) Change subject: gitreview: new file ...................................................................... gitreview: new file Change-Id: I650fe7c930392d24042e65295fa49400478ffab9 --- A .gitreview 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/10/25110/1 diff --git a/.gitreview b/.gitreview new file mode 100644 index 0000000..d1ed04a --- /dev/null +++ b/.gitreview @@ -0,0 +1,3 @@ +[gerrit] +host=gerrit.osmocom.org +project=simtrace2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25110 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I650fe7c930392d24042e65295fa49400478ffab9 Gerrit-Change-Number: 25110 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 Jul 30 09:09:03 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 30 Jul 2021 09:09:03 +0000 Subject: Change in simtrace2[master]: introduce support for new ngff_cardem board In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/25082 ) Change subject: introduce support for new ngff_cardem board ...................................................................... Patch Set 4: (5 comments) the code is very readable! only found some cosmetics. https://gerrit.osmocom.org/c/simtrace2/+/25082/4/firmware/libboard/ngff_cardem/include/board.h File firmware/libboard/ngff_cardem/include/board.h: https://gerrit.osmocom.org/c/simtrace2/+/25082/4/firmware/libboard/ngff_cardem/include/board.h at 145 PS4, Line 145: default state "cardem state" https://gerrit.osmocom.org/c/simtrace2/+/25082/4/firmware/libboard/ngff_cardem/source/board_ngff_cardem.c File firmware/libboard/ngff_cardem/source/board_ngff_cardem.c: https://gerrit.osmocom.org/c/simtrace2/+/25082/4/firmware/libboard/ngff_cardem/source/board_ngff_cardem.c at 1 PS4, Line 1: /* sysmocom quad-modem sysmoQMOD application code * not adjusted to ngff_cardem board * README.txt also doesn't mention the new board yet https://gerrit.osmocom.org/c/simtrace2/+/25082/4/firmware/libboard/ngff_cardem/source/board_ngff_cardem.c at 45 PS4, Line 45: printf("\tU\tProceed to USB Initialization\n\r"); 'U' not implemented below? same with '@' Looks like they are not meant to be implemented as part of this patch, so I'd remove them (or comment them out). https://gerrit.osmocom.org/c/simtrace2/+/25082/4/firmware/libboard/ngff_cardem/source/board_ngff_cardem.c at 98 PS4, Line 98: (missing ) ) https://gerrit.osmocom.org/c/simtrace2/+/25082/4/firmware/libboard/ngff_cardem/source/wwan_led.c File firmware/libboard/ngff_cardem/source/wwan_led.c: https://gerrit.osmocom.org/c/simtrace2/+/25082/4/firmware/libboard/ngff_cardem/source/wwan_led.c at 50 PS4, Line 50: /* determine if a tiven WWAN led is currently active or not */ tiven -> given -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25082 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ia96124fbe8a752c98e7fd4096d542a3b2b9bc255 Gerrit-Change-Number: 25082 Gerrit-PatchSet: 4 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: osmith Gerrit-Comment-Date: Fri, 30 Jul 2021 09:09:03 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 30 09:09:55 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 30 Jul 2021 09:09:55 +0000 Subject: Change in simtrace2[master]: firmware: data sections In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/25080 ) Change subject: firmware: data sections ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25080 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Id3da816611afea0858466949dcc47db5e5d5493a Gerrit-Change-Number: 25080 Gerrit-PatchSet: 4 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 30 Jul 2021 09:09:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 30 09:10:38 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 30 Jul 2021 09:10:38 +0000 Subject: Change in simtrace2[master]: firmware: proper makefile deps In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/25081 ) Change subject: firmware: proper makefile deps ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25081 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I0bdf915deabeda861f6398e654764918e58a64c2 Gerrit-Change-Number: 25081 Gerrit-PatchSet: 4 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 30 Jul 2021 09:10:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 30 09:15:53 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 30 Jul 2021 09:15:53 +0000 Subject: Change in simtrace2[master]: firmware: make the ngff beakout blink In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/25083 ) Change subject: firmware: make the ngff beakout blink ...................................................................... Patch Set 4: (3 comments) https://gerrit.osmocom.org/c/simtrace2/+/25083/4//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/simtrace2/+/25083/4//COMMIT_MSG at 8 PS4, Line 8: I'd mention that it blinks now when switching to remote/emulated SIM. https://gerrit.osmocom.org/c/simtrace2/+/25083/4/firmware/libboard/common/include/led.h File firmware/libboard/common/include/led.h: https://gerrit.osmocom.org/c/simtrace2/+/25083/4/firmware/libboard/common/include/led.h at 34 PS4, Line 34: BLINK_2F_O = 10, can you throw in some tabs to indent it like the line above? https://gerrit.osmocom.org/c/simtrace2/+/25083/4/firmware/libboard/common/include/led.h at 35 PS4, Line 35: BLINK_5O_5F, why is this not = 11? -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25083 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I65f1fbeb06690a143ef4c792728c9cb917a4ffde Gerrit-Change-Number: 25083 Gerrit-PatchSet: 4 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-Comment-Date: Fri, 30 Jul 2021 09:15:53 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 30 09:19:11 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 30 Jul 2021 09:19:11 +0000 Subject: Change in simtrace2[master]: simtrace2-cardem: use local sim on exit In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/25084 ) Change subject: simtrace2-cardem: use local sim on exit ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25084 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ib622af0027d40b4e8afbb0fa0d3689f0dbfcac92 Gerrit-Change-Number: 25084 Gerrit-PatchSet: 4 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 30 Jul 2021 09:19: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 Jul 30 09:23:25 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 30 Jul 2021 09:23:25 +0000 Subject: Change in simtrace2[master]: contrib: more cardem dissection In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/25086 ) Change subject: contrib: more cardem dissection ...................................................................... Patch Set 4: Code-Review+1 (2 comments) https://gerrit.osmocom.org/c/simtrace2/+/25086/4/contrib/simtrace.lua File contrib/simtrace.lua: https://gerrit.osmocom.org/c/simtrace2/+/25086/4/contrib/simtrace.lua at 40 PS4, Line 40: 04 0x4 https://gerrit.osmocom.org/c/simtrace2/+/25086/4/contrib/simtrace.lua at 44 PS4, Line 44: Data (data) -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25086 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ia74d3674f854b390c9745a1cb8d5756bd5d39540 Gerrit-Change-Number: 25086 Gerrit-PatchSet: 4 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 30 Jul 2021 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 Fri Jul 30 10:17:23 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 30 Jul 2021 10:17:23 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: allow another reject cause in TC_cm_reest_req_reject In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25109 ) Change subject: msc: allow another reject cause in TC_cm_reest_req_reject ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25109 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3eebab2b26016fb0ef7bf958208eaba6ae4c7836 Gerrit-Change-Number: 25109 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 30 Jul 2021 10:17: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 Jul 30 10:18:53 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 30 Jul 2021 10:18:53 +0000 Subject: Change in osmo-msc[master]: implement CM Re-Establish for voice calls In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/25076 ) Change subject: implement CM Re-Establish for voice calls ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25076 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I6fa37d6ca9fcb1637742b40e37b68d67664c9b60 Gerrit-Change-Number: 25076 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 30 Jul 2021 10:18: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 Jul 30 10:19:29 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 30 Jul 2021 10:19:29 +0000 Subject: Change in simtrace2[master]: gitreview: new file In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/25110 ) Change subject: gitreview: new file ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25110 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I650fe7c930392d24042e65295fa49400478ffab9 Gerrit-Change-Number: 25110 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 30 Jul 2021 10:19: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 Jul 30 10:20:00 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 30 Jul 2021 10:20:00 +0000 Subject: Change in osmo-msc[master]: implement CM Re-Establish for voice calls In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/25076 ) Change subject: implement CM Re-Establish for voice calls ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25076 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I6fa37d6ca9fcb1637742b40e37b68d67664c9b60 Gerrit-Change-Number: 25076 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 30 Jul 2021 10:20: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 Jul 30 10:20:53 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 30 Jul 2021 10:20:53 +0000 Subject: Change in simtrace2[master]: gitreview: new file In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/25110 ) Change subject: gitreview: new file ...................................................................... Patch Set 1: Code-Review+2 trivial, we have this in other repos too -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25110 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I650fe7c930392d24042e65295fa49400478ffab9 Gerrit-Change-Number: 25110 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 30 Jul 2021 10:20: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 Jul 30 10:20:57 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 30 Jul 2021 10:20:57 +0000 Subject: Change in simtrace2[master]: gitreview: new file In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/25110 ) Change subject: gitreview: new file ...................................................................... gitreview: new file Change-Id: I650fe7c930392d24042e65295fa49400478ffab9 --- A .gitreview 1 file changed, 3 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve osmith: Looks good to me, approved diff --git a/.gitreview b/.gitreview new file mode 100644 index 0000000..d1ed04a --- /dev/null +++ b/.gitreview @@ -0,0 +1,3 @@ +[gerrit] +host=gerrit.osmocom.org +project=simtrace2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25110 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I650fe7c930392d24042e65295fa49400478ffab9 Gerrit-Change-Number: 25110 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 30 11:44:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 30 Jul 2021 11:44:17 +0000 Subject: Change in osmo-pcu[master]: Simplify tbf::set_polling() References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25111 ) Change subject: Simplify tbf::set_polling() ...................................................................... Simplify tbf::set_polling() When setting a POLL, it will always happen on PACCH, so all the CCCH part makes no sense there. Let's drop it and move the logging of each ase to the caller, where logging file+line is more useful. Change-Id: I242f97fd6f927131ac64c1a7c9c3812b6389de04 --- M src/nacc_fsm.c M src/tbf.cpp M src/tbf_dl.cpp M src/tbf_dl.h M src/tbf_dl_ass_fsm.c M src/tbf_ul_ack_fsm.c M src/tbf_ul_ass_fsm.c 7 files changed, 20 insertions(+), 46 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/11/25111/1 diff --git a/src/nacc_fsm.c b/src/nacc_fsm.c index 9a5f5b5..738b2c5 100644 --- a/src/nacc_fsm.c +++ b/src/nacc_fsm.c @@ -207,6 +207,8 @@ rate_ctr_inc(rate_ctr_group_get_ctr(bts_rate_counters(ms->bts), CTR_PKT_CELL_CHG_CONTINUE)); talloc_free(mac_control_block); tbf_set_polling(tbf, *new_poll_fn, data->ts, PDCH_ULC_POLL_CELL_CHG_CONTINUE); + LOGPTBFDL(tbf, LOGL_DEBUG, "Scheduled 'Packet Cell Change Continue' polling on PACCH (FN=%d, TS=%d)\n", + *new_poll_fn, data->ts); return msg; free_ret: diff --git a/src/tbf.cpp b/src/tbf.cpp index b43ffde..acd191b 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -529,49 +529,10 @@ void gprs_rlcmac_tbf::set_polling(uint32_t new_poll_fn, uint8_t ts, enum pdch_ulc_tbf_poll_reason reason) { - const char *chan = "UNKNOWN"; - - if (state_fsm.state_flags & (1 << (GPRS_RLCMAC_FLAG_CCCH))) - chan = "CCCH"; - - if (state_fsm.state_flags & (1 << (GPRS_RLCMAC_FLAG_PACCH))) - chan = "PACCH"; - - if ((state_fsm.state_flags & (1 << (GPRS_RLCMAC_FLAG_PACCH))) && - (state_fsm.state_flags & (1 << (GPRS_RLCMAC_FLAG_CCCH)))) - LOGPTBFDL(this, LOGL_ERROR, - "Attempt to schedule polling on %s (FN=%d, TS=%d) with both CCCH and PACCH flags set - FIXME!\n", - chan, new_poll_fn, ts); - /* schedule polling */ - if (pdch_ulc_reserve_tbf_poll(trx->pdch[ts].ulc, new_poll_fn, this, reason) < 0) { - LOGPTBFDL(this, LOGL_ERROR, "Failed scheduling poll on %s (FN=%d, TS=%d)\n", - chan, new_poll_fn, ts); - return; - } - - switch (reason) { - case PDCH_ULC_POLL_UL_ASS: - LOGPTBFDL(this, LOGL_INFO, "Scheduled UL Assignment polling on %s (FN=%d, TS=%d)\n", - chan, new_poll_fn, ts); - break; - case PDCH_ULC_POLL_DL_ASS: - LOGPTBFDL(this, LOGL_INFO, "Scheduled DL Assignment polling on %s (FN=%d, TS=%d)\n", - chan, new_poll_fn, ts); - break; - case PDCH_ULC_POLL_UL_ACK: - LOGPTBFUL(this, LOGL_DEBUG, "Scheduled UL Acknowledgement polling on %s (FN=%d, TS=%d)\n", - chan, new_poll_fn, ts); - break; - case PDCH_ULC_POLL_DL_ACK: - LOGPTBFDL(this, LOGL_DEBUG, "Scheduled DL Acknowledgement polling on %s (FN=%d, TS=%d)\n", - chan, new_poll_fn, ts); - break; - case PDCH_ULC_POLL_CELL_CHG_CONTINUE: - LOGPTBFDL(this, LOGL_DEBUG, "Scheduled 'Packet Cell Change Continue' polling on %s (FN=%d, TS=%d)\n", - chan, new_poll_fn, ts); - break; - } + if (pdch_ulc_reserve_tbf_poll(trx->pdch[ts].ulc, new_poll_fn, this, reason) < 0) + LOGPTBFDL(this, LOGL_ERROR, "Failed scheduling poll on PACCH (FN=%d, TS=%d)\n", + new_poll_fn, ts); } void gprs_rlcmac_tbf::poll_timeout(struct gprs_rlcmac_pdch *pdch, uint32_t poll_fn, enum pdch_ulc_tbf_poll_reason reason) diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 905bf05..65785f2 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -958,6 +958,9 @@ rc = check_polling(fn, ts, &new_poll_fn, &rrbp); if (rc >= 0) { set_polling(new_poll_fn, ts, PDCH_ULC_POLL_DL_ACK); + LOGPTBFDL(this, LOGL_DEBUG, + "Scheduled DL Acknowledgement polling on PACCH (FN=%d, TS=%d)\n", + new_poll_fn, ts); m_tx_counter = 0; /* start timer whenever we send the final block */ diff --git a/src/tbf_dl.h b/src/tbf_dl.h index 27b6a2c..d20ad75 100644 --- a/src/tbf_dl.h +++ b/src/tbf_dl.h @@ -38,8 +38,6 @@ DL_PRIO_CONTROL, /* a control block needs to be sent */ }; -#define LOGPTBFDL(tbf, level, fmt, args...) LOGP(DTBFDL, level, "%s " fmt, tbf_name(tbf), ## args) - struct gprs_rlcmac_dl_tbf : public gprs_rlcmac_tbf { gprs_rlcmac_dl_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms); ~gprs_rlcmac_dl_tbf(); @@ -153,6 +151,8 @@ const uint8_t *data, const uint16_t len); void tbf_dl_trigger_ass(struct gprs_rlcmac_dl_tbf *tbf, struct gprs_rlcmac_tbf *old_tbf); + +#define LOGPTBFDL(tbf, level, fmt, args...) LOGP(DTBFDL, level, "%s " fmt, tbf_name(tbf), ## args) #ifdef __cplusplus } #endif diff --git a/src/tbf_dl_ass_fsm.c b/src/tbf_dl_ass_fsm.c index cf09588..5ac1c1a 100644 --- a/src/tbf_dl_ass_fsm.c +++ b/src/tbf_dl_ass_fsm.c @@ -31,7 +31,7 @@ #include #include #include -#include +#include #define X(s) (1 << (s)) @@ -137,6 +137,8 @@ bts_do_rate_ctr_inc(ms->bts, CTR_PKT_DL_ASSIGNMENT); tbf_set_polling(ctx->tbf, new_poll_fn, d->ts, PDCH_ULC_POLL_DL_ASS); + LOGPTBFDL(ctx->tbf, LOGL_INFO, "Scheduled DL Assignment polling on PACCH (FN=%d, TS=%d)\n", + new_poll_fn, d->ts); talloc_free(mac_control_block); return msg; diff --git a/src/tbf_ul_ack_fsm.c b/src/tbf_ul_ack_fsm.c index ea523a1..e90336a 100644 --- a/src/tbf_ul_ack_fsm.c +++ b/src/tbf_ul_ack_fsm.c @@ -91,8 +91,12 @@ if (ms_tlli(ms) != GSM_RESERVED_TMSI) ul_tbf_contention_resolution_success(ctx->tbf); - if (final) + if (final) { tbf_set_polling(tbf, new_poll_fn, d->ts, PDCH_ULC_POLL_UL_ACK); + LOGPTBFUL(tbf, LOGL_DEBUG, + "Scheduled UL Acknowledgement polling on PACCH (FN=%d, TS=%d)\n", + new_poll_fn, d->ts); + } return msg; } diff --git a/src/tbf_ul_ass_fsm.c b/src/tbf_ul_ass_fsm.c index 00f4bfd..eab34ee 100644 --- a/src/tbf_ul_ass_fsm.c +++ b/src/tbf_ul_ass_fsm.c @@ -127,6 +127,8 @@ bts_do_rate_ctr_inc(ms->bts, CTR_PKT_UL_ASSIGNMENT); tbf_set_polling(ctx->tbf, new_poll_fn, d->ts, PDCH_ULC_POLL_UL_ASS); + LOGPTBFDL(ctx->tbf, LOGL_INFO, "Scheduled UL Assignment polling on PACCH (FN=%d, TS=%d)\n", + new_poll_fn, d->ts); talloc_free(mac_control_block); return msg; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25111 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I242f97fd6f927131ac64c1a7c9c3812b6389de04 Gerrit-Change-Number: 25111 Gerrit-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 Jul 30 12:09:41 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 30 Jul 2021 12:09:41 +0000 Subject: Change in osmo-bsc[master]: Clarify string name for GSM_CHREQ_REASON_CALL In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25096 ) Change subject: Clarify string name for GSM_CHREQ_REASON_CALL ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25096 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id2dccd71803335c284a5ba271fa7f7890d253c27 Gerrit-Change-Number: 25096 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 30 Jul 2021 12:09: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 Jul 30 12:11:51 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 30 Jul 2021 12:11:51 +0000 Subject: Change in osmo-pcu[master]: tbf: Use type bool for upgrade_to_multislot In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25102 ) Change subject: tbf: Use type bool for upgrade_to_multislot ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25102 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I644d91b6230a90cc72e83443c11d24b8d0a2dcac Gerrit-Change-Number: 25102 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 30 Jul 2021 12:11:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 30 12:17:29 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 30 Jul 2021 12:17:29 +0000 Subject: Change in simtrace2[master]: Introduce simtrace2-tool In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24574 ) Change subject: Introduce simtrace2-tool ...................................................................... Patch Set 4: I didn't test it, but I've looked at the function, and it does claim the if, just like the duplicated extra claim. -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24574 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I3a8896ac2b3caef7590b51118359e5caed820a40 Gerrit-Change-Number: 24574 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 30 Jul 2021 12:17:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 30 12:20:56 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 30 Jul 2021 12:20:56 +0000 Subject: Change in simtrace2[master]: introduce support for new ngff_cardem board In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/simtrace2/+/25082 to look at the new patch set (#5). Change subject: introduce support for new ngff_cardem board ...................................................................... introduce support for new ngff_cardem board This adds support for the new ngff_cardem board, a board that basically combines a ngff breakout board with a built-in SIMtrace2. Cardem works, but depending on the modem it might need a adjusted ATR to ensure a lower baud rate is used by the modem, high rates might lead to weird power cycling of the card after a few transfers. Trace was also tested and appears to work as expected. Change-Id: Ia96124fbe8a752c98e7fd4096d542a3b2b9bc255 --- M contrib/flash.py M contrib/simtrace.lua M firmware/apps/cardem/main.c A firmware/libboard/ngff_cardem/include/board.h A firmware/libboard/ngff_cardem/include/card_pres.h A firmware/libboard/ngff_cardem/include/wwan_led.h A firmware/libboard/ngff_cardem/include/wwan_perst.h A firmware/libboard/ngff_cardem/product_string.txt A firmware/libboard/ngff_cardem/source/board_ngff_cardem.c A firmware/libboard/ngff_cardem/source/card_pres.c A firmware/libboard/ngff_cardem/source/sim_switch.c A firmware/libboard/ngff_cardem/source/wwan_led.c A firmware/libboard/ngff_cardem/source/wwan_perst.c M firmware/libboard/simtrace/include/board.h M firmware/libcommon/include/simtrace_usb.h M firmware/libcommon/source/mode_cardemu.c M host/contrib/99-simtrace2.rules M host/lib/usb_util.c M host/src/simtrace2-sniff.c 19 files changed, 798 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/82/25082/5 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25082 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ia96124fbe8a752c98e7fd4096d542a3b2b9bc255 Gerrit-Change-Number: 25082 Gerrit-PatchSet: 5 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 30 12:21:26 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 30 Jul 2021 12:21:26 +0000 Subject: Change in simtrace2[master]: contrib: more cardem dissection 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/simtrace2/+/25086 to look at the new patch set (#5). Change subject: contrib: more cardem dissection ...................................................................... contrib: more cardem dissection Change-Id: Ia74d3674f854b390c9745a1cb8d5756bd5d39540 --- M contrib/simtrace.lua 1 file changed, 27 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/86/25086/5 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25086 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ia74d3674f854b390c9745a1cb8d5756bd5d39540 Gerrit-Change-Number: 25086 Gerrit-PatchSet: 5 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 30 12:22:36 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 30 Jul 2021 12:22:36 +0000 Subject: Change in osmo-bsc[master]: Clarify string name for GSM_CHREQ_REASON_CALL In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25096 ) Change subject: Clarify string name for GSM_CHREQ_REASON_CALL ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25096 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id2dccd71803335c284a5ba271fa7f7890d253c27 Gerrit-Change-Number: 25096 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 30 Jul 2021 12:22: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 Jul 30 12:26:20 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 30 Jul 2021 12:26:20 +0000 Subject: Change in simtrace2[master]: firmware: make the ngff beakout blink ..but only if the cardem sim is... In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/simtrace2/+/25083 to look at the new patch set (#5). Change subject: firmware: make the ngff beakout blink ..but only if the cardem sim is active ...................................................................... firmware: make the ngff beakout blink ..but only if the cardem sim is active Change-Id: I65f1fbeb06690a143ef4c792728c9cb917a4ffde --- M firmware/libboard/common/include/led.h M firmware/libboard/common/source/led.c M firmware/libboard/ngff_cardem/source/sim_switch.c 3 files changed, 11 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/83/25083/5 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25083 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I65f1fbeb06690a143ef4c792728c9cb917a4ffde Gerrit-Change-Number: 25083 Gerrit-PatchSet: 5 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 30 12:26:57 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 30 Jul 2021 12:26:57 +0000 Subject: Change in simtrace2[master]: firmware: make the ngff beakout blink ..but only if the cardem sim is... In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/simtrace2/+/25083 to look at the new patch set (#6). Change subject: firmware: make the ngff beakout blink ..but only if the cardem sim is active ...................................................................... firmware: make the ngff beakout blink ..but only if the cardem sim is active Change-Id: I65f1fbeb06690a143ef4c792728c9cb917a4ffde --- M firmware/libboard/common/include/led.h M firmware/libboard/common/source/led.c M firmware/libboard/ngff_cardem/source/sim_switch.c 3 files changed, 11 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/83/25083/6 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25083 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I65f1fbeb06690a143ef4c792728c9cb917a4ffde Gerrit-Change-Number: 25083 Gerrit-PatchSet: 6 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 30 12:49:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 30 Jul 2021 12:49:42 +0000 Subject: Change in osmo-pcu[master]: tbf: Move T3193 to tbf_state FSM References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25112 ) Change subject: tbf: Move T3193 to tbf_state FSM ...................................................................... tbf: Move T3193 to tbf_state FSM Related: OS#2709 Change-Id: Icf8249651e34132eb7ba99188a23662dec6f8653 --- M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp M src/tbf_fsm.c M src/tbf_fsm.h M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err 7 files changed, 53 insertions(+), 129 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/12/25112/1 diff --git a/src/tbf.cpp b/src/tbf.cpp index acd191b..4154d50 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -69,7 +69,6 @@ static const struct value_string tbf_timers_names[] = { OSMO_VALUE_STRING(T3141), OSMO_VALUE_STRING(T3191), - OSMO_VALUE_STRING(T3193), { 0, NULL } }; @@ -446,7 +445,6 @@ * the packet access is forgotten.*/ T_CBACK(T3141, true) T_CBACK(T3191, true) -T_CBACK(T3193, false) void gprs_rlcmac_tbf::t_start(enum tbf_timers t, int T, const char *reason, bool force, const char *file, unsigned line) @@ -495,9 +493,6 @@ case T3191: Tarr[t].cb = cb_T3191; break; - case T3193: - Tarr[t].cb = cb_T3193; - break; default: LOGPSRC(DTBF, LOGL_ERROR, file, line, "%s attempting to set callback for unknown timer %s [%s], cur_fn=%d\n", tbf_name(this), get_value_string(tbf_timers_names, t), reason, current_fn); diff --git a/src/tbf.h b/src/tbf.h index ffd6cc2..0932933 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -99,10 +99,6 @@ Wait for reuse of TFI(s) after sending the PACKET TBF RELEASE for an MBMS radio bearer. */ T3191, - /* Wait for reuse of TFI(s) after reception of the final PACKET DOWNLINK ACK/NACK from the - MS for this TBF. */ - T3193, - T_MAX }; diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 65785f2..885f0d4 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -1141,8 +1141,16 @@ int gprs_rlcmac_dl_tbf::rcvd_dl_final_ack() { + uint16_t received; + osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_FINAL_ACK_RECVD, NULL); - release(); + + /* range V(A)..V(S)-1 */ + received = m_window.count_unacked(); + /* report all outstanding packets as received */ + gprs_rlcmac_received_lost(this, received, 0); + m_tx_counter = 0; + m_window.reset(); /* check for LLC PDU in the LLC Queue */ if (llc_queue_size(llc_queue()) > 0) @@ -1152,28 +1160,6 @@ return 0; } -int gprs_rlcmac_dl_tbf::release() -{ - uint16_t received; - - /* range V(A)..V(S)-1 */ - received = m_window.count_unacked(); - - /* report all outstanding packets as received */ - gprs_rlcmac_received_lost(this, received, 0); - - /* start T3193 */ - T_START(this, T3193, 3193, "release (DL-TBF)", true); - - /* reset rlc states */ - m_tx_counter = 0; - m_window.reset(); - - osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_ASSIGN_DEL_CCCH, NULL); - - return 0; -} - int gprs_rlcmac_dl_tbf::rcvd_dl_ack(bool final_ack, unsigned first_bsn, struct bitvec *rbb) { diff --git a/src/tbf_fsm.c b/src/tbf_fsm.c index 7d6d009..e3278cc 100644 --- a/src/tbf_fsm.c +++ b/src/tbf_fsm.c @@ -43,7 +43,6 @@ const struct value_string tbf_fsm_event_names[] = { { TBF_EV_ASSIGN_ADD_CCCH, "ASSIGN_ADD_CCCH" }, { TBF_EV_ASSIGN_ADD_PACCH, "ASSIGN_ADD_PACCH" }, - { TBF_EV_ASSIGN_DEL_CCCH, "ASSIGN_DEL_CCCH" }, { TBF_EV_ASSIGN_ACK_PACCH, "ASSIGN_ACK_PACCH" }, { TBF_EV_ASSIGN_READY_CCCH, "ASSIGN_READY_CCCH" }, { TBF_EV_ASSIGN_PCUIF_CNF, "ASSIGN_PCUIF_CNF" }, @@ -267,6 +266,23 @@ } } +static void st_wait_release_on_enter(struct osmo_fsm_inst *fi, uint32_t prev_state) +{ + struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; + unsigned long val_s, val_ms, val_us; + OSMO_ASSERT(tbf_direction(ctx->tbf) == GPRS_RLCMAC_DL_TBF); + + fi->T = 3193; + val_ms = osmo_tdef_get(tbf_ms(ctx->tbf)->bts->T_defs_bts, fi->T, OSMO_TDEF_MS, -1); + val_s = val_ms / 1000; + val_us = (val_ms % 1000) * 1000; + LOGPTBF(ctx->tbf, LOGL_DEBUG, "starting timer T%u with %lu sec. %lu microsec\n", + fi->T, val_s, val_us); + osmo_timer_schedule(&fi->timer, val_s, val_us); + + mod_ass_type(ctx, GPRS_RLCMAC_FLAG_CCCH, false); +} + static void st_wait_release(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; @@ -307,13 +323,6 @@ osmo_timer_schedule(&fi->timer, val, 0); } -static void tbf_fsm_cleanup(struct osmo_fsm_inst *fi, enum osmo_fsm_term_cause cause) -{ - /* TODO: needed ? - * struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; - */ -} - static void handle_timeout_X2002(struct tbf_fsm_ctx *ctx) { struct gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(ctx->tbf); @@ -354,6 +363,7 @@ LOGPTBF(ctx->tbf, LOGL_NOTICE, "releasing due to PACCH assignment timeout.\n"); /* fall-through */ case 3169: + case 3193: case 3195: tbf_free(ctx->tbf); break; @@ -426,6 +436,7 @@ X(TBF_ST_RELEASING), .name = "WAIT_RELEASE", .action = st_wait_release, + .onenter = st_wait_release_on_enter, }, [TBF_ST_RELEASING] = { .in_event_mask = @@ -437,28 +448,13 @@ }, }; -void tbf_fsm_allstate_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) -{ - struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; - switch (event) { - case TBF_EV_ASSIGN_DEL_CCCH: - mod_ass_type(ctx, GPRS_RLCMAC_FLAG_CCCH, false); - break; - default: - OSMO_ASSERT(0); - } -} - struct osmo_fsm tbf_fsm = { .name = "TBF", .states = tbf_fsm_states, .num_states = ARRAY_SIZE(tbf_fsm_states), .timer_cb = tbf_fsm_timer_cb, - .cleanup = tbf_fsm_cleanup, .log_subsys = DTBF, .event_names = tbf_fsm_event_names, - .allstate_action = tbf_fsm_allstate_action, - .allstate_event_mask = X(TBF_EV_ASSIGN_DEL_CCCH), }; static __attribute__((constructor)) void tbf_fsm_init(void) diff --git a/src/tbf_fsm.h b/src/tbf_fsm.h index 2f63eef..d6fe41f 100644 --- a/src/tbf_fsm.h +++ b/src/tbf_fsm.h @@ -29,7 +29,6 @@ enum tbf_fsm_event { TBF_EV_ASSIGN_ADD_CCCH, /* An assignment is sent over CCCH and confirmation from MS is pending */ TBF_EV_ASSIGN_ADD_PACCH, /* An assignment is sent over PACCH and confirmation from MS is pending */ - TBF_EV_ASSIGN_DEL_CCCH, /* An assignment previously sent over CCCH has been confirmed by MS */ TBF_EV_ASSIGN_ACK_PACCH, /* We received a CTRL ACK confirming assignment started on PACCH */ TBF_EV_ASSIGN_READY_CCCH, /* TBF Start Time timer triggered */ TBF_EV_ASSIGN_PCUIF_CNF, /* Transmission of IMM.ASS for DL TBF to the MS confirmed by BTS over PCUIF */ diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index 62a2582..ae12f1e 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -89,7 +89,7 @@ { OSMO_ASSERT(tbf); if (tbf->state_is(TBF_ST_WAIT_RELEASE)) - OSMO_ASSERT(tbf->timers_pending(T3191) || tbf->timers_pending(T3193)); + OSMO_ASSERT(tbf->timers_pending(T3191) || osmo_timer_pending(&tbf->state_fsm.fi->timer)); if (tbf->state_is(TBF_ST_RELEASING)) OSMO_ASSERT(tbf->timers_pending(T_MAX)); } diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index afc5a8f..a211d22 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -116,8 +116,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) starting timer T3193 with 0 sec. 100000 microsec MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0, DL) ********** DL-TBF starts here ********** MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0, DL) Allocating DL TBF TBF{NULL}: Allocated @@ -145,7 +144,6 @@ TBF(DL-TFI_1){NULL}: state_chg to ASSIGN TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=ASSIGN) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE), 1 TBFs, USFs = 00, TFIs = 00000002. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0, DL) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) ********** DL-TBF ends here ********** @@ -231,8 +229,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) starting timer T3193 with 0 sec. 100000 microsec MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0, DL) ********** DL-TBF starts here ********** MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0, DL) Allocating DL TBF TBF{NULL}: Allocated @@ -267,7 +264,6 @@ UL_ASS_TBF(DL-TFI_1){NONE}: Deallocated DL_ASS_TBF(DL-TFI_1){NONE}: Deallocated TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) ********** DL-TBF ends here ********** @@ -534,10 +530,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) Final ACK received. TBF(DL-TFI_0){FINISHED}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FINISHED}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) starting timer T3193 with 0 sec. 100000 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0,) Destroying MS object @@ -3233,8 +3227,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Final ACK received. TBF(DL-TFI_0){FINISHED}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FINISHED}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT_RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654379 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT_RELEASE) starting timer T3193 with 0 sec. 100000 microsec MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL DL) ********** DL-TBF starts here ********** MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL DL) Allocating DL TBF TBF{NULL}: Allocated @@ -3346,7 +3339,6 @@ DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: Received Event RX_ASS_CTRL_ACK DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: state_chg to NONE TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT_RELEASE) free -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT_RELEASE) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=7) Detaching TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT_RELEASE), 1 TBFs, USFs = 01, TFIs = 00000002. MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL DL) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT_RELEASE) ********** DL-TBF ends here ********** @@ -4322,10 +4314,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=112 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object @@ -4582,10 +4572,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=91 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object @@ -4802,10 +4790,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=69 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object @@ -5006,10 +4992,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=60 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object @@ -5194,10 +5178,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=52 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object @@ -5358,10 +5340,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=39 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object @@ -5531,10 +5511,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=34 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object @@ -5695,10 +5673,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=30 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object @@ -5848,10 +5824,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=26 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object @@ -5923,10 +5897,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=58 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object @@ -5995,10 +5967,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=58 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object @@ -6067,10 +6037,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=58 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object @@ -6163,10 +6131,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=63 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object @@ -6258,10 +6224,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=63 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object @@ -6353,10 +6317,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=63 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object @@ -6448,10 +6410,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=63 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object @@ -6529,10 +6489,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object @@ -6608,10 +6566,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object @@ -6687,10 +6643,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object @@ -6773,10 +6727,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25112 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Icf8249651e34132eb7ba99188a23662dec6f8653 Gerrit-Change-Number: 25112 Gerrit-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 Jul 30 12:50:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 30 Jul 2021 12:50:08 +0000 Subject: Change in osmo-bsc[master]: Clarify string name for GSM_CHREQ_REASON_CALL In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25096 ) Change subject: Clarify string name for GSM_CHREQ_REASON_CALL ...................................................................... Clarify string name for GSM_CHREQ_REASON_CALL The previous naming was confusing since when appearing on log files it seemed to mean the reason was mainly only call reestablishment, when it actually means either call establishment (the usual reason) OR call re-establishment (should happen seldomly). Let's add some parenthesis to make it clearer. Related: SYS#5548 Change-Id: Id2dccd71803335c284a5ba271fa7f7890d253c27 --- M src/osmo-bsc/gsm_data.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve Hoernchen: Looks good to me, approved diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index 7140ad7..4db70f0 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -172,7 +172,7 @@ const struct value_string gsm_chreq_descs[] = { { GSM_CHREQ_REASON_EMERG, "emergency call" }, { GSM_CHREQ_REASON_PAG, "answer to paging" }, - { GSM_CHREQ_REASON_CALL, "call re-establishment" }, + { GSM_CHREQ_REASON_CALL, "call (re-)establishment" }, { GSM_CHREQ_REASON_LOCATION_UPD,"Location updating" }, { GSM_CHREQ_REASON_PDCH, "one phase packet access" }, { GSM_CHREQ_REASON_OTHER, "other" }, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25096 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id2dccd71803335c284a5ba271fa7f7890d253c27 Gerrit-Change-Number: 25096 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter 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 Jul 30 12:52:48 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 30 Jul 2021 12:52:48 +0000 Subject: Change in osmo-msc[master]: add vlr_subscr_find_by_mi In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/25075 ) Change subject: add vlr_subscr_find_by_mi ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25075 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I5291d098a02268bd1c2e30195ae61e4a13e8709c Gerrit-Change-Number: 25075 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 30 Jul 2021 12:52:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 30 12:55:04 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 30 Jul 2021 12:55:04 +0000 Subject: Change in osmo-pcu[master]: Move timer X2002 to tbf_fsm In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25104 ) Change subject: Move timer X2002 to tbf_fsm ...................................................................... Patch Set 1: (3 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/25104/1/src/tbf_fsm.c File src/tbf_fsm.c: https://gerrit.osmocom.org/c/osmo-pcu/+/25104/1/src/tbf_fsm.c at 212 PS1, Line 212: LOGPTBF(ctx->tbf, LOGL_DEBUG, "Re-send dowlink assignment on PCH (IMSI=%s)\n", dowlink -> downlink? This typo was copied over from the other place. Maybe add a new commit that fixes it? it's three times in the code apparently. https://gerrit.osmocom.org/c/osmo-pcu/+/25104/1/src/tbf_fsm.c at 214 PS1, Line 214: tbf_fsm_state_chg(fi, TBF_ST_ASSIGN); just curious, why is this not at the bottom of the if block? tbf_fsm_state_chg(fi, TBF_ST_ASSIGN); } break; https://gerrit.osmocom.org/c/osmo-pcu/+/25104/1/src/tbf_fsm.c at 404 PS1, Line 404: X(TBF_ST_RELEASING), I think TBF_ST_ASSIGN needs to be added to out_state_mask -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25104 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I94b71c60ed49d51ebdf6d6b428056b4b94354676 Gerrit-Change-Number: 25104 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-Comment-Date: Fri, 30 Jul 2021 12:55: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 Fri Jul 30 13:02:03 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 30 Jul 2021 13:02:03 +0000 Subject: Change in osmo-pcu[master]: Move timer X2002 to tbf_fsm In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25104 ) Change subject: Move timer X2002 to tbf_fsm ...................................................................... Patch Set 1: Code-Review-1 (3 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/25104/1/src/tbf_fsm.c File src/tbf_fsm.c: https://gerrit.osmocom.org/c/osmo-pcu/+/25104/1/src/tbf_fsm.c at 212 PS1, Line 212: LOGPTBF(ctx->tbf, LOGL_DEBUG, "Re-send dowlink assignment on PCH (IMSI=%s)\n", > dowlink -> downlink? [?] Ack https://gerrit.osmocom.org/c/osmo-pcu/+/25104/1/src/tbf_fsm.c at 214 PS1, Line 214: tbf_fsm_state_chg(fi, TBF_ST_ASSIGN); > just curious, why is this not at the bottom of the if block? [?] In principle it should not matter, it just felt more "secure" or more "understandable" to move to state ASSIGN and not in state FLOW when sending the assignment. https://gerrit.osmocom.org/c/osmo-pcu/+/25104/1/src/tbf_fsm.c at 404 PS1, Line 404: X(TBF_ST_RELEASING), > I think TBF_ST_ASSIGN needs to be added to out_state_mask ACK thanks! -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25104 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I94b71c60ed49d51ebdf6d6b428056b4b94354676 Gerrit-Change-Number: 25104 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: osmith Gerrit-Comment-Date: Fri, 30 Jul 2021 13:02:03 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 30 13:03:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 30 Jul 2021 13:03:28 +0000 Subject: Change in osmo-pcu[master]: fix typo 's/dowlink/downlink/g' References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25113 ) Change subject: fix typo 's/dowlink/downlink/g' ...................................................................... fix typo 's/dowlink/downlink/g' Change-Id: Iae66aff9eed3856f09e58116ee26ec061733b076 --- M doc/tbf.txt M src/tbf_dl.cpp M src/tbf_fsm.c M tests/tbf/TbfTest.err 4 files changed, 53 insertions(+), 53 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/13/25113/1 diff --git a/doc/tbf.txt b/doc/tbf.txt index 6abcb0b..caddf63 100644 --- a/doc/tbf.txt +++ b/doc/tbf.txt @@ -52,7 +52,7 @@ Attach PDU to LLC Frame of TBF. Put TBF back into FLOW state. Done. - If dowlink TBF does not exists for given TLLI, or in RELEASING state: + If downlink TBF does not exists for given TLLI, or in RELEASING state: Create new downlink TBF. Attach PDU to LLC Frame of TBF. If uplink TBF exists for given TLLI, but not in RELEASING state: diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 885f0d4..05d5ad3 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -605,13 +605,13 @@ /* check for downlink tbf: */ if (old_tbf) { - LOGPTBFDL(this, LOGL_DEBUG, "Send dowlink assignment on PACCH, because %s exists\n", old_tbf->name()); + LOGPTBFDL(this, LOGL_DEBUG, "Send downlink assignment on PACCH, because %s exists\n", old_tbf->name()); osmo_fsm_inst_dispatch(old_tbf->dl_ass_fsm.fi, TBF_DL_ASS_EV_SCHED_ASS, NULL); /* change state */ osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_ASSIGN_ADD_PACCH, NULL); } else { - LOGPTBFDL(this, LOGL_DEBUG, "Send dowlink assignment on PCH, no TBF exist (IMSI=%s)\n", + LOGPTBFDL(this, LOGL_DEBUG, "Send downlink assignment on PCH, no TBF exist (IMSI=%s)\n", imsi()); /* change state */ diff --git a/src/tbf_fsm.c b/src/tbf_fsm.c index e3278cc..2bd4303 100644 --- a/src/tbf_fsm.c +++ b/src/tbf_fsm.c @@ -208,7 +208,7 @@ struct GprsMs *ms = tbf_ms(ctx->tbf); const char *imsi = ms_imsi(ms); uint16_t pgroup; - LOGPTBF(ctx->tbf, LOGL_DEBUG, "Re-send dowlink assignment on PCH (IMSI=%s)\n", + LOGPTBF(ctx->tbf, LOGL_DEBUG, "Re-send downlink assignment on PCH (IMSI=%s)\n", imsi); tbf_fsm_state_chg(fi, TBF_ST_ASSIGN); /* send immediate assignment */ diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index a211d22..9ba9dea 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -136,7 +136,7 @@ TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0, DL) Attaching DL TBF: TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) Trigger downlink assignment on PACCH -TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) exists +TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) Send downlink assignment on PACCH, because TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) exists DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: Received Event SCHED_ASS DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: Event SCHED_ASS not permitted TBF(DL-TFI_1){NULL}: Received Event ASSIGN_ADD_PACCH @@ -249,7 +249,7 @@ TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0, DL) Attaching DL TBF: TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) Trigger downlink assignment on PACCH -TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) exists +TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) Send downlink assignment on PACCH, because TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) exists DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: Received Event SCHED_ASS DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: Event SCHED_ASS not permitted TBF(DL-TFI_1){NULL}: Received Event ASSIGN_ADD_PACCH @@ -653,7 +653,7 @@ TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0000000, IMSI=001001000000000, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000000) +TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000000) TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_0){NULL}: state_chg to ASSIGN @@ -683,7 +683,7 @@ TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0000001, IMSI=001001000000001, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=NULL) TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000001) +TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000001) TBF(DL-TFI_1){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_1){NULL}: state_chg to ASSIGN @@ -713,7 +713,7 @@ TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0000002, IMSI=001001000000002, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=NULL) TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000002) +TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000002) TBF(DL-TFI_2){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_2){NULL}: state_chg to ASSIGN @@ -743,7 +743,7 @@ TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0000003, IMSI=001001000000003, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=NULL) TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000003) +TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000003) TBF(DL-TFI_3){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_3){NULL}: state_chg to ASSIGN @@ -773,7 +773,7 @@ TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0000004, IMSI=001001000000004, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=NULL) TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000004) +TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000004) TBF(DL-TFI_4){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_4){NULL}: state_chg to ASSIGN @@ -803,7 +803,7 @@ TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0000005, IMSI=001001000000005, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=NULL) TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000005) +TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000005) TBF(DL-TFI_5){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_5){NULL}: state_chg to ASSIGN @@ -833,7 +833,7 @@ TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0000006, IMSI=001001000000006, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=NULL) TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000006) +TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000006) TBF(DL-TFI_6){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_6){NULL}: state_chg to ASSIGN @@ -863,7 +863,7 @@ TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0000007, IMSI=001001000000007, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=NULL) TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000007) +TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000007) TBF(DL-TFI_7){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_7){NULL}: state_chg to ASSIGN @@ -893,7 +893,7 @@ TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0000008, IMSI=001001000000008, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=NULL) TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000008) +TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000008) TBF(DL-TFI_8){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_8){NULL}: state_chg to ASSIGN @@ -923,7 +923,7 @@ TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0000009, IMSI=001001000000009, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=NULL) TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000009) +TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000009) TBF(DL-TFI_9){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_9){NULL}: state_chg to ASSIGN @@ -953,7 +953,7 @@ TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc000000a, IMSI=001001000000010, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=NULL) TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000010) +TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000010) TBF(DL-TFI_10){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_10){NULL}: state_chg to ASSIGN @@ -983,7 +983,7 @@ TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc000000b, IMSI=001001000000011, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=NULL) TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000011) +TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000011) TBF(DL-TFI_11){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_11){NULL}: state_chg to ASSIGN @@ -1013,7 +1013,7 @@ TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc000000c, IMSI=001001000000012, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=NULL) TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000012) +TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000012) TBF(DL-TFI_12){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_12){NULL}: state_chg to ASSIGN @@ -1043,7 +1043,7 @@ TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc000000d, IMSI=001001000000013, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=NULL) TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000013) +TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000013) TBF(DL-TFI_13){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_13){NULL}: state_chg to ASSIGN @@ -1073,7 +1073,7 @@ TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc000000e, IMSI=001001000000014, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=NULL) TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000014) +TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000014) TBF(DL-TFI_14){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_14){NULL}: state_chg to ASSIGN @@ -1103,7 +1103,7 @@ TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc000000f, IMSI=001001000000015, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=NULL) TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000015) +TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000015) TBF(DL-TFI_15){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_15){NULL}: state_chg to ASSIGN @@ -1133,7 +1133,7 @@ TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0000010, IMSI=001001000000016, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=NULL) TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000016) +TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000016) TBF(DL-TFI_16){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_16){NULL}: state_chg to ASSIGN @@ -1163,7 +1163,7 @@ TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0000011, IMSI=001001000000017, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=NULL) TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000017) +TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000017) TBF(DL-TFI_17){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_17){NULL}: state_chg to ASSIGN @@ -1193,7 +1193,7 @@ TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0000012, IMSI=001001000000018, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=NULL) TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000018) +TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000018) TBF(DL-TFI_18){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_18){NULL}: state_chg to ASSIGN @@ -1223,7 +1223,7 @@ TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0000013, IMSI=001001000000019, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=NULL) TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000019) +TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000019) TBF(DL-TFI_19){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_19){NULL}: state_chg to ASSIGN @@ -1253,7 +1253,7 @@ TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0000014, IMSI=001001000000020, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=NULL) TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000020) +TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000020) TBF(DL-TFI_20){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_20){NULL}: state_chg to ASSIGN @@ -1283,7 +1283,7 @@ TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0000015, IMSI=001001000000021, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=NULL) TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000021) +TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000021) TBF(DL-TFI_21){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_21){NULL}: state_chg to ASSIGN @@ -1313,7 +1313,7 @@ TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0000016, IMSI=001001000000022, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=NULL) TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000022) +TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000022) TBF(DL-TFI_22){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_22){NULL}: state_chg to ASSIGN @@ -1343,7 +1343,7 @@ TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0000017, IMSI=001001000000023, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=NULL) TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000023) +TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000023) TBF(DL-TFI_23){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_23){NULL}: state_chg to ASSIGN @@ -1373,7 +1373,7 @@ TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0000018, IMSI=001001000000024, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=NULL) TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000024) +TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000024) TBF(DL-TFI_24){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_24){NULL}: state_chg to ASSIGN @@ -1403,7 +1403,7 @@ TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0000019, IMSI=001001000000025, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=NULL) TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000025) +TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000025) TBF(DL-TFI_25){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_25){NULL}: state_chg to ASSIGN @@ -1433,7 +1433,7 @@ TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc000001a, IMSI=001001000000026, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=NULL) TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000026) +TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000026) TBF(DL-TFI_26){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_26){NULL}: state_chg to ASSIGN @@ -1463,7 +1463,7 @@ TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc000001b, IMSI=001001000000027, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=NULL) TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000027) +TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000027) TBF(DL-TFI_27){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_27){NULL}: state_chg to ASSIGN @@ -1493,7 +1493,7 @@ TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc000001c, IMSI=001001000000028, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=NULL) TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000028) +TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000028) TBF(DL-TFI_28){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_28){NULL}: state_chg to ASSIGN @@ -1523,7 +1523,7 @@ TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc000001d, IMSI=001001000000029, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=NULL) TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000029) +TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000029) TBF(DL-TFI_29){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_29){NULL}: state_chg to ASSIGN @@ -1553,7 +1553,7 @@ TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc000001e, IMSI=001001000000030, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=NULL) TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000030) +TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000030) TBF(DL-TFI_30){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_30){NULL}: state_chg to ASSIGN @@ -1583,7 +1583,7 @@ TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc000001f, IMSI=001001000000031, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=NULL) TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000031) +TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000031) TBF(DL-TFI_31){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_31){NULL}: state_chg to ASSIGN @@ -1632,7 +1632,7 @@ TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0123456, IMSI=001001000123456, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000123456) +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000123456) TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_0){NULL}: state_chg to ASSIGN @@ -1669,7 +1669,7 @@ MS(TLLI=0xc0123456, IMSI=001001000123456, TA=0, 45/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) MS(TLLI=0xc0123456, IMSI=001001000123456, TA=0, 45/0, DL) Cancel scheduled MS release TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000123456) +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000123456) TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_0){NULL}: state_chg to ASSIGN @@ -1790,7 +1790,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 0/0, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=0011223344) +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=0011223344) TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_0){NULL}: state_chg to ASSIGN @@ -1888,7 +1888,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) exists +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Send downlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) exists DL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS DL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH @@ -1986,7 +1986,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) exists +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Send downlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) exists DL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS DL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH @@ -2252,7 +2252,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) exists +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Send downlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) exists DL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS DL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH @@ -2425,7 +2425,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) exists +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Send downlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) exists DL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS DL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH @@ -2596,7 +2596,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) exists +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Send downlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) exists DL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS DL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH @@ -3247,7 +3247,7 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL DL) Attaching DL TBF: TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT_RELEASE) Trigger downlink assignment on PACCH -TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=NULL) Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT_RELEASE) exists +TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=NULL) Send downlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT_RELEASE) exists DL_ASS_TBF(DL-TFI_0){NONE}: Received Event SCHED_ASS DL_ASS_TBF(DL-TFI_0){NONE}: state_chg to SEND_ASS TBF(DL-TFI_1){NULL}: Received Event ASSIGN_ADD_PACCH @@ -3579,7 +3579,7 @@ TBF(TFI=0 TLLI=0xc0006789 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0006789, IMSI=001001123456789, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xc0006789 DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xc0006789 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=0 TLLI=0xc0006789 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001123456789) +TBF(TFI=0 TLLI=0xc0006789 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001123456789) TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=0 TLLI=0xc0006789 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_0){NULL}: state_chg to ASSIGN @@ -3775,7 +3775,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) [DOWNLINK] START -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) exists +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) Send downlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) exists DL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS DL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH @@ -4005,7 +4005,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) [DOWNLINK] START -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) exists +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) Send downlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) exists DL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS DL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH @@ -6858,7 +6858,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) [DOWNLINK] START -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) exists +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) Send downlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) exists DL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS DL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH @@ -7036,7 +7036,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) [DOWNLINK] START -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) exists +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) Send downlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) exists DL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS DL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH @@ -7915,7 +7915,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 192, base(128) slots(1) ws_pdch(64) ws(192) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) [DOWNLINK] START -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) exists +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) Send downlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) exists DL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS DL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25113 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iae66aff9eed3856f09e58116ee26ec061733b076 Gerrit-Change-Number: 25113 Gerrit-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 Jul 30 13:03:51 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 30 Jul 2021 13:03:51 +0000 Subject: Change in osmo-pcu[master]: Move timer X2002 to tbf_fsm In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25104 ) Change subject: Move timer X2002 to tbf_fsm ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/25104/1/src/tbf_fsm.c File src/tbf_fsm.c: https://gerrit.osmocom.org/c/osmo-pcu/+/25104/1/src/tbf_fsm.c at 212 PS1, Line 212: LOGPTBF(ctx->tbf, LOGL_DEBUG, "Re-send dowlink assignment on PCH (IMSI=%s)\n", > Ack Fixed here: https://gerrit.osmocom.org/c/osmo-pcu/+/25113 fix typo 's/dowlink/downlink/g' -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25104 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I94b71c60ed49d51ebdf6d6b428056b4b94354676 Gerrit-Change-Number: 25104 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: osmith Gerrit-Comment-Date: Fri, 30 Jul 2021 13:03:51 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: osmith 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 Jul 30 13:06:27 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 30 Jul 2021 13:06:27 +0000 Subject: Change in osmo-pcu[master]: tbf_dl: Clarify requirements for DL ACK/NACK In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25105 ) Change subject: tbf_dl: Clarify requirements for DL ACK/NACK ...................................................................... Patch Set 1: Code-Review+1 (2 comments) just some nitpicks https://gerrit.osmocom.org/c/osmo-pcu/+/25105/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-pcu/+/25105/1//COMMIT_MSG at 15 PS1, Line 15: the code. (seems like two logical changes at once... but given that the total patch size is still small I guess it's fine here) https://gerrit.osmocom.org/c/osmo-pcu/+/25105/1/src/tbf_dl.cpp File src/tbf_dl.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/25105/1/src/tbf_dl.cpp at 1214 PS1, Line 1214: * when last polled DL ACK/NACK was lost. */ (it would be nicer to describe the conditions in the same order as below.) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25105 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib0e9b9547f5292b95064bab2dc182fdf659f0518 Gerrit-Change-Number: 25105 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 30 Jul 2021 13: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 Fri Jul 30 13:09:40 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 30 Jul 2021 13:09:40 +0000 Subject: Change in osmo-pcu[master]: Move timer X2002 to tbf_fsm In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/25104 to look at the new patch set (#2). Change subject: Move timer X2002 to tbf_fsm ...................................................................... Move timer X2002 to tbf_fsm Related: OS#2709 Change-Id: I94b71c60ed49d51ebdf6d6b428056b4b94354676 --- M src/bts.cpp M src/gprs_rlcmac_sched.cpp M src/pdch.cpp M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp M src/tbf_dl.h M src/tbf_fsm.c M src/tbf_fsm.h M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err 11 files changed, 134 insertions(+), 86 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/04/25104/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25104 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I94b71c60ed49d51ebdf6d6b428056b4b94354676 Gerrit-Change-Number: 25104 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 30 13:11:57 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 30 Jul 2021 13:11:57 +0000 Subject: Change in osmo-pcu[master]: tbf.h: Improve documentation on several flags In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25106 ) Change subject: tbf.h: Improve documentation on several flags ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25106 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ice2c164ced039fb4ab621d8f7c2fb85f8348788a Gerrit-Change-Number: 25106 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 30 Jul 2021 13:11: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 Jul 30 13:12:19 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 30 Jul 2021 13:12:19 +0000 Subject: Change in osmo-pcu[master]: tbf_dl: Clarify requirements for DL ACK/NACK In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25105 ) Change subject: tbf_dl: Clarify requirements for DL ACK/NACK ...................................................................... Patch Set 2: It's true that it could be split into 2 different patches, but IMHO it wouldn't really improve the situation in any way, and the amount of patches is already quite high :) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25105 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib0e9b9547f5292b95064bab2dc182fdf659f0518 Gerrit-Change-Number: 25105 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 30 Jul 2021 13:12:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 30 13:12:50 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 30 Jul 2021 13:12:50 +0000 Subject: Change in osmo-pcu[master]: Move timer X2002 to tbf_fsm In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25104 ) Change subject: Move timer X2002 to tbf_fsm ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25104 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I94b71c60ed49d51ebdf6d6b428056b4b94354676 Gerrit-Change-Number: 25104 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 30 Jul 2021 13:12:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 30 14:02:57 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 30 Jul 2021 14:02:57 +0000 Subject: Change in osmo-pcu[master]: Move tbf ul_ack_state to osmocom FSM In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25108 ) Change subject: Move tbf ul_ack_state to osmocom FSM ...................................................................... Patch Set 4: (3 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/25108/4/src/gprs_rlcmac_sched.cpp File src/gprs_rlcmac_sched.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/25108/4/src/gprs_rlcmac_sched.cpp at 176 PS4, Line 176: //msg = tbfs->ul_ack->create_ul_ack(fn, ts); looks like it's not on purpose? https://gerrit.osmocom.org/c/osmo-pcu/+/25108/4/src/tbf_ul.h File src/tbf_ul.h: https://gerrit.osmocom.org/c/osmo-pcu/+/25108/4/src/tbf_ul.h at a58 PS4, Line 58: bool ctrl_ack_to_toggle(); can be deleted https://gerrit.osmocom.org/c/osmo-pcu/+/25108/4/src/tbf_ul_ack_fsm.c File src/tbf_ul_ack_fsm.c: https://gerrit.osmocom.org/c/osmo-pcu/+/25108/4/src/tbf_ul_ack_fsm.c at 253 PS4, Line 253: /* FIXME: validate FN and TS match: && ctx->poll_fn = fn && ctx->poll_ts == ts */ * indentation * is this out of scope for the patch? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25108 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Icf23bf5a4b85fbcbf1542cebceb76b9ba7185d30 Gerrit-Change-Number: 25108 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-Comment-Date: Fri, 30 Jul 2021 14:02: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 Fri Jul 30 14:08:37 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 30 Jul 2021 14:08:37 +0000 Subject: Change in osmo-pcu[master]: Simplify tbf::set_polling() In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25111 ) Change subject: Simplify tbf::set_polling() ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/25111/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-pcu/+/25111/2//COMMIT_MSG at 11 PS2, Line 11: ase case -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25111 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I242f97fd6f927131ac64c1a7c9c3812b6389de04 Gerrit-Change-Number: 25111 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 30 Jul 2021 14:08:37 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 30 14:25:24 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 30 Jul 2021 14:25:24 +0000 Subject: Change in osmo-pcu[master]: tbf: Move T3193 to tbf_state FSM In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25112 ) Change subject: tbf: Move T3193 to tbf_state FSM ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25112 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Icf8249651e34132eb7ba99188a23662dec6f8653 Gerrit-Change-Number: 25112 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 30 Jul 2021 14:25: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 Jul 30 14:26:11 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 30 Jul 2021 14:26:11 +0000 Subject: Change in osmo-pcu[master]: fix typo 's/dowlink/downlink/g' In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25113 ) Change subject: fix typo 's/dowlink/downlink/g' ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25113 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iae66aff9eed3856f09e58116ee26ec061733b076 Gerrit-Change-Number: 25113 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 30 Jul 2021 14: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 Jul 30 14:30:35 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 30 Jul 2021 14:30:35 +0000 Subject: Change in simtrace2[master]: introduce support for new ngff_cardem board In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/25082 ) Change subject: introduce support for new ngff_cardem board ...................................................................... Patch Set 7: Code-Review+1 new board is still not mentioned in readme, but this could also be done later. -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25082 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ia96124fbe8a752c98e7fd4096d542a3b2b9bc255 Gerrit-Change-Number: 25082 Gerrit-PatchSet: 7 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 30 Jul 2021 14:30: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 Jul 30 14:36:41 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 30 Jul 2021 14:36:41 +0000 Subject: Change in simtrace2[master]: firmware: make the ngff beakout blink ..but only if the cardem sim is... In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/25083 ) Change subject: firmware: make the ngff beakout blink ..but only if the cardem sim is active ...................................................................... Patch Set 8: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/simtrace2/+/25083/4//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/simtrace2/+/25083/4//COMMIT_MSG at 8 PS4, Line 8: > I'd mention that it blinks now when switching to remote/emulated SIM. there should be a blank line after commit message subject -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25083 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I65f1fbeb06690a143ef4c792728c9cb917a4ffde Gerrit-Change-Number: 25083 Gerrit-PatchSet: 8 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 30 Jul 2021 14:36:41 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 30 14:38:04 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 30 Jul 2021 14:38:04 +0000 Subject: Change in simtrace2[master]: contrib: more cardem dissection In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/25086 ) Change subject: contrib: more cardem dissection ...................................................................... Patch Set 7: (1 comment) https://gerrit.osmocom.org/c/simtrace2/+/25086/4/contrib/simtrace.lua File contrib/simtrace.lua: https://gerrit.osmocom.org/c/simtrace2/+/25086/4/contrib/simtrace.lua at 44 PS4, Line 44: Data > (data) oh I meant "data", lowercase (because above data is also written lowercase). I put it in () because it's just a nitpick. -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25086 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ia74d3674f854b390c9745a1cb8d5756bd5d39540 Gerrit-Change-Number: 25086 Gerrit-PatchSet: 7 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 30 Jul 2021 14:38:04 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 30 15:04:01 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 30 Jul 2021 15:04:01 +0000 Subject: Change in osmo-pcu[master]: Move tbf ul_ack_state to osmocom FSM In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25108 ) Change subject: Move tbf ul_ack_state to osmocom FSM ...................................................................... Patch Set 4: (2 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/25108/4/src/gprs_rlcmac_sched.cpp File src/gprs_rlcmac_sched.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/25108/4/src/gprs_rlcmac_sched.cpp at 176 PS4, Line 176: //msg = tbfs->ul_ack->create_ul_ack(fn, ts); > looks like it's not on purpose? Ack https://gerrit.osmocom.org/c/osmo-pcu/+/25108/4/src/tbf_ul_ack_fsm.c File src/tbf_ul_ack_fsm.c: https://gerrit.osmocom.org/c/osmo-pcu/+/25108/4/src/tbf_ul_ack_fsm.c at 253 PS4, Line 253: /* FIXME: validate FN and TS match: && ctx->poll_fn = fn && ctx->poll_ts == ts */ > * indentation [?] Yes, it's out of the scope since it was not done beforehand. I'm just adding it here to remember in the future to add this kind of checks in the future (I already do it for instance in NACC FSM). It's easy to do it, but doing so would change the logic or add further restrictions which would show up a bug, and I'm not willing to change behavior in this patchset. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25108 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Icf23bf5a4b85fbcbf1542cebceb76b9ba7185d30 Gerrit-Change-Number: 25108 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-Comment-Date: Fri, 30 Jul 2021 15:04:01 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 30 15:05:59 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 30 Jul 2021 15:05:59 +0000 Subject: Change in osmo-pcu[master]: Move tbf ul_ack_state to osmocom FSM In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/25108 to look at the new patch set (#5). Change subject: Move tbf ul_ack_state to osmocom FSM ...................................................................... Move tbf ul_ack_state to osmocom FSM Related: OS#2709 Change-Id: Icf23bf5a4b85fbcbf1542cebceb76b9ba7185d30 --- M src/Makefile.am M src/encoding.cpp M src/encoding.h M src/gprs_rlcmac_sched.cpp M src/pdch.cpp M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp M src/tbf_ul.cpp M src/tbf_ul.h A src/tbf_ul_ack_fsm.c A src/tbf_ul_ack_fsm.h M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err M tests/types/TypesTest.cpp M tests/types/TypesTest.err 16 files changed, 489 insertions(+), 173 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/08/25108/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25108 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Icf23bf5a4b85fbcbf1542cebceb76b9ba7185d30 Gerrit-Change-Number: 25108 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 30 15:05:59 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 30 Jul 2021 15:05:59 +0000 Subject: Change in osmo-pcu[master]: Simplify tbf::set_polling() 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/+/25111 to look at the new patch set (#3). Change subject: Simplify tbf::set_polling() ...................................................................... Simplify tbf::set_polling() When setting a POLL, it will always happen on PACCH, so all the CCCH part makes no sense there. Let's drop it and move the logging of each case to the caller, where logging file+line is more useful. Change-Id: I242f97fd6f927131ac64c1a7c9c3812b6389de04 --- M src/nacc_fsm.c M src/tbf.cpp M src/tbf_dl.cpp M src/tbf_dl.h M src/tbf_dl_ass_fsm.c M src/tbf_ul_ack_fsm.c M src/tbf_ul_ass_fsm.c 7 files changed, 20 insertions(+), 46 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/11/25111/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25111 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I242f97fd6f927131ac64c1a7c9c3812b6389de04 Gerrit-Change-Number: 25111 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 30 15:46:59 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 30 Jul 2021 15:46:59 +0000 Subject: Change in osmo-pcu[master]: Simplify tbf::set_polling() In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25111 ) Change subject: Simplify tbf::set_polling() ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25111 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I242f97fd6f927131ac64c1a7c9c3812b6389de04 Gerrit-Change-Number: 25111 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 30 Jul 2021 15: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 Fri Jul 30 15:48:14 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 30 Jul 2021 15:48:14 +0000 Subject: Change in osmo-pcu[master]: Move tbf ul_ack_state to osmocom FSM In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25108 ) Change subject: Move tbf ul_ack_state to osmocom FSM ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25108 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Icf23bf5a4b85fbcbf1542cebceb76b9ba7185d30 Gerrit-Change-Number: 25108 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 30 Jul 2021 15: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 Fri Jul 30 16:28:58 2021 From: gerrit-no-reply at lists.osmocom.org (roh) Date: Fri, 30 Jul 2021 16:28:58 +0000 Subject: Change in osmo-ccid-firmware[master]: add script to generate a inititial osmo-bankd slotconfig sorted by us... 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/+/25062 to look at the new patch set (#2). Change subject: add script to generate a inititial osmo-bankd slotconfig sorted by usb path ...................................................................... add script to generate a inititial osmo-bankd slotconfig sorted by usb path Change-Id: Ibb5e7db78c8a2129d2093b0dd5ecaa7c13ab9ee3 --- A contrib/gen_bankd_pcsc_slots-csv.sh 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/62/25062/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/25062 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: Ibb5e7db78c8a2129d2093b0dd5ecaa7c13ab9ee3 Gerrit-Change-Number: 25062 Gerrit-PatchSet: 2 Gerrit-Owner: roh Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 30 16:29:49 2021 From: gerrit-no-reply at lists.osmocom.org (roh) Date: Fri, 30 Jul 2021 16:29:49 +0000 Subject: Change in osmo-ccid-firmware[master]: add script to generate a inititial osmo-bankd slotconfig sorted by us... 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/+/25062 to look at the new patch set (#3). Change subject: add script to generate a inititial osmo-bankd slotconfig sorted by usb path ...................................................................... add script to generate a inititial osmo-bankd slotconfig sorted by usb path Change-Id: Ibb5e7db78c8a2129d2093b0dd5ecaa7c13ab9ee3 --- A contrib/gen_bankd_pcsc_slots-csv.sh 1 file changed, 19 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/62/25062/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/25062 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: Ibb5e7db78c8a2129d2093b0dd5ecaa7c13ab9ee3 Gerrit-Change-Number: 25062 Gerrit-PatchSet: 3 Gerrit-Owner: roh Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Jul 30 16:34:04 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 30 Jul 2021 16:34:04 +0000 Subject: Change in osmo-ccid-firmware[master]: add script to generate a inititial osmo-bankd slotconfig sorted by us... In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/25062 ) Change subject: add script to generate a inititial osmo-bankd slotconfig sorted by usb path ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/25062 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: Ibb5e7db78c8a2129d2093b0dd5ecaa7c13ab9ee3 Gerrit-Change-Number: 25062 Gerrit-PatchSet: 3 Gerrit-Owner: roh Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 30 Jul 2021 16:34: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 Sat Jul 31 16:57:50 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sat, 31 Jul 2021 16:57:50 +0000 Subject: Change in simtrace2[master]: firmware: make the ngff beakout blink 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/simtrace2/+/25083 to look at the new patch set (#9). Change subject: firmware: make the ngff beakout blink ...................................................................... firmware: make the ngff beakout blink ..but only if the cardem sim is active Change-Id: I65f1fbeb06690a143ef4c792728c9cb917a4ffde --- M firmware/libboard/common/include/led.h M firmware/libboard/common/source/led.c M firmware/libboard/ngff_cardem/source/sim_switch.c 3 files changed, 11 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/83/25083/9 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25083 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I65f1fbeb06690a143ef4c792728c9cb917a4ffde Gerrit-Change-Number: 25083 Gerrit-PatchSet: 9 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: